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.ColumnWidthssom en blankstegsavgränsad sträng av punktvärden för att styra layouten. FloatingBoxär användbart för absolut positionering — kombinera medTableför strukturerat innehåll.HeaderFooter.FromTextstöder{0}som en sidnummerplatshållare.- Lägg till alla stycken innan du anropar
Save— layoutmotorn bearbetar innehållet i ordning. - Använd
BorderInfoför att lägga till ramar runt tabeller, celler och flytande rutor.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
| Tabell överskrider sidan | För många rader för en sida | Biblioteket paginerar automatiskt; justera marginaler vid behov |
| Rubrik visas inte | ApplyAsHeader anropad efter Save | Applicera rubriker innan du sparar |
| FloatingBox på fel position | Koordinater mäts från övre vänstra hörnet i styckeenheter | Verifiera 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 / Metod | Beskrivning |
|---|---|
Paragraphs | Ordnade innehållselement på en sida |
Paragraphs.Add | Lägg till ett styckelement (text, tabell, diagram osv.) |
Table | Rutnätslayout med rader, celler och kolumnbredder |
Table.ImportArray | Fyll tabell från en array |
Rows | Radsamling i en tabell |
Cells | Cellssamling i en tabellrad |
BorderInfo | Kantstil för tabeller, celler och rutor |
FloatingBox | Absolut positionerad innehållsbehållare |
HeaderFooter | Upprepande sidhuvud- eller sidfotinnehåll |
HeaderFooter.FromText | Skapa sidhuvud/sidfot från en textmall |
PdfPageStamp | Överlagra en PDF-sida som ett stämpel |