الحصول على كائن الرسم و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 ويأخذ للخلايا والكائنات الموجودة (مثل الصور وما إلى ذلك) قيمة Bound والقيمة المنسوخة. إذا كان نوع drawObject هو Cell، فإنه يطبع Bound والقيمة المنسوخة. وإذا كان نوع drawObject هو Image، فإنه يطبع Bound واسم الشكل. يرجى رؤية مخرجات وحدة التحكم من كود العينة المعطاة أدناه لمزيد من المساعدة.
الكود المثالي
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
import com.aspose.cells.*; | |
import AsposeCellsExamples.Utils; | |
public class GetDrawObjectAndBoundUsingDrawObjectEventHandler { | |
static String srcDir = Utils.Get_SourceDirectory(); | |
static String outDir = Utils.Get_OutputDirectory(); | |
//Implement the concrete class of DrawObjectEventHandler | |
class clsDrawObjectEventHandler extends DrawObjectEventHandler | |
{ | |
public void draw(DrawObject drawObject, float x, float y, float width, float height) | |
{ | |
System.out.println(); | |
//Print the coordinates and the value of Cell object | |
if (drawObject.getType() == DrawObjectEnum.CELL) | |
{ | |
System.out.println("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Cell Value]: " + drawObject.getCell().getStringValue()); | |
} | |
//Print the coordinates and the shape name of Image object | |
if (drawObject.getType() == DrawObjectEnum.IMAGE) | |
{ | |
System.out.println("[X]: " + x + " [Y]: " + y + " [Width]: " + width + " [Height]: " + height + " [Shape Name]: " + drawObject.getShape().getName()); | |
} | |
System.out.println("----------------------"); | |
} | |
} | |
void Run() throws Exception | |
{ | |
//Load sample Excel file | |
Workbook wb = new Workbook(srcDir + "sampleGetDrawObjectAndBoundUsingDrawObjectEventHandler.xlsx"); | |
//Specify Pdf save options | |
PdfSaveOptions opts = new PdfSaveOptions(); | |
//Assign the instance of DrawObjectEventHandler class | |
opts.setDrawObjectEventHandler(new clsDrawObjectEventHandler()); | |
//Save to Pdf format with Pdf save options | |
wb.save(outDir + "outputGetDrawObjectAndBoundUsingDrawObjectEventHandler.pdf", opts); | |
} | |
public static void main(String[] args) throws Exception { | |
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion()); | |
new GetDrawObjectAndBoundUsingDrawObjectEventHandler().Run(); | |
// Print the message | |
System.out.println("GetDrawObjectAndBoundUsingDrawObjectEventHandler executed successfully."); | |
} | |
} |
مخرجات الوحدة
[X]: 153.60349 [Y]: 82.94118 [Width]: 103.203476 [Height]: 14.470589 [Cell Value]: This is sample text.
\----------------------
[X]: 267.28854 [Y]: 153.12354 [Width]: 161.25542 [Height]: 128.78824 [Shape Name]: Sun
\----------------------