إنشاء الصفحة

إنشاء الصفحة

توفر Aspose.PDF FOSS for .NET محرك تخطيط يعتمد على الفقرات لتوليد محتوى PDF. تسمح لك الجداول، الصناديق العائمة، رؤوس/تذييلات الصفحات، والطوابع بإنشاء صفحات منظمة دون الحاجة إلى بناء مشغلات تدفق المحتوى يدويًا.


إضافة فقرات

Page.Paragraphs هو نقطة الدخول لإضافة عناصر المحتوى.

using var doc = new Document();
var page = doc.Pages.Add();

page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");

الجداول

Table يدعم الصفوف، الخلايا، عرض الأعمدة، الحدود، وحالة النص.

var table = new Table();
table.ColumnWidths = "100 200 100";

var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");

page.Paragraphs.Add(table);

تنسيق الخلية

Cells.Add تُعيد Cell حيث يمكنك تكوين الحدود، والمسافات الداخلية، والمحتوى المتداخل.

var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);

صناديق عائمة

FloatingBox يضع المحتوى عند إحداثيات مطلقة على الصفحة.

var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);

الترويسات والتذييلات

HeaderFooter يضيف محتوى متكرر في أعلى أو أسفل الصفحات.

var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);

var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);

طوابع الصفحة

PdfPageStamp يضع محتوى صفحة PDF واحدة فوق أخرى.

var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);

نصائح وأفضل الممارسات

  • استخدم Table.ColumnWidths كسلسلة من القيم النقطية مفصولة بمسافات للتحكم في التخطيط.
  • FloatingBox مفيد للتموضع المطلق — اجمعه مع Table للمحتوى المنظم.
  • HeaderFooter.FromText يدعم {0} كعنصر نائب لرقم الصفحة.
  • أضف جميع الفقرات قبل استدعاء Save — محرك التخطيط يعالج المحتوى بالترتيب.
  • استخدم BorderInfo لإضافة حدود للجداول والخلايا والصناديق العائمة.

مشكلات شائعة

المشكلةالسببالإصلاح
الجدول يتجاوز الصفحةعدد الصفوف كثير جدًا لصفحة واحدةالمكتبة تقوم بالتقسيم التلقائي للصفحات؛ عدّل الهوامش إذا لزم الأمر
العنوان غير ظاهرApplyAsHeader تم استدعاؤه بعد Saveطبق العناوين قبل الحفظ
FloatingBox في موضع خاطئالإحداثيات مقاسة من أعلى اليسار بوحدات الفقرةتحقق من أن الوحدات تتطابق مع توقعاتك

الأسئلة المتكررة

هل يمكنني إنشاء جداول متعددة الصفحات؟

نعم. عندما يتجاوز الجدول ارتفاع الصفحة المتاح، فإنه يستمر تلقائيًا في الصفحة التالية.

كيف يمكنني إضافة صور إلى خلايا الجدول؟

أنشئ فقرة Image وأضفها إلى مجموعة Paragraphs للخلية.

هل يمكنني استيراد البيانات من مصفوفة إلى جدول؟

نعم. استخدم Table.ImportArray لملء جدول من مصفوفة ثنائية الأبعاد.


ملخص مرجع API

Class / Methodالوصف
Paragraphsعناصر المحتوى المرتبة على الصفحة
Paragraphs.Addإضافة عنصر فقرة (نص، جدول، رسم بياني، إلخ.)
Tableتخطيط شبكة مع صفوف وخلايا وعرض الأعمدة
Table.ImportArrayملء الجدول من مصفوفة
Rowsمجموعة الصفوف في جدول
Cellsمجموعة الخلايا في صف جدول
BorderInfoتنسيق الحدود للجداول والخلايا والصناديق
FloatingBoxحاوية محتوى موضوعة بشكل مطلق
HeaderFooterمحتوى رأس أو تذييل متكرر
HeaderFooter.FromTextإنشاء رأس/تذييل من قالب نصي
PdfPageStampتراكب صفحة PDF كختم

انظر أيضًا

 العربية