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.

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

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