Генерація сторінки

Генерація сторінки

Генерація сторінки

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 called after SaveЗастосуйте заголовки перед збереженням
FloatingBox у неправильному положенніКоординати вимірюються від верхнього лівого кута у одиницях абзацуПеревірте, чи одиниці відповідають вашим очікуванням

ЧаПи

Чи можу я створювати багатосторінкові таблиці?

Так. Коли таблиця перевищує доступну висоту сторінки, вона автоматично продовжується на наступній сторінці.

Як додати зображення до клітинок таблиці?

Створіть Image абзац і додайте його до колекції Paragraphs клітини.

Чи можу я імпортувати дані з масиву у таблицю?

Так. Використайте Table.ImportArray, щоб заповнити таблицю з двовимірного масиву.


Зведення довідки API

Class / MethodDescription
ParagraphsВпорядковані елементи вмісту на сторінці
Paragraphs.AddДодати елемент абзацу (текст, таблиця, графік тощо)
TableСіткове розташування з рядками, клітинками та ширинами стовпців
Table.ImportArrayЗаповнити таблицю з масиву
RowsКолекція рядків у таблиці
CellsКолекція клітинок у рядку таблиці
BorderInfoСтилізація меж для таблиць, клітинок та блоків
FloatingBoxКонтейнер вмісту з абсолютним позиціонуванням
HeaderFooterПовторюваний вміст заголовка або підвалу
HeaderFooter.FromTextСтворити заголовок/підвал з текстового шаблону
PdfPageStampНакласти сторінку PDF як штамп

Див. також

 Українська