استبدال الجدول في وثيقة PDF

في هذا البرنامج التعليمي، سنرشدك خطوة بخطوة لاستبدال جدول في مستند PDF باستخدام Aspose.PDF لـ .NET. سنشرح لك كود مصدر C# المقدم ونوضح لك كيفية تنفيذه.

الخطوة 1: تحميل مستند PDF الموجود

أولاً، تحتاج إلى تحميل مستند PDF الموجود باستخدام الكود التالي:

// المسار إلى دليل المستندات
string dataDir = "YOUR DOCUMENTS DIRECTORY";

// قم بتحميل مستند PDF الموجود
Document pdfDocument = new Document(dataDir + @"Table_input.pdf");

الخطوة 2: إنشاء كائن TableAbsorter للعثور على الجداول

بعد ذلك، سنقوم بإنشاء كائن TableAbsorter للعثور على الجداول في مستند PDF:

// قم بإنشاء كائن TableAbsorter للعثور على الجداول
TableAbsorber absorber = new TableAbsorber();

الخطوة 3: قم بزيارة الصفحة الأولى مع الممتص

سنقوم الآن بزيارة الصفحة الأولى من مستند PDF باستخدام أداة الامتصاص:

// قم بزيارة الصفحة الأولى مع الممتص
absorb.Visit(pdfDocument.Pages[1]);

الخطوة 4: الحصول على الجدول الأول في الصفحة

لكي نتمكن من استبدال الجدول سنحصل على الجدول الأول من الصفحة:

// احصل على الجدول الأول على الصفحة
AbsorbedTable table = absorb.TableList[0];

الخطوة 5: إنشاء جدول جديد

سنقوم الآن بإنشاء جدول جديد بالأعمدة والخلايا المطلوبة:

Table newTable = new Table();
newTable.ColumnWidths = "100 100 100";
newTable.DefaultCellBorder = new BorderInfo(BorderSide.All, 1F);

Row row = newTable.Rows.Add();
row. Cells. Add("Col 1");
row. Cells. Add("Col 2");
row. Cells. Add("Col 3");

الخطوة 6: استبدال الجدول الموجود بالجدول الجديد

سنقوم الآن باستبدال الجدول الموجود بالجدول الجديد في الصفحة الأولى من المستند:

// استبدال الجدول بالجدول الجديد
absorb.Replace(pdfDocument.Pages[1], table, newTable);

الخطوة 7: حفظ المستند

وأخيرًا، نقوم بحفظ مستند PDF المعدل:

pdfDocument.Save(dataDir + "TableReplaced_out.pdf");

مثال على التعليمات البرمجية المصدر لاستبدال الجدول باستخدام Aspose.PDF لـ .NET

// المسار إلى دليل المستندات.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// قم بتحميل مستند PDF الموجود
Document pdfDocument = new Document(dataDir + @"Table_input.pdf");

// قم بإنشاء كائن TableAbsorter للعثور على الجداول
TableAbsorber absorber = new TableAbsorber();

// قم بزيارة الصفحة الأولى مع الممتص
absorber.Visit(pdfDocument.Pages[1]);

// الحصول على الجدول الأول على الصفحة
AbsorbedTable table = absorber.TableList[0];

// إنشاء جدول جديد
Table newTable = new Table();
newTable.ColumnWidths = "100 100 100";
newTable.DefaultCellBorder = new BorderInfo(BorderSide.All, 1F);

Row row = newTable.Rows.Add();
row.Cells.Add("Col 1");
row.Cells.Add("Col 2");
row.Cells.Add("Col 3");

// استبدل الجدول بآخر جديد
absorber.Replace(pdfDocument.Pages[1], table, newTable);

// حفظ المستند
pdfDocument.Save(dataDir + "TableReplaced_out.pdf");

خاتمة

تهنئة ! لقد تعلمت الآن كيفية استبدال جدول في مستند PDF باستخدام Aspose.PDF لـ .NET. يوضح لك هذا الدليل خطوة بخطوة كيفية تحميل المستند والعثور على الجدول الموجود وإنشاء جدول جديد واستبداله. الآن يمكنك تطبيق هذه المعرفة على مشاريعك الخاصة.

الأسئلة الشائعة لاستبدال الجدول في مستند PDF

س: هل يمكنني استبدال جداول متعددة في نفس مستند PDF باستخدام هذا الأسلوب؟

ج: نعم، يمكنك استبدال جداول متعددة في نفس مستند PDF باتباع نفس العملية لكل جدول تريد استبداله. بعد الحصول علىAbsorbedTable كائن لكل جدول باستخدامTableAbsorber ، يمكنك إنشاء جداول جديدة مقابلة ثم استخدامabsorber.Replace() طريقة استبدال كل جدول موجود بالجدول الجديد الخاص به.

س: ماذا يحدث إذا كان الجدول الجديد يحتوي على عدد من الأعمدة مختلف عن الجدول الأصلي؟

ج: إذا كان الجدول الجديد يحتوي على عدد مختلف من الأعمدة عن الجدول الأصلي، فقد يؤدي ذلك إلى سلوك غير متوقع أو مشكلات في التخطيط في مستند PDF المعدل. من الضروري التأكد من أن بنية الجدول الجديد (عدد الأعمدة وعرضها) تتطابق مع بنية الجدول الأصلي من أجل الاستبدال السلس.

س: هل يمكنني استبدال جدول في صفحة معينة غير الصفحة الأولى؟

ج: نعم، يمكنك استبدال جدول في صفحة معينة غير الصفحة الأولى عن طريق تغيير فهرس الصفحة فيpdfDocument.Pages[] استدعاء الأسلوب عند الحصول علىAbsorbedTable هدف. على سبيل المثال، لاستبدال جدول في الصفحة الثانية، يمكنك استخدامpdfDocument.Pages[2].

س: هل يمكنني تخصيص مظهر الجدول الجديد، مثل إضافة لون الخلفية أو الحدود؟

ج: نعم، يمكنك تخصيص مظهر الجدول الجديد عن طريق تعيين خصائص مختلفة للجدولTable وخلاياه. على سبيل المثال، يمكنك ضبطBackgroundColor خاصية الخلايا لإضافة لون الخلفية. يمكنك أيضًا ضبطDefaultCellBorder خاصية الجدول الجديد أو الخلايا الفردية لإضافة حدود.

س: هل يؤثر استبدال الجدول على تخطيط المحتوى لبقية مستند PDF؟

ج: قد يؤثر استبدال الجدول على تخطيط المحتوى إذا كان حجم الجدول الجديد أو بنيته يختلفان بشكل كبير عن الجدول الأصلي. سيتم إعادة تدفق باقي المحتوى الموجود على الصفحة لاستيعاب الجدول الجديد. من الضروري تصميم الجدول الجديد بعناية ليتناسب بسلاسة مع التخطيط الحالي لتجنب أي مشكلات في التخطيط.