Hämta DrawObject and Bound medan du renderar till PDF med DrawObjectEventHandler-klassen

Möjliga användningsscenarier

Aspose.Cells tillhandahåller en abstrakt klassDrawObjectEventHandler som har enDra()metod. Användaren kan implementeraDrawObjectEventHandler och utnyttjaDra() metod för att fåDrawObjectoch bundet medan Excel renderas till PDF eller bild. Här är en kort beskrivning av parametrarna förDra()metod.

Om du renderar Excel-fil till PDF, kan du användaDrawObjectEventHandlerklass medPdfSaveOptions.DrawObjectEventHandler . På samma sätt, om du renderar Excel-fil till bild, kan du användaDrawObjectEventHandlerklass medImageOrPrintOptions.DrawObjectEventHandler.

Hämta DrawObject and Bound medan du renderar till PDF med DrawObjectEventHandler-klassen

Se följande exempelkod. Den laddarexempel på Excel-fil och sparar den somutgång PDF. Vid rendering till PDF använder denPdfSaveOptions.DrawObjectEventHandleregendom och fångarDrawObject och Bound of existerande celler och objekt, t.ex. bilder etc. OmDrawObject typen är Cell, den skriver ut sitt Bound och StringValue. Och omDrawObjecttypen är Bild, den skriver ut dess bundna och formnamn. Se konsolutgången för exempelkoden nedan för mer hjälp.

Exempelkod

// 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);
}
}
}

Konsolutgång

 [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

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