تولید صفحه

تولید صفحه

Aspose.PDF FOSS برای .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

کلاس / متدتوضیح
Paragraphsعناصر محتوا به ترتیب در یک صفحه
Paragraphs.Addافزودن یک عنصر پاراگراف (متن، جدول، نمودار و غیره)
Tableچیدمان شبکه‌ای با ردیف‌ها، سلول‌ها و عرض ستون‌ها
Table.ImportArrayپر کردن جدول از یک آرایه
Rowsمجموعه ردیف‌ها در یک جدول
Cellsمجموعه سلول‌ها در یک ردیف جدول
BorderInfoاستایل‌گذاری حاشیه برای جدول‌ها، سلول‌ها و جعبه‌ها
FloatingBoxمحفظه محتوا با موقعیت مطلق
HeaderFooterمحتوای سرصفحه یا پاورقی تکراری
HeaderFooter.FromTextایجاد سرصفحه/پاورقی از یک قالب متنی
PdfPageStampپوشاندن یک صفحه PDF به عنوان مهر

همچنین ببینید

 فارسی