Zum Fußzeileninhalt springen
IRONPDF NUTZEN

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. Also, we will compare iTextSharp with IronPDF.

Wie man Seitenzahlen in PDFs mit iTextSharp C# hinzufügt

  1. Erstellen Sie ein neues C#-Projekt mit einer beliebigen IDE.
  2. Erstellen Sie ein neues PDF-Objekt.
  3. Fügen Sie die Seitenzahlen der HTML-Fußzeile hinzu.
  4. Erstellen Sie ein PDF aus HTML-Material.
  5. 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:

Wie man Seitenzahlen in PDFs mit iTextSharp in C# hinzufügt: Abbildung 1 - IronPDF aus dem Paketmanager installieren

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-Zeichenfolgen können mit dem iText-Programm in PDF-Dateien geparst 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. Um dies zu veranschaulichen, siehe den unten stehenden Code.

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
$vbLabelText   $csharpLabel

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 bietet.

Der HTML-Inhalt wird als Argument an die RenderHtmlAsPdf-Funktion übergeben. Wir spezifizieren das HTML-Material, das in ein PDF umgewandelt werden soll. Seitenzahlen werden als Platzhalter dargestellt, oder als {page} von {total-pages} im Footer-Bereich dieses HTML-Textes.

Das erstellte PDF-Dokument wird von dieser Methode als PdfDocument Objekt zurückgegeben. Mit der SaveAs-Methode 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 Standard-PDF-Reader des Systems zu öffnen. Wir können mit der obigen Methode auch Seitenzahlen zu einer bestehenden PDF-Datei hinzufügen.

![Wie man Seitenzahlen in PDFs mit iTextSharp in C#: Abbildung 2 - IronPDF: Ausgegebenes PDF mit Seitenzahlen]

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
$vbLabelText   $csharpLabel

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 Arten von Material in Ihr PDF-Dokument einfügen. Lassen Sie uns einen Paragraph verwenden, um einige Beispieltexte zu Demonstrationszwecken hinzuzufügen. Der wichtige Schritt ist nun, Seitenzahlen zum PDF-Dokument hinzuzufügen. Wir werden dafür die Seitenevents von iTextSharp verwenden. Wir beginnen mit der Definition einer Klasse, die von der PdfPageEventHelper Klasse erbt, um Methoden zu überschreiben, die aufgerufen werden, wenn spezifische Events während des PDF-Erstellungsprozesses stattfinden.

Die OnEndPage-Funktion wird in dieser Klasse überschrieben, um eine Tabelle hinzuzufügen, die eine einzelne Zelle mit der aktuellen Seitenzahl 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 OnEndPage-Funktion der PageNumberEventHandler-Klasse jedes Mal aufgerufen, wenn eine neue Seite zum PDF-Dokument hinzugefügt wird und die Seitenzahl am unteren Rand jeder Seite hinzugefügt. Wir können auch ein vorhandenes PDF-Dokument verwenden, um Seitenzahlen hinzuzufügen.

Wie man Seitenzahlen in PDFs mit iTextSharp in C# hinzufügt: Abbildung 3 - iTextSharp: Erzeugtes PDF mit Seitenzahlen

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 Dauerlizenz, Upgrade-Optionen und ein Jahr Softwarewartung 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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen