الحصول على كائن الرسم وBound أثناء التقديم إلى PDF باستخدام فئة DrawObjectEventHandler
سيناريوهات الاستخدام المحتملة
توفر Aspose.Cells فئة مجردة DrawObjectEventHandler التي تحتوي على طريقة Draw(). يمكن للمستخدم تنفيذ DrawObjectEventHandler واستخدام الطريقة Draw() للحصول على DrawObject وBound أثناء تقديم Excel إلى PDF أو صورة. فيما يلي وصف موجز لمعلمات طريقة Draw().
-
drawObject: سيتم تهيئة DrawObject وإرجاعه أثناء التقديم
-
x: اليسار من DrawObject
-
y: الأعلى من DrawObject
-
width: عرض DrawObject
-
height: ارتفاع DrawObject
إذا كنت تقوم بتقديم ملف 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
----------------------