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.ColumnWidthsjako ciąg wartości punktowych oddzielonych spacjami, aby kontrolować układ. FloatingBoxjest przydatny do pozycjonowania absolutnego — połącz zTabledla treści strukturalnych.HeaderFooter.FromTextobsł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
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Tabela wykracza poza stronę | Zbyt wiele wierszy na jedną stronę | Biblioteka automatycznie paginuje; w razie potrzeby dostosuj marginesy |
| Header not appearing | ApplyAsHeader called after Save | Zastosuj nagłówki przed zapisem |
| FloatingBox at wrong position | Coordinates measured from top-left in paragraph units | Sprawdź, 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 / Metoda | Opis |
|---|---|
Paragraphs | Uporządkowane elementy treści na stronie |
Paragraphs.Add | Dodaj element akapitu (tekst, tabela, wykres itp.) |
Table | Układ siatki z wierszami, komórkami i szerokościami kolumn |
Table.ImportArray | Wypełnij tabelę z tablicy |
Rows | Zbiór wierszy w tabeli |
Cells | Zbiór komórek w wierszu tabeli |
BorderInfo | Stylizacja obramowań dla tabel, komórek i ramek |
FloatingBox | Kontener treści o pozycjonowaniu absolutnym |
HeaderFooter | Powtarzająca się zawartość nagłówka lub stopki |
HeaderFooter.FromText | Utwórz nagłówek/stopkę z szablonu tekstowego |
PdfPageStamp | Nałóż stronę PDF jako pieczęć |