Holen Sie sich DrawObject und Bound beim Rendern auf PDF mithilfe der DrawObjectEventHandler-Klasse

Mögliche Nutzungsszenarien

Aspose.Cells stellt eine abstrakte Klasse bereitDrawObjectEventHandler das hat einzeichnen() Methode. Der Benutzer kann implementierenDrawObjectEventHandlerund nutze diezeichnen()-Methode, um dieDrawObjectundGebundenbeim Rendern von Excel auf PDF oder Image. Hier ist eine kurze Beschreibung der Parameter derzeichnen() Methode.

Wenn Sie eine Excel-Datei in PDF rendern, können Sie sie verwendenDrawObjectEventHandlerKlasse mitPdfSaveOptions.DrawObjectEventHandler. Wenn Sie eine Excel-Datei in ein Bild rendern, können Sie auf ähnliche Weise verwendenDrawObjectEventHandlerKlasse mitImageOrPrintOptions.DrawObjectEventHandler.

Holen Sie sich DrawObject und Bound beim Rendern in PDF mit der Klasse DrawObjectEventHandler

Bitte sehen Sie sich den folgenden Beispielcode an. Es lädt dieBeispiel-Excel-Dateiund speichert es alsAusgang PDF. Beim Rendern auf PDF wird es verwendetPdfSaveOptions.DrawObjectEventHandlerEigentum und erfasst dieDrawObject undGebundenbestehender Zellen und Objekte, zB Bilder usw. Wenn der drawObject-Typ Cell ist, werden Bound und StringValue ausgegeben. Und wenn der drawObject-Typ Image ist, gibt es seinen Bound- und Shape-Namen aus. Weitere Hilfe finden Sie in der Konsolenausgabe des unten angegebenen Beispielcodes.

Beispielcode

// 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.");
}
}

Konsolenausgabe

[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

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