Sidgenerering

Sidgenerering

Aspose.PDF FOSS for .NET tillhandahåller en stycke‑baserad layoutmotor för att generera PDF‑innehåll. Tabeller, flytande rutor, sidhuvuden/sidfötter och stämplar låter dig bygga strukturerade sidor utan att manuellt konstruera content‑stream operators.


Lägga till stycken

Page.Paragraphs är ingångspunkten för att lägga till innehållselement.

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

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

Tabeller

Table stöder rader, celler, kolumnbredder, kanter och texttillstånd.

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

Cellformatering

Cells.Add returnerar en Cell där du kan konfigurera kanter, utfyllnad och nästlat innehåll.

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

Flytande rutor

FloatingBox placerar innehåll på absoluta koordinater på sidan.

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

Sidhuvuden och sidfötter

HeaderFooter lägger till återkommande innehåll högst upp eller längst ner på sidorna.

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

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

Sidstämplar

PdfPageStamp lägger över innehåll från en PDF-sida på en annan.

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

Tips och bästa praxis

  • Använd Table.ColumnWidths som en blankstegsavgränsad sträng av punktvärden för att styra layouten.
  • FloatingBox är användbart för absolut positionering — kombinera med Table för strukturerat innehåll.
  • HeaderFooter.FromText stöder {0} som en sidnummerplatshållare.
  • Lägg till alla stycken innan du anropar Save — layoutmotorn bearbetar innehållet i ordning.
  • Använd BorderInfo för att lägga till ramar runt tabeller, celler och flytande rutor.

Vanliga problem

ProblemOrsakÅtgärd
Tabell överskrider sidanFör många rader för en sidaBiblioteket paginerar automatiskt; justera marginaler vid behov
Rubrik visas inteApplyAsHeader anropad efter SaveApplicera rubriker innan du sparar
FloatingBox på fel positionKoordinater mäts från övre vänstra hörnet i styckeenheterVerifiera att enheterna matchar dina förväntningar

Vanliga frågor

Kan jag skapa flersidiga tabeller?

Ja. När en tabell överskrider den tillgängliga sidhöjden fortsätter den automatiskt på nästa sida.

Hur lägger jag till bilder i tabellceller?

Skapa ett Image-stycke och lägg till det i cellens Paragraphs-samling.

Kan jag importera data från en array till en tabell?

Ja. Använd Table.ImportArray för att fylla en tabell från en tvådimensionell array.


API-referenssammanfattning

Klass / MetodBeskrivning
ParagraphsOrdnade innehållselement på en sida
Paragraphs.AddLägg till ett styckelement (text, tabell, diagram osv.)
TableRutnätslayout med rader, celler och kolumnbredder
Table.ImportArrayFyll tabell från en array
RowsRadsamling i en tabell
CellsCellssamling i en tabellrad
BorderInfoKantstil för tabeller, celler och rutor
FloatingBoxAbsolut positionerad innehållsbehållare
HeaderFooterUpprepande sidhuvud- eller sidfotinnehåll
HeaderFooter.FromTextSkapa sidhuvud/sidfot från en textmall
PdfPageStampÖverlagra en PDF-sida som ett stämpel

Se även

 Svenska