Obtenez DrawObject et Bound lors du rendu au format PDF en utilisant la classe DrawObjectEventHandler

Scénarios d’utilisation possibles

Aspose.Cells fournit une classe abstraite DrawObjectEventHandler qui possède une méthode draw(). L’utilisateur peut implémenter DrawObjectEventHandler et utiliser la méthode draw() pour obtenir DrawObject et Bound lors du rendu d’Excel en PDF ou en image. Voici une brève description des paramètres de la méthode draw().

Si vous générez un fichier Excel au format PDF, vous pouvez utiliser la classe DrawObjectEventHandler avec PdfSaveOptions.DrawObjectEventHandler. De même, si vous générez un fichier Excel au format Image, vous pouvez utiliser la classe DrawObjectEventHandler avec ImageOrPrintOptions.DrawObjectEventHandler.

Obtenez DrawObject et Bound lors du rendu au format Pdf en utilisant la classe DrawObjectEventHandler

Veuillez consulter le code d’exemple suivant. Il charge le fichier Excel d’exemple et le sauvegarde en PDF de sortie. Lors du rendu en PDF, il utilise la propriété PdfSaveOptions.DrawObjectEventHandler et capture le DrawObject et Bound des cellules et des objets existants, tels que les images, etc. Si le type de drawObject est Cell, il affiche son Bound et StringValue. Et si le type de drawObject est Image, il affiche son Bound et Nom de forme. Veuillez consulter la sortie de la console du code d’exemple ci-dessous pour plus d’aide.

Code d’exemple

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
import com.aspose.cells.*;
import AsposeCellsExamples.Utils;
public class GetDrawObjectAndBoundUsingDrawObjectEventHandler {
static String srcDir = Utils.Get_SourceDirectory();
static String outDir = Utils.Get_OutputDirectory();
//Implement the concrete class of DrawObjectEventHandler
class clsDrawObjectEventHandler extends DrawObjectEventHandler
{
public void draw(DrawObject drawObject, float x, float y, float width, float height)
{
System.out.println();
//Print the coordinates and the value of Cell object
if (drawObject.getType() == DrawObjectEnum.CELL)
{
System.out.println("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Cell Value]: " + drawObject.getCell().getStringValue());
}
//Print the coordinates and the shape name of Image object
if (drawObject.getType() == DrawObjectEnum.IMAGE)
{
System.out.println("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Shape Name]: " + drawObject.getShape().getName());
}
System.out.println("----------------------");
}
}
void Run() throws Exception
{
//Load sample Excel file
Workbook wb = new Workbook(srcDir + "sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx");
//Specify Pdf save options
PdfSaveOptions opts = new PdfSaveOptions();
//Assign the instance of DrawObjectEventHandler class
opts.setDrawObjectEventHandler(new clsDrawObjectEventHandler());
//Save to Pdf format with Pdf save options
wb.save(outDir + "outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts);
}
public static void main(String[] args) throws Exception {
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion());
new GetDrawObjectAndBoundUsingDrawObjectEventHandler().Run();
// Print the message
System.out.println("GetDrawObjectAndBoundUsingDrawObjectEventHandler executed successfully.");
}
}

Sortie console

[X]: 153.60349 [Y]: 82.94118 [Width]: 103.203476 [Height]: 14.470589 [Cell Value]: This is sample text.

\----------------------

[X]: 267.28854 [Y]: 153.12354 [Width]: 161.25542 [Height]: 128.78824 [Shape Name]: Sun

\----------------------