Generowanie stron

Generowanie stron

Generowanie strony

Aspose.PDF FOSS for .NET zapewnia silnik układu oparty na akapitach do generowania treści PDF. Tabele, pływające ramki, nagłówki/stopki i pieczątki pozwalają tworzyć strukturalne strony bez ręcznego konstruowania operatorów strumienia treści.


Dodawanie akapitów

Page.Paragraphs jest punktem wejścia do dodawania elementów treści.

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

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

Tabele

Table obsługuje wiersze, komórki, szerokości kolumn, obramowania i stan tekstu.

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);

Formatowanie komórek

Cells.Add zwraca Cell, w którym możesz konfigurować obramowania, wypełnienie i zagnieżdżoną zawartość.

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

Pływające pola

FloatingBox pozycjonuje zawartość w absolutnych współrzędnych na stronie.

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

Nagłówki i stopki

HeaderFooter dodaje powtarzającą się zawartość u góry lub u dołu stron.

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

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

Stemple stron

PdfPageStamp nakłada zawartość jednej strony PDF na drugą.

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

Wskazówki i najlepsze praktyki

  • Use Table.ColumnWidths jako ciąg wartości punktowych oddzielonych spacjami, aby kontrolować układ.
  • FloatingBox jest przydatny do pozycjonowania absolutnego — połącz z Table dla treści strukturalnych.
  • HeaderFooter.FromText obsługuje {0} jako symbol zastępczy numeru strony.
  • Dodaj wszystkie akapity przed wywołaniem Save — silnik układu przetwarza treść w kolejności.
  • Użyj BorderInfo, aby dodać obramowania do tabel, komórek i pływających ramek.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Tabela wykracza poza stronęZbyt wiele wierszy na jedną stronęBiblioteka automatycznie paginuje; w razie potrzeby dostosuj marginesy
Header not appearingApplyAsHeader called after SaveZastosuj nagłówki przed zapisem
FloatingBox at wrong positionCoordinates measured from top-left in paragraph unitsSprawdź, czy jednostki odpowiadają Twoim oczekiwaniom

FAQ

Czy mogę tworzyć tabele wielostronicowe?

Tak. Gdy tabela przekracza dostępną wysokość strony, automatycznie kontynuuje się na kolejnej stronie.

Jak dodać obrazy do komórek tabeli?

Utwórz akapit Image i dodaj go do kolekcji Paragraphs komórki.

Czy mogę zaimportować dane z tablicy do tabeli?

Tak. Użyj Table.ImportArray, aby wypełnić tabelę z dwuwymiarowej tablicy.


API Podsumowanie referencji

Klasa / MetodaOpis
ParagraphsUporządkowane elementy treści na stronie
Paragraphs.AddDodaj element akapitu (tekst, tabela, wykres itp.)
TableUkład siatki z wierszami, komórkami i szerokościami kolumn
Table.ImportArrayWypełnij tabelę z tablicy
RowsZbiór wierszy w tabeli
CellsZbiór komórek w wierszu tabeli
BorderInfoStylizacja obramowań dla tabel, komórek i ramek
FloatingBoxKontener treści o pozycjonowaniu absolutnym
HeaderFooterPowtarzająca się zawartość nagłówka lub stopki
HeaderFooter.FromTextUtwórz nagłówek/stopkę z szablonu tekstowego
PdfPageStampNałóż stronę PDF jako pieczęć

Zobacz także

 Polski