الحصول على كائن الرسم وBound أثناء التقديم إلى PDF باستخدام فئة DrawObjectEventHandler

سيناريوهات الاستخدام المحتملة

توفر Aspose.Cells فئة مجردة DrawObjectEventHandler التي تحتوي على طريقة Draw(). يمكن للمستخدم تنفيذ DrawObjectEventHandler واستخدام الطريقة Draw() للحصول على DrawObject وBound أثناء تقديم Excel إلى PDF أو صورة. فيما يلي وصف موجز لمعلمات طريقة Draw().

إذا كنت تقوم بتقديم ملف Excel إلى PDF، فيمكنك الاستفادة من الفئة DrawObjectEventHandler مع PdfSaveOptions.DrawObjectEventHandler. بالمثل، إذا كنت تقوم بتقديم ملف Excel إلى صورة، يمكنك الاستفادة من الفئة DrawObjectEventHandler مع ImageOrPrintOptions.DrawObjectEventHandler.

الحصول على كائن الرسم وBound أثناء التقديم إلى Pdf باستخدام فئة DrawObjectEventHandler

يرجى الرجوع إلى الكود عينة التالي. يحمّل ملف Excel العيني ويحفظه كـ PDF الإخراج. أثناء التقديم إلى PDF، يستخدم خاصية PdfSaveOptions.DrawObjectEventHandler ويأخذ DrawObject وBound للخلايا والكائنات الحالية مثل الصور وما إلى ذلك. إذا كان نوع DrawObject هو الخلية، فيطبع ال Bound وقيمة النص الخاصة بها. وإذا كان نوع DrawObject هو الصورة، يطبع ال Bound واسم الشكل. يرجى الرجوع إلى إخراج الكونسول المعطى في الكود العيني أدناه للمزيد من المساعدة.

الكود المثالي

// 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

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