Sidegenerering

Sidegenerering

Aspose.PDF FOSS for .NET leverer en afsnitsbaseret layoutmotor til at generere PDF-indhold. Tabeller, flydende bokse, sidehoveder/sidefødder og stempler giver dig mulighed for at opbygge strukturerede sider uden manuelt at konstruere content‑stream operatører.


Tilføjelse af afsnit

Page.Paragraphs er indgangspunktet for at tilføje indholdselementer.

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

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

Tabeller

Table understøtter rækker, celler, kolonnebredder, kanter og teksttilstand.

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

Celleformatering

Cells.Add returnerer en Cell, hvor du kan konfigurere kanter, polstring og indlejret indhold.

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

Flydende bokse

FloatingBox placerer indhold på absolutte koordinater på siden.

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

Sidehoveder og sidefødder

HeaderFooter tilføjer gentaget indhold i toppen eller bunden af siderne.

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

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

Side stamps

PdfPageStamp overlejrer indhold fra en PDF-side på en anden.

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

Tips og bedste praksis

  • Brug Table.ColumnWidths som en mellemrumsepareret streng af punktværdier til at styre layoutet.
  • FloatingBox er nyttig til absolut positionering — kombiner med Table for struktureret indhold.
  • HeaderFooter.FromText understøtter {0} som en sidetal‑pladsholder.
  • Tilføj alle afsnit før du kalder Save — layoutmotoren behandler indholdet i rækkefølge.
  • Brug BorderInfo til at tilføje kanter til tabeller, celler og flydende bokse.

Almindelige problemer

IssueCauseFix
Tabel løber over sidenFor mange rækker til én sideBiblioteket paginerer automatisk; juster margener om nødvendigt
Header vises ikkeApplyAsHeader called after SaveAnvend headers før gemning
FloatingBox på forkert positionKoordinater målt fra øverste venstre i afsnitsenhederBekræft at enhederne svarer til dine forventninger

FAQ

Kan jeg oprette flersidede tabeller?

Ja. Når en tabel overskrider den tilgængelige sidehøjde, fortsætter den automatisk på den næste side.

Hvordan tilføjer jeg billeder til tabelceller?

Opret et Image afsnit og tilføj det til cellens Paragraphs samling.

Kan jeg importere data fra et array til en tabel?

Ja. Brug Table.ImportArray til at populere en tabel fra et todimensionelt array.


API-referencens oversigt

Klasse / MetodeBeskrivelse
ParagraphsOrdnet indholdselementer på en side
Paragraphs.AddTilføj et afsnitselement (tekst, tabel, graf osv.)
TableGitterlayout med rækker, celler og kolonnebredder
Table.ImportArrayUdfyld tabel fra et array
RowsRække-samling i en tabel
CellsCelle-samling i en tabelrække
BorderInfoKantstil for tabeller, celler og bokse
FloatingBoxAbsolut placeret indholdskontainer
HeaderFooterGentagende sidehoved- eller sidefodindhold
HeaderFooter.FromTextOpret sidehoved/sidefod fra en tekstskabelon
PdfPageStampOverlay en PDF-side som et stempel

Se også

 Dansk