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. Außerdem werden wir iTextSharp mit IronPDF vergleichen.

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

  1. Neues C#-Projekt in beliebiger IDE erstellen.
  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:

So fügen Sie Seitenzahlen in PDFs mit iTextSharp in C# hinzu: Abbildung 1 – Installation von IronPDF über den Paketmanager

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");
    }
}
$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 Klasse HtmlToPdf, die die HTML-zu-PDF-Konvertierungsfunktion RenderHtmlAsPdf bereitstellt.

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.

So fügen Sie mit iTextSharp in C# Seitenzahlen in PDFs ein: 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);
        }
    }
}
$vbLabelText   $csharpLabel

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 mit der Definition einer Klasse, 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. Bei 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.

So fügen Sie mit iTextSharp in C# Seitenzahlen in PDFs ein: Abbildung 3 - iTextSharp: Ausgegebenes 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 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.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me