Insert an Image into a Table Cell in PDF

نهج Aspose.PDF

وفقًا لنموذج DOM (نموذج كائن المستند) الخاص بنا، يتكون المستند من صفحات. صفحة تحتوي على فقرة واحدة أو أكثر، وقد تكون الفقرة صورة، نص، حقل نموذج، عنوان، مربع عائم، رسم بياني، مرفق، أو جدول. الجدول، بدوره، يحتوي على مجموعة من الصفوف وكل صف يحتوي على مجموعة من الخلايا. الخلية هي مجموعة من الفقرات.

لذا وفقًا لنموذج DOM الخاص بنا، يمكن لخلية الجدول أن تحتوي على أي من عناصر الفقرة المحددة أعلاه، بما في ذلك الصور.

فهم عرض الخلية

يجب أن يكون لديك فهم واضح لعرض الخلية، خاصة عند عرض صورة في خلية جدول، بحيث يتم تثبيت عرض الصورة على عرض الخلية لتظهر بشكل صحيح. يمكن تحديد عرض الصورة باستخدام طريقة setFixedWidth() لفئة Image.

مثال على الشيفرة


 String dataDir = "C:\\temp\\";

// إنشاء كائن Document عن طريق استدعاء المنشئ الفارغ له

Document pdfDocument = new Document();

// إنشاء صفحة في كائن المستند

com.aspose.pdf.Page page = pdfDocument.getPages().add();



// إنشاء كائن جدول

Table table = new Table();

// إضافة الجدول في مجموعة الفقرات للصفحة المطلوبة

page.getParagraphs().add(table);

// تعيين عرض الأعمدة للجدول

table.setColumnWidths("100 100 120");



// تعيين حدود الجدول باستخدام كائن BorderInfo المخصص الآخر

table.setDefaultCellBorder(new BorderInfo(BorderSide.All, 1F));



// إنشاء كائن صورة في الصفحة

com.aspose.pdf.Image img1 = new com.aspose.pdf.Image();

// تعيين مسار ملف الصورة

img1.setFile(dataDir + "logo.jpg");



img1.setFixWidth(100);

img1.setFixHeight(100);

// إنشاء صفوف في الجدول ثم خلايا في الصفوف

Row row1 = table.getRows().add();

row1.getCells().add("نص تجريبي في الخلية");

// إضافة الخلية التي تحتوي على الصورة

Cell cell2 = row1.getCells().add();

// إضافة الصورة إلى خلية الجدول

cell2.getParagraphs().add(img1);



row1.getCells().add("الخلية السابقة مع الصورة");

row1.getCells().get_Item(2).setVerticalAlignment(VerticalAlignment.Center);



// حفظ المستند

pdfDocument.save(dataDir + "Image_in_Cell.pdf");