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 einZiehen()Methode. Der Benutzer kann implementierenDrawObjectEventHandler und nutze dieZiehen() Methode, um die zu erhaltenDrawObjectund Bound beim Rendern von Excel auf PDF oder Image. Hier ist eine kurze Beschreibung der Parameter derZiehen()Methode.
-
drawObject:DrawObject wird 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-Datei und speichert es alsAusgang PDF. Beim Rendern auf PDF wird es verwendetPdfSaveOptions.DrawObjectEventHandlerEigentum und erfasst dieDrawObject und Bound bestehender Zellen und Objekte zB Bilder etc. Wenn dieDrawObject type ist Cell, es druckt seinen Bound und StringValue. Und wenn dieDrawObjecttype ist Image, es gibt 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-.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
----------------------