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 den DrawObject und Bound beim Rendern von Excel in PDF oder Bild zu erhalten. Hier ist eine kurze Beschreibung der Parameter der Methode Draw().

Wenn Sie eine Excel-Datei in PDF rendert, können Sie die Klasse DrawObjectEventHandler mit PdfSaveOptions.DrawObjectEventHandler nutzen. Ebenso, wenn Sie eine Excel-Datei in ein 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 der vorhandenen Zellen und Objekte wie z.B. Bilder usw. Wenn der DrawObject-Typ eine Zelle ist, druckt er ihre Bound und String-Wert. Und wenn der DrawObject-Typ ein Bild ist, druckt er seine Bound und den Shape-Namen. Bitte sehen Sie die Konsolenausgabe des untenstehenden Beispielcodes für mehr Hilfe.

Beispielcode

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aspose.Cells.Rendering;
namespace Aspose.Cells.Examples.CSharp.Rendering
{
class GetDrawObjectAndBoundUsingDrawObjectEventHandler
{
//Implement the concrete class of DrawObjectEventHandler
class clsDrawObjectEventHandler : DrawObjectEventHandler
{
public override void Draw(DrawObject drawObject, float x, float y, float width, float height)
{
Console.WriteLine("");
//Print the coordinates and the value of Cell object
if (drawObject.Type == DrawObjectEnum.Cell)
{
Console.WriteLine("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Cell Value]: " + drawObject.Cell.StringValue);
}
//Print the coordinates and the shape name of Image object
if (drawObject.Type == DrawObjectEnum.Image)
{
Console.WriteLine("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Shape Name]: " + drawObject.Shape.Name);
}
Console.WriteLine("----------------------");
}
}
public static void Run()
{
//Load sample Excel file
Workbook wb = new Workbook("sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx");
//Specify Pdf save options
PdfSaveOptions opts = new PdfSaveOptions();
//Assign the instance of DrawObjectEventHandler class
opts.DrawObjectEventHandler = new clsDrawObjectEventHandler();
//Save to Pdf format with Pdf save options
wb.Save("outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts);
}
}
}

Konsolenausgabe

 [X]: 153.6035 [Y]: 82.94118 [Width]: 103.2035 [Height]: 14.47059 [Cell Value]: This is sample text.

----------------------

[X]: 267.6917 [Y]: 153.4853 [Width]: 160.4491 [Height]: 128.0647 [Shape Name]: Sun

----------------------