Holen Sie sich DrawObject und Bound während des Renderns im PDF mit der DrawObjectEventHandler Klasse
Mögliche Verwendungsszenarien
Aspose.Cells bietet eine abstrakte Klasse DrawObjectEventHandler, die eine Methode draw() hat. Der Benutzer kann DrawObjectEventHandler implementieren und die Methode draw() nutzen, um das DrawObject und Bound beim Rendern von Excel in PDF oder Bild zu erhalten. Hier ist eine kurze Beschreibung der Parameter der Methode draw().
-
drawObject: DrawObject wird initialisiert und zurückgegeben beim Rendern
-
x: Links von DrawObject
-
y: Oben von DrawObject
-
width: Breite von DrawObject
-
height: Höhe von DrawObject
Wenn Sie eine Excel-Datei in PDF rendern, können Sie die Klasse DrawObjectEventHandler mit PdfSaveOptions.DrawObjectEventHandler nutzen. Ebenso, wenn Sie eine Excel-Datei in Bild rendern, können Sie die Klasse DrawObjectEventHandler mit ImageOrPrintOptions.DrawObjectEventHandler nutzen.
Holen Sie sich DrawObject und Bound beim Rendern in PDF unter Verwendung der DrawObjectEventHandler-Klasse
Bitte beachten Sie den folgenden Beispielcode. Es lädt die Beispiel-Excel-Datei und speichert sie als Ausgabe-PDF. Beim Rendern in PDF nutzt es die Eigenschaft PdfSaveOptions.DrawObjectEventHandler und erfasst das DrawObject und Bound bereits vorhandener Zellen und Objekte wie z. B. Bilder usw. Wenn der drawObject-Typ Cell ist, gibt es seinen Bound und StringValue aus. Und wenn der drawObject-Typ Image ist, gibt es seinen Bound und Shape-Name aus. Bitte sehen Sie die Konsolenausgabe des unten gegebenen Beispielcodes für weitere Hilfe.
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
\----------------------