Получить DrawObject и Bound при рендеринге на PDF с помощью класса DrawObjectEventHandler

Возможные сценарии использования

Aspose.Cells предоставляет абстрактный классDrawObjectEventHandler который имеетРисовать()метод. Пользователь может реализоватьDrawObjectEventHandler и использоватьРисовать() метод, чтобы получитьDrawObjectи привязывается при рендеринге Excel к PDF или изображению. Вот краткое описание параметровРисовать()метод.

  • рисоватьОбъект:DrawObject будет инициализирован и возвращен при рендеринге

  • х: слева отDrawObject

  • г: ВверхуDrawObject

  • ширина: ШиринаDrawObject

  • высота: ВысотаDrawObject

Если вы визуализируете файл Excel на PDF, вы можете использоватьDrawObjectEventHandlerкласс сPdfSaveOptions.DrawObjectEventHandler . Точно так же, если вы визуализируете файл Excel в изображение, вы можете использоватьDrawObjectEventHandlerкласс сImageOrPrintOptions.DrawObjectEventHandler.

Получить DrawObject и Bound при рендеринге в Pdf с помощью класса DrawObjectEventHandler

См. следующий пример кода. Он загружаетобразец файла Excel и сохраняет его каквывод PDF. При рендеринге в PDF он используетPdfSaveOptions.DrawObjectEventHandlerимущество и захватываетDrawObject и Ограничение существующих ячеек и объектов, например, изображений и т. д. ЕслиDrawObject тип Cell, он печатает свои Bound и StringValue. И еслиDrawObjectтип — изображение, он печатает имя привязки и формы. Дополнительные сведения см. в выводе на консоль примера кода, приведенного ниже.

Образец кода

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

Консольный вывод

 [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

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