Pagina-generatie
Pagina-generatie
Aspose.PDF FOSS for .NET biedt een alinea‑gebaseerde lay‑outengine voor het genereren van PDF‑content. Tabellen, zwevende vakken, kop‑ en voetteksten, en stempels stellen je in staat gestructureerde pagina’s te bouwen zonder handmatig content‑stream operators te construeren.
Paragrafen toevoegen
Page.Paragraphs is het toegangspunt voor het toevoegen van inhoudselementen.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");Tabellen
Table ondersteunt rijen, cellen, kolombreedtes, randen en tekststatus.
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);Celopmaak
Cells.Add retourneert een Cell waarin je randen, opvulling en geneste inhoud kunt configureren.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);Zwevende vakken
FloatingBox positioneert inhoud op absolute coördinaten op de pagina.
var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);Koppen en voetteksten
HeaderFooter voegt herhalende inhoud toe aan de boven- of onderkant van pagina’s.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);Pagina‑stempels
PdfPageStamp legt inhoud van één PDF-pagina over op een andere.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);Tips en Best Practices
- Gebruik
Table.ColumnWidthsals een door spaties gescheiden reeks puntwaarden om de lay‑out te regelen. FloatingBoxis handig voor absolute positionering — combineer metTablevoor gestructureerde inhoud.HeaderFooter.FromTextondersteunt{0}als een paginanummer‑plaatsaanduiding.- Voeg alle alinea’s toe voordat je
Saveaanroept — de layoutengine verwerkt de inhoud in volgorde. - Gebruik
BorderInfoom randen toe te voegen aan tabellen, cellen en zwevende vakken.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Tabel loopt over pagina | Te veel rijen voor één pagina | De bibliotheek pagineert automatisch; pas de marges aan indien nodig |
| Koptekst verschijnt niet | ApplyAsHeader called after Save | Pas kopteksten toe vóór het opslaan |
| FloatingBox op verkeerde positie | Coördinaten gemeten vanaf linksboven in alinea‑eenheden | Controleer of de eenheden overeenkomen met uw verwachtingen |
FAQ
Kan ik tabellen met meerdere pagina’s maken?
Ja. Wanneer een tabel de beschikbare paginahoogte overschrijdt, wordt deze automatisch op de volgende pagina voortgezet.
Hoe voeg ik afbeeldingen toe aan tabelcellen?
Maak een Image alinea en voeg deze toe aan de Paragraphs collectie van de cel.
Kan ik gegevens uit een array importeren in een tabel?
Ja. Gebruik Table.ImportArray om een tabel te vullen vanuit een tweedimensionale array.
API-referentieoverzicht
| Klasse / Methode | Beschrijving |
|---|---|
Paragraphs | Geordende inhoudselementen op een pagina |
Paragraphs.Add | Voeg een alinea‑element toe (tekst, tabel, grafiek, enz.) |
Table | Rasterlay-out met rijen, cellen en kolombreedtes |
Table.ImportArray | Vul een tabel vanuit een array |
Rows | Rijcollectie in een tabel |
Cells | Celcollectie in een tabelrij |
BorderInfo | Randstyling voor tabellen, cellen en vakken |
FloatingBox | Absoluut gepositioneerde inhoudscontainer |
HeaderFooter | Herhalende kop‑ of voettekstinhoud |
HeaderFooter.FromText | Maak kop‑/voettekst vanuit een tekstsjabloon |
PdfPageStamp | Overlay een PDF-pagina als stempel |