C# 14 PDF Generator - Ein umfassendes Handbuch (2025 Edition)
"Portable Document Format," oder PDF, ist ein von Adobe erstelltes Dateiformat. PDFs sind nützlich, wenn es darum geht, Dokumente zu präsentieren, deren Text und Fotos formatiert werden müssen. In der heutigen Welt sind PDF-Dateien unverzichtbar und werden für die Dokumentenerstellung und Rechnungsstellung in allen Unternehmenssektoren genutzt. Dank der zahlreichen PDF-Bibliotheken, die derzeit auf dem Markt sind, ist die Erstellung von PDFs praktisch instinktiv geworden. Um die passende PDF-Bibliothek für Sie auszuwählen, ist es wichtig, die Vorteile und Eigenschaften jeder einzelnen zu bewerten, bevor Sie sie für Ihr Projekt nutzen.
In diesem Artikel erfahren Sie, wie Sie Seitenzahlen in PDF mit iText C# hinzufügen können. Also, we will compare iText with IronPDF.
So fügen Sie Seitenzahlen in PDF mit iText C# hinzu
- Neues C#-Projekt in beliebiger IDE erstellen.
- Erstellen Sie ein neues PDF-Objekt.
- Fügen Sie die Seitenzahlen der HTML-Fußzeile hinzu.
- Erstellen Sie ein PDF aus HTML-Material.
- Speichern Sie eine PDF-Datei auf Ihrem Computer.
Was ist IronPDF
IronPDF ist ein robustes PDF .NET Framework, das Entwickler verwenden, um PDFs einfach zu erstellen, anzuzeigen und zu bearbeiten. IronPDF ist ein anspruchsvolles Tool, das intern auf einer Chromium-Engine läuft. Es kann HTML5, JavaScript, CSS und Bilddateien in PDF umwandeln, benutzerdefinierte Header und Footer hinzufügen und PDFs genau so produzieren, wie sie in einem Browser erscheinen. Viele Online- und Netzformate, einschließlich HTML, ASPX, Razor View und MVC, werden von IronPDF unterstützt.
IronPDF Funktionen
- Verwendung von .NET C# Code, um PDF-Dateien zu erstellen, zu lesen und einfach zu bearbeiten.
- Der Prozess der Erstellung von PDFs aus einem Website-URL-Link, während User-Agents, Proxys, Cookies, HTTP-Header und Formularvariablen verwaltet werden, um die Anmeldung über HTML-Anmeldeformulare zu ermöglichen.
- Bilder aus bereits vorhandenen PDF-Dateien entfernen.
- Elemente eines PDFs hinzufügen: Tabellen, Texte, Fotos, Lesezeichen, Wasserzeichen, Header, Footer und andere.
- Die Fähigkeit, Seiten mehrerer PDF-Dokumente problemlos zu trennen und zu kombinieren.
Um mehr über die IronPDF-Dokumentation zu erfahren, klicken Sie hier.
Installation von IronPDF
Innerhalb der Visual Studio Tools wählen Sie den NuGet Package Manager aus, und Sie können die visuelle Befehlszeilenoberfläche unter Tools finden. Der folgende Befehl sollte im Tab des Paketmanagement-Terminals eingegeben werden.
Install-Package IronPdf
Oder wir können die Paketmanager-Methode verwenden. Mithilfe der NuGet-Paketmanager-Option von Visual Studio ist es möglich, das Paket direkt in die Lösung zu installieren. Ein Suchfeld ist verfügbar, um Pakete auf der NuGet-Website zu lokalisieren. Wir müssen nur nach "IronPDF" im Paketmanager suchen, wie die Abbildung unten zeigt:

Die Liste der relevanten Suchergebnisse wird oben angezeigt. Bitte treffen Sie die erforderlichen Auswahlmöglichkeiten, damit das Paket auf Ihrem System installiert wird.
Jetzt, da das Paket heruntergeladen und installiert ist, kann es im aktuellen Projekt verwendet werden.
Was ist iText
iText ist eine flexible Bibliothek zum Erstellen und Bearbeiten von PDF-Dokumenten in C#. Es bietet mehrere Funktionen, wie Verschlüsselung, PDF-Zusammenführung, Text- und Bilderextraktion und vieles mehr. iText ist ein effizientes Werkzeug für zahlreiche Aufgaben, einschließlich der Hinzufügung von Seitenzahlen zu PDFs.
iText-Funktionen
- Eine API zur Erstellung von PDF-Dokumenten wird über die iText-Bibliothek bereitgestellt.
- Sowohl HTML- als auch XML-Strings können mit dem iText-Programm in PDF-Dateien analysiert werden.
- Wir können Lesezeichen, Seitenzahlen und Markierungen zu unseren PDF-Dokumenten mit der iText-Bibliothek hinzufügen.
- Wir können ein PDF-Dokument auch in zahlreiche PDFs aufteilen oder mehrere PDF-Dokumente mit der iText-Bibliothek zu einem einzigen PDF zusammenführen.
- Wir können PDF-Formulare mit iText ändern.
iText installieren
Verwenden Sie den NuGet-Paketmanager, um nach iText zu suchen. iText und iText.pdfhtml sind erforderliche Installationen, da die iText-Funktionalitäten auf viele Pakete verteilt sind.
Sollten Sie sich für die visuelle Befehlszeilenschnittstelle entscheiden, müssen die folgenden Pakete installiert werden:
Install-Package iTextSharp
Da iText die aktuellste Version ist, setzen wir diese in unserer Lösung ein.
Hinzufügen von Seitenzahlen mit IronPDF
Das Hinzufügen von Seitenzahlen zu PDF-Dateien wird durch die umfassende Bibliothek von IronPDF vereinfacht. Zur Veranschaulichung, siehe den Code unten.
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Create a new HtmlToPdf renderer instance
var renderer = new HtmlToPdf();
// Define the HTML content with a header
string header = "<h1>Hello IronPDF!</h1>";
// Render the HTML as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the HTML footer with page numbers
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the PDF document to a file
pdf.SaveAs("output.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Create a new HtmlToPdf renderer instance
var renderer = new HtmlToPdf();
// Define the HTML content with a header
string header = "<h1>Hello IronPDF!</h1>";
// Render the HTML as a PDF document
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
// Define the HTML footer with page numbers
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
};
// Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter);
// Save the PDF document to a file
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new HtmlToPdf renderer instance
Dim renderer = New HtmlToPdf()
' Define the HTML content with a header
Dim header As String = "<h1>Hello IronPDF!</h1>"
' Render the HTML as a PDF document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)
' Define the HTML footer with page numbers
Dim htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"}
' Add footer to the PDF
pdf.AddHtmlFooters(htmlFooter)
' Save the PDF document to a file
pdf.SaveAs("output.pdf")
End Sub
End Class
Zuerst definieren wir den HTML-Text, der in ein PDF umgewandelt werden soll. Dieser HTML-Inhalt kann aus einem einzigen HTML-Absatz oder einer gesamten HTML-Seite bestehen. Als Nächstes erstellen wir eine Instanz der HtmlToPdf-Klasse, die die HTML-zu-PDF-Konvertierungsfunktion RenderHtmlAsPdf anbietet.
Der HTML-Inhalt wird als Argument an die RenderHtmlAsPdf-Funktion übergeben. Wir spezifizieren das HTML-Material, das in ein PDF umgewandelt werden soll. Seitennummern werden als Platzhalter dargestellt, oder als {page} of {total-pages} im Fußbereich dieses HTML-Textes.
Das erstellte PDF-Dokument wird von dieser Methode als PdfDocument-Objekt zurückgegeben. Mithilfe der SaveAs-Methode speichern wir das PDF-Dokument als Datei mit dem Namen "output.pdf". Alternativ können wir die OpenInDefaultPDFViewer-Funktion verwenden, um das erstellte PDF-Dokument mit dem Standard-PDF-Reader des Systems zu öffnen. Wir können mit der obigen Methode auch Seitenzahlen zu einer bestehenden PDF-Datei hinzufügen.

Um mehr über den IronPDF-Code zu erfahren, klicken Sie hier.
Seitenzahlen mit iText hinzufügen
Zuerst verwenden wir iText, um ein neues PDF-Dokument zu erstellen. Hier ist eine grundlegende Veranschaulichung, wie man ein neues PDF-Dokument mit einer Seitenzahl erstellt:
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// Create a new PDF document
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
doc.Open();
doc.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
doc.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnOpenDocument(PdfWriter writer, Document document)
{
base.OnOpenDocument(writer, document);
}
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table to hold the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
// Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150f, document.Bottom, writer.DirectContent);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
}
}
}
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// Create a new PDF document
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("output.pdf", FileMode.Create));
// Open the document to add content
doc.Open();
doc.Add(new Paragraph("Hello, world!"));
// Attach page number event to PDF writer
writer.PageEvent = new PageNumberEventHandler();
// Close the document
doc.Close();
}
}
public class PageNumberEventHandler : PdfPageEventHelper
{
public override void OnOpenDocument(PdfWriter writer, Document document)
{
base.OnOpenDocument(writer, document);
}
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
// Create a table to hold the page number
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 300f;
table.HorizontalAlignment = Element.ALIGN_CENTER;
PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
cell.Border = 0;
table.AddCell(cell);
// Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150f, document.Bottom, writer.DirectContent);
}
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
}
}
}
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Namespace ConsoleApp1
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new PDF document
Dim doc As New Document()
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("output.pdf", FileMode.Create))
' Open the document to add content
doc.Open()
doc.Add(New Paragraph("Hello, world!"))
' Attach page number event to PDF writer
writer.PageEvent = New PageNumberEventHandler()
' Close the document
doc.Close()
End Sub
End Class
Public Class PageNumberEventHandler
Inherits PdfPageEventHelper
Public Overrides Sub OnOpenDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnOpenDocument(writer, document)
End Sub
Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnEndPage(writer, document)
' Create a table to hold the page number
Dim table As New PdfPTable(1)
table.TotalWidth = 300F
table.HorizontalAlignment = Element.ALIGN_CENTER
Dim cell As New PdfPCell(New Phrase($"Page {writer.PageNumber}"))
cell.Border = 0
table.AddCell(cell)
' Write the table at the bottom of the page
table.WriteSelectedRows(0, -1, 150F, document.Bottom, writer.DirectContent)
End Sub
Public Overrides Sub OnCloseDocument(ByVal writer As PdfWriter, ByVal document As Document)
MyBase.OnCloseDocument(writer, document)
End Sub
End Class
End Namespace
Zuerst erstellen wir ein neues Objekt für Document und PdfWriter, das es uns ermöglicht, eine leere PDF-Datei zu erstellen. Sie können Text, Fotos, Tabellen und andere Materialien in Ihr PDF-Dokument einfügen. Lassen Sie uns einen Paragraph verwenden, um einige Beispieltexte für Demonstrationszwecke hinzuzufügen. Der wichtige Schritt ist nun, Seitenzahlen zum PDF-Dokument hinzuzufügen. Wir werden dafür die Seitenevents von iText verwenden. Wir beginnen mit der Definition einer Klasse, die von der PdfPageEventHelper-Klasse erbt, um Methoden zu überschreiben, die aufgerufen werden, wenn bestimmte Ereignisse während des PDF-Erstellungsprozesses eintreten.
Die OnEndPage-Funktion wird in dieser Klasse überschrieben, um eine Tabelle hinzuzufügen, die eine einzelne Zelle mit der aktuellen Seitennummer enthält. Zuletzt, bevor wir das Dokument schließen, müssen wir eine Instanz unserer PageNumberEventHandler-Klasse mit dem PdfWriter-Objekt verbinden. Mit dieser Konfiguration wird die PageNumberEventHandler-Klasse-Funktion OnEndPage jedes Mal aufgerufen, wenn eine neue Seite zum PDF-Dokument hinzugefügt wird, und fügt die Seitennummer am unteren Rand jeder Seite hinzu. Wir können auch ein vorhandenes PDF-Dokument verwenden, um Seitenzahlen hinzuzufügen.

Abschluss
Zusammenfassend positioniert sich die IronPDF durch ihre Spezialisierung, Benutzerfreundlichkeit und nahtlose Integration in .NET-Umgebungen als beste Option für Szenarien, die HTML-zu-PDF-Konvertierungen und verwandte Funktionen erfordern, obwohl iText immer noch ein starker Konkurrent im Bereich der C#-PDF-Verarbeitungslibraries ist. Mit IronPDF können Sie Rechnungen, Berichte und dynamisch erzeugte Dokumente aus HTML-Inhalten mit der erforderlichen Leichtigkeit, Effektivität und Anpassungsfähigkeit erstellen, um in der modernen Entwicklungsumgebung erfolgreich zu sein.
Eine permanente Lizenz, Upgrade-Optionen und ein Jahr Software-Wartung sind alle in der Lite-Edition von IronPDF enthalten. Die mit Wasserzeichen versehene Testphase ermöglicht es den Benutzern, das Produkt in praxisnahen Umgebungen zu bewerten. Besuchen Sie die Lizenzseite Seite für weitere Details. Gehen Sie zu dieser Website, um mehr über Iron Software zu erfahren.
Häufig gestellte Fragen
Wie kann ich Seitenzahlen zu einem PDF mit C# hinzufügen?
Sie können Seitenzahlen zu einem PDF hinzufügen, indem Sie IronPDF verwenden, HTML-Inhalte mit Seitenzahlplatzhaltern definieren und die Methode AddHtmlFooters verwenden, um es als Fußzeile in Ihrem PDF anzuwenden.
Was sind die Vorteile der Verwendung von IronPDF für die PDF-Bearbeitung?
IronPDF bietet robuste PDF.NET-Framework-Funktionen, unterstützt HTML5, JavaScript, CSS und Bild-zu-PDF-Konvertierungen, was die Manipulation von PDFs mit benutzerdefinierten Kopf- und Fußzeilen erleichtert.
Wie vergleicht sich iTextSharp mit IronPDF beim Hinzufügen von Seitenzahlen?
iTextSharp verwendet die Klasse PdfPageEventHelper, um Seitenzahlen zu behandeln, während IronPDF einen einfacheren Ansatz bietet, indem Sie HTML-Fußzeilen mit Platzhaltern für Seitenzahlen definieren können.
Kann ich bestehende PDF-Dateien manipulieren, um Seitenzahlen hinzuzufügen?
Ja, mit IronPDF können Sie Seitenzahlen zu bestehenden PDF-Dateien hinzufügen, indem Sie HTML-Fußzeilen mit Platzhaltern für Seitenzahlen rendern und mit dem Originaldokument verschmelzen.
Was ist die bevorzugte Methode für die Konvertierung von HTML zu PDF?
IronPDF wird für die HTML-zu-PDF-Konvertierung bevorzugt, da es sich nahtlos in .NET-Umgebungen integriert und HTML5, JavaScript und CSS problemlos verarbeitet.
Welche Installationsschritte gibt es zur Verwendung von IronPDF in einem C#-Projekt?
Sie können IronPDF in einem C#-Projekt installieren, indem Sie den NuGet-Package-Manager in Visual Studio verwenden, nach 'IronPDF' suchen und es Ihrem Projekt hinzufügen.
Wie stelle ich sicher, dass meine PDFs mit C# genaue Seitenzahlen haben?
Mit IronPDF stellen Sie sicher, dass Ihre Seitenzahlen korrekt sind, indem Sie eine HTML-Vorlage mit Seitenzahlplatzhaltern definieren und sie konsistent auf alle PDF-Seiten anwenden.
Gibt es Lizenzoptionen für IronPDF?
IronPDF bietet eine 'Lite'-Edition mit einer dauerhaften Lizenz, Upgrade-Optionen und einem Jahr Software-Wartung sowie einer Testphase mit Wasserzeichen zur Evaluation.
Wo finde ich detaillierte Beispiele und Dokumentation zur Verwendung von IronPDF?
Umfassende Dokumentation und Beispiele zur Verwendung von IronPDF finden Sie auf deren offizieller Website unter ironpdf.com.
Ist IronPDF vollständig mit .NET 10 kompatibel und kann ich Seitennummerierungsfunktionen in einem .NET 10-Projekt verwenden?
Ja, IronPDF unterstützt .NET 10 und alle seine Funktionen – einschließlich der Seitennummerierung über Platzhalter in Kopf- oder Fußzeilen – funktionieren in .NET 10-Projekten ohne spezielle Konfiguration oder Workarounds.




