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.ColumnWidthssom en mellemrumsepareret streng af punktværdier til at styre layoutet. FloatingBoxer nyttig til absolut positionering — kombiner medTablefor struktureret indhold.HeaderFooter.FromTextunderstøtter{0}som en sidetal‑pladsholder.- Tilføj alle afsnit før du kalder
Save— layoutmotoren behandler indholdet i rækkefølge. - Brug
BorderInfotil at tilføje kanter til tabeller, celler og flydende bokse.
Almindelige problemer
| Issue | Cause | Fix |
|---|---|---|
| Tabel løber over siden | For mange rækker til én side | Biblioteket paginerer automatisk; juster margener om nødvendigt |
| Header vises ikke | ApplyAsHeader called after Save | Anvend headers før gemning |
| FloatingBox på forkert position | Koordinater målt fra øverste venstre i afsnitsenheder | Bekræ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 / Metode | Beskrivelse |
|---|---|
Paragraphs | Ordnet indholdselementer på en side |
Paragraphs.Add | Tilføj et afsnitselement (tekst, tabel, graf osv.) |
Table | Gitterlayout med rækker, celler og kolonnebredder |
Table.ImportArray | Udfyld tabel fra et array |
Rows | Række-samling i en tabel |
Cells | Celle-samling i en tabelrække |
BorderInfo | Kantstil for tabeller, celler og bokse |
FloatingBox | Absolut placeret indholdskontainer |
HeaderFooter | Gentagende sidehoved- eller sidefodindhold |
HeaderFooter.FromText | Opret sidehoved/sidefod fra en tekstskabelon |
PdfPageStamp | Overlay en PDF-side som et stempel |