Wie man Seitenzahlen in PDF mit C# hinzufügt
"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 werden wir sehen, wie man mit iTextSharp C# Seitenzahlen in ein PDF einfügt. Außerdem werden wir iTextSharp mit IronPDF vergleichen.
Wie man Seitenzahlen in PDFs mit iTextSharp C# hinzufügt
- 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 iTextSharp
iTextSharp ist eine flexible Bibliothek zur Erstellung und Änderung von PDF-Dokumenten in C#. Es bietet mehrere Funktionen, wie Verschlüsselung, PDF-Zusammenführung, Text- und Bilderextraktion und vieles mehr. iTextSharp ist ein effizientes Tool für zahlreiche Aufgaben, einschließlich der Hinzufügung von Seitenzahlen zu PDFs.
iTextSharp 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.
iTextSharp installieren
Verwenden Sie den NuGet-Paketmanager, um nach iText zu suchen. iText7 und iText.pdfhtml sind notwendige Installationen, da iText-Funktionen über 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 7 die neueste Version ist, verwenden wir diese in unserer Lösung.
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 Klasse HtmlToPdf, die die HTML-zu-PDF-Konvertierungsfunktion RenderHtmlAsPdf bietet.
Der HTML-Inhalt wird als Argument an die Funktion RenderHtmlAsPdf übergeben. Wir spezifizieren das HTML-Material, das in ein PDF umgewandelt werden soll. Seitenzahlen werden als Platzhalter oder {page} of {total-pages} im Fußzeilenbereich dieses HTML-Textes dargestellt.
Das erstellte PDF-Dokument wird von dieser Methode als PdfDocument-Objekt zurückgegeben. Mit der Methode SaveAs speichern wir das PDF-Dokument in einer Datei mit dem Namen "output.pdf". Alternativ können wir die Funktion OpenInDefaultPDFViewer verwenden, um das erstellte PDF-Dokument mit dem standardmäßigen 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.
Hinzufügen von Seitenzahlen mit iTextSharp
Erstellen wir zuerst ein neues PDF-Dokument mit iTextSharp. 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, wodurch wir eine leere PDF-Datei erstellen können. Sie können Text, Fotos, Tabellen und andere Inhalte in Ihr PDF-Dokument einfügen. Verwenden wir Paragraph, um zu Demonstrationszwecken etwas Beispieltext hinzuzufügen. Der wichtige Schritt ist nun, Seitenzahlen zum PDF-Dokument hinzuzufügen. Wir werden dafür die Seitenevents von iTextSharp verwenden. Wir beginnen damit, eine Klasse zu definieren, die von der Klasse PdfPageEventHelper erbt, um Methoden überschreiben zu können, die aufgerufen werden, wenn während des PDF-Generierungsprozesses bestimmte Ereignisse eintreten.
Die Funktion OnEndPage wird in dieser Klasse überschrieben, um eine Tabelle hinzuzufügen, die eine einzelne Zelle mit der aktuellen Seitenzahl enthält. Bevor wir das Dokument schließen, müssen wir schließlich noch eine Instanz unserer Klasse PageNumberEventHandler mit dem Objekt PdfWriter verbinden. Mit dieser Konfiguration wird die Funktion PageNumberEventHandler der Klasse OnEndPage jedes Mal aufgerufen, wenn dem PDF-Dokument eine neue Seite hinzugefügt wird, und fügt die Seitenzahl am unteren Rand jeder Seite hinzu. Wir können auch ein vorhandenes PDF-Dokument verwenden, um Seitenzahlen hinzuzufügen.

Abschluss
Zusammenfassend positionieren IronPDF's Spezialisierung, Benutzerfreundlichkeit und nahtlose Integration mit .NET-Umgebungen es als die beste Option für Szenarien, die HTML zu PDF-Konvertierung und verwandte Funktionalitäten erfordern, obwohl iTextSharp immer noch ein starker Konkurrent im Bereich der C# PDF-Bibliotheken 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 dauerhafte Lizenz, Upgrade-Optionen und ein Jahr Softwarewartung sind 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.




