Sidegenerering
Sidegenerering
Aspose.PDF FOSS for .NET tilbyr en avsnittsbasert layoutmotor for å generere PDF‑innhold. Tabeller, flytende bokser, topp‑ og bunntekster og stempler lar deg bygge strukturerte sider uten å manuelt konstruere innholdsstrøm‑operatorer.
Legge til avsnitt
Page.Paragraphs er inngangspunktet for å legge til innholdselementer.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");Tabeller
Table støtter rader, celler, kolonnebredder, kantlinjer 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 nestet innhold.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);Flytende bokser
FloatingBox posisjonerer innhold 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);Topptekst og bunntekst
HeaderFooter legger til gjentakende innhold øverst eller nederst på sider.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);Sidestempler
PdfPageStamp overlagrer innhold fra en PDF-side på en annen.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);Tips og beste praksis
- Bruk
Table.ColumnWidthssom en mellomromseparert streng av punktverdier for å kontrollere layout. FloatingBoxer nyttig for absolutt posisjonering — kombiner medTablefor strukturert innhold.HeaderFooter.FromTextstøtter{0}som en sidetallsplassholder.- Legg til alle avsnitt før du kaller
Save— layoutmotoren behandler innholdet i rekkefølge. - Bruk
BorderInfofor å legge til rammer rundt tabeller, celler og flytende bokser.
Vanlige problemer
| Problem | Årsak | Løsning |
|---|---|---|
| Tabellen flyter over siden | For mange rader for én side | Biblioteket paginerer automatisk; juster margene om nødvendig |
| Topptekst vises ikke | ApplyAsHeader kalt etter Save | Bruk topptekster før lagring |
| FloatingBox på feil posisjon | Koordinater målt fra øvre venstre i avsnittsenheter | Bekreft at enhetene samsvarer med forventningene dine |
Ofte stilte spørsmål
Kan jeg lage flersidige tabeller?
Ja. Når en tabell overskrider den tilgjengelige sidehøyden, fortsetter den automatisk på neste side.
Hvordan legger jeg til bilder i tabellceller?
Opprett et Image avsnitt og legg det til cellens Paragraphs samling.
Kan jeg importere data fra en matrise til en tabell?
Ja. Bruk Table.ImportArray for å fylle en tabell fra et todimensjonalt array.
API-referansesammendrag
| Klasse / Metode | Beskrivelse |
|---|---|
Paragraphs | Ordnet innholdselementer på en side |
Paragraphs.Add | Legg til et avsnittelement (tekst, tabell, graf osv.) |
Table | Rutenettlayout med rader, celler og kolonnebredder |
Table.ImportArray | Fyll tabell fra en matrise |
Rows | Radsamling i en tabell |
Cells | Cellesamling i en tabellrad |
BorderInfo | Kantstil for tabeller, celler og bokser |
FloatingBox | Absolutt posisjonert innholdskontainer |
HeaderFooter | Gjentakende topptekst- eller bunntekstinnhold |
HeaderFooter.FromText | Opprett topptekst/bunntekst fra en tekstmal |
PdfPageStamp | Legg over en PDF-side som et stempel |