Seitengenerierung

Seitengenerierung

Seitengenerierung

Aspose.PDF FOSS for .NET bietet eine absatzbasierte Layout‑Engine zum Erzeugen von PDF‑Inhalten. Tabellen, schwebende Kästen, Kopf‑/Fußzeilen und Stempel ermöglichen es Ihnen, strukturierte Seiten zu erstellen, ohne Content‑Stream‑Operatoren manuell zu konstruieren.


Absätze hinzufügen

Page.Paragraphs ist der Einstiegspunkt zum Hinzufügen von Inhaltselementen.

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

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

Tabellen

Table unterstützt Zeilen, Zellen, Spaltenbreiten, Rahmen und Textstatus.

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

Zellenformatierung

Cells.Add gibt ein Cell zurück, in dem Sie Rahmen, Innenabstand und verschachtelten Inhalt konfigurieren können.

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

Schwebende Boxen

FloatingBox positioniert Inhalte an absoluten Koordinaten auf der Seite.

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

Kopf- und Fußzeilen

HeaderFooter fügt wiederholenden Inhalt am oberen oder unteren Rand von Seiten hinzu.

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

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

Seitenstempel

PdfPageStamp legt Inhalte einer PDF‑Seite auf eine andere.

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

Tipps und bewährte Verfahren

  • Verwenden Sie Table.ColumnWidths als durch Leerzeichen getrennte Zeichenkette von Punktwerten, um das Layout zu steuern.
  • FloatingBox ist nützlich für absolute Positionierung — kombinieren Sie es mit Table für strukturierte Inhalte.
  • HeaderFooter.FromText unterstützt {0} als Seitenzahl‑Platzhalter.
  • Fügen Sie alle Absätze hinzu, bevor Sie Save aufrufen — die Layout‑Engine verarbeitet den Inhalt in der Reihenfolge.
  • Verwenden Sie BorderInfo, um Rahmen zu Tabellen, Zellen und schwebenden Kästen hinzuzufügen.

Häufige Probleme

ProblemUrsacheLösung
Tabelle überläuft SeiteZu viele Zeilen für eine SeiteDie Bibliothek paginiert automatisch; passen Sie bei Bedarf die Ränder an
Kopfzeile wird nicht angezeigtApplyAsHeader called after SaveKopfzeilen vor dem Speichern anwenden
FloatingBox an falscher PositionKoordinaten werden von oben links in Absatz‑Einheiten gemessenStellen Sie sicher, dass die Einheiten Ihren Erwartungen entsprechen

FAQ

Kann ich mehrseitige Tabellen erstellen?

Ja. Wenn eine Tabelle die verfügbare Seitenhöhe überschreitet, wird sie automatisch auf der nächsten Seite fortgesetzt.

Wie füge ich Bilder zu Tabellenzellen hinzu?

Erstellen Sie einen Image Absatz und fügen Sie ihn der Paragraphs Sammlung der Zelle hinzu.

Kann ich Daten aus einem Array in eine Tabelle importieren?

Ja. Verwenden Sie Table.ImportArray, um eine Tabelle aus einem zweidimensionalen Array zu füllen.


API-Referenzübersicht

Klasse / MethodeBeschreibung
ParagraphsGeordnete Inhaltselemente auf einer Seite
Paragraphs.AddEin Paragraph-Element (Text, Tabelle, Diagramm usw.) anhängen
TableRasterlayout mit Zeilen, Zellen und Spaltenbreiten
Table.ImportArrayTabelle aus einem Array füllen
RowsZeilensammlung in einer Tabelle
CellsZellensammlung in einer Tabellenzeile
BorderInfoRahmenstil für Tabellen, Zellen und Kästen
FloatingBoxAbsolut positionierter Inhaltscontainer
HeaderFooterWiederholender Kopf- oder Fußzeileninhalt
HeaderFooter.FromTextKopf-/Fußzeile aus einer Textvorlage erstellen
PdfPageStampEine PDF-Seite als Stempel überlagern

Siehe auch

 Deutsch