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.
-
drawObject:DrawObjectwird beim Rendern initialisiert und zurückgegeben
-
x: Links vonDrawObject
-
y: Spitze vonDrawObject
-
Breite: Breite vonDrawObject
-
Höhe: Höhe vonDrawObject
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
\----------------------