Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
"Portable Document Format" oder PDF ist ein von Adobe entwickeltes Dateiformat. PDF-Dateien sind praktisch, wenn es um die Präsentation von Dokumenten geht, deren Text und Fotos formatiert werden müssen. In der heutigen Welt sind PDF-Dateien unverzichtbar und werden in allen Unternehmensbereichen zur Dokumentenerstellung und Rechnungsstellung verwendet. Dank der zahlreichen PDF-Bibliotheken, die es inzwischen auf dem Markt gibt, ist die Erstellung von PDFs praktisch zum Kinderspiel geworden. Um die für Sie geeignete PDF-Bibliothek auszuwählen, müssen Sie die Vorteile und Merkmale der einzelnen Bibliotheken abwägen, bevor Sie eine für Ihr Projekt verwenden.
In diesem Artikel wird gezeigt, wie man mit iTextSharp C# Seitenzahlen in PDF-Dateien einfügt. Außerdem werden wir den Vergleich der iTextSharp mit IronPDF.
Erstellen Sie ein neues C#-Projekt mit einer beliebigen IDE.
Erstellen Sie ein neues PDF-Objekt.
Fügen Sie Seitenzahlen in die HTML-Fußzeile ein.
Erstellen Sie eine PDF-Datei aus HTML-Material.
IronPDF ist ein robustes PDF .NET-Framework, mit dem Entwickler mühelos PDFs erstellen, anzeigen und bearbeiten können. IronPDF ist ein hochentwickeltes Tool, das intern auf einer Chromium-Engine läuft. Es kann HTML5-, JavaScript-, CSS- und Bilddateien in PDF konvertieren, benutzerdefinierte Kopf- und Fußzeilen hinzufügen und PDFs genau so erstellen, wie sie in einem Browser angezeigt werden. IronPDF unterstützt viele Online- und Netzformate, darunter HTML, ASPX, Razor View und MVC.
die Möglichkeit, die Seiten zahlreicher PDF-Dokumente mühelos zu trennen und zu kombinieren.
Weitere Informationen über die IronPDF-Dokumentation finden Sie unter *hier.
Wählen Sie innerhalb der Visual Studio Tools den NuGet Package Manager aus, und Sie finden die Visual Command-Line-Schnittstelle unter Tools. Der folgende Befehl sollte in die Terminal-Registerkarte der Paketverwaltung eingegeben werden.
Install-Package IronPdf
Oder wir können die Methode der Paketverwaltung verwenden. Die Installation des Pakets direkt in die Lösung ist mit der Option NuGet Package Manager von Visual Studio möglich. Zum Auffinden von Paketen auf der NuGet-Website steht ein Suchfeld zur Verfügung. Wir müssen nur nach "IronPDF" im Paketmanager suchen, wie der folgende Screenshot zeigt:
Die Liste der relevanten Suchergebnisse ist in der obigen Abbildung dargestellt. Damit das Paket auf Ihrem System installiert werden kann, treffen Sie bitte die erforderlichen Auswahlen.
Nachdem das Paket nun heruntergeladen und installiert wurde, kann es im aktuellen Projekt verwendet werden.
iTextSharp ist eine flexible Bibliothek zum Erstellen und Ändern von PDF-Dokumenten in C#. Es bietet verschiedene Funktionen, wie Verschlüsselung, PDF-Zusammenführung, Text- und Bildextraktion und vieles mehr. iTextSharp ist ein effizientes Werkzeug für zahlreiche Aufgaben, darunter das Hinzufügen von Seitenzahlen zu PDFs.
Verwenden Sie den NuGet-Paketmanager, um nach iText zu suchen. iText7 und iText.pdfhtml sind erforderliche Installationen, da die iText-Funktionen auf viele Pakete verteilt sind.
Wenn Sie sich für die Visual Command-Line-Schnittstelle entscheiden, müssen die folgenden Pakete installiert werden:
Install-Package iTextSharp
Da iText 7 die neueste Version ist, verwenden wir sie in unserer Lösung.
Das Hinzufügen von Seitenzahlen zu PDF-Dateien wird durch die umfassende Bibliothek von IronPDF vereinfacht. Zur Veranschaulichung sehen Sie sich den folgenden Code an.
using IronPdf;
static void main(string [] args)
{
var renderer = new IronPdf.HtmlToPdf();
private string header = "<h1>Hello Ironpdf!<h1>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Add footer
pdf.AddHtmlFooters(htmlFooter);
pdf.SaveAs("output.pdf");
}
using IronPdf;
static void main(string [] args)
{
var renderer = new IronPdf.HtmlToPdf();
private string header = "<h1>Hello Ironpdf!<h1>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(header);
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};
// Add footer
pdf.AddHtmlFooters(htmlFooter);
pdf.SaveAs("output.pdf");
}
Imports IronPdf
Shared Sub main(ByVal args() As String)
Dim renderer = New IronPdf.HtmlToPdf()
private String header = "<h1>Hello Ironpdf!<h1>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)
Dim htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Add footer
pdf.AddHtmlFooters(htmlFooter)
pdf.SaveAs("output.pdf")
End Sub
Zunächst definieren wir den HTML-Text, der in eine PDF-Datei umgewandelt werden soll. Dieser HTML-Inhalt kann aus einem einzelnen HTML-Absatz oder einer ganzen HTML-Seite bestehen. Als nächstes erstellen wir eine Instanz der Klasse HTMLToPdf, die die HTML-zu-PDF-Konvertierungsfunktion RenderHtmlAsPdf anbietet.
Der HTML-Inhalt wird als Argument an die Funktion RenderHtmlAsPdf übergeben. Wir geben das HTML-Material an, das in ein PDF umgewandelt werden soll. Seitenzahlen werden als Platzhalter dargestellt, oder die {seite} von {gesamt-Seiten} __im Fußzeilenteil dieses HTML-Textes.
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 Standard-PDF-Reader des Systems zu öffnen. Mit der oben beschriebenen Methode können wir auch Seitenzahlen zu einer bestehenden PDF-Datei hinzufügen.
Weitere Informationen über den IronPDF-Code finden Sie unter *hier.
Lassen Sie uns zunächst mit iTextSharp ein neues PDF-Dokument erstellen. Hier ist eine einfache Illustration, 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(document, new FileStream("output.pdf", FileMode.Create));
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);
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);
table.WriteSelectedRows(0, -1, 150, 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(document, new FileStream("output.pdf", FileMode.Create));
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);
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);
table.WriteSelectedRows(0, -1, 150, 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(document, New FileStream("output.pdf", FileMode.Create))
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)
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)
table.WriteSelectedRows(0, -1, 150, 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
Zunächst erstellen wir ein neues Objekt für Document und PdfWriter, mit dem wir eine leere PDF-Datei erstellen können. Sie können Text, Fotos, Tabellen und andere Arten von Material in Ihr PDF-Dokument einfügen. Verwenden wir den neuen Absatz, um zur Veranschaulichung einen Beispieltext hinzuzufügen. Der wichtigste Schritt besteht nun darin, dem PDF-Dokument Seitenzahlen hinzuzufügen. Dazu werden wir die Seitenereignisse von iTextSharp verwenden. Um Methoden überschreiben zu können, die aufgerufen werden, wenn bestimmte Ereignisse während des PDF-Erzeugungsprozesses auftreten, konstruieren wir zunächst eine Klasse, die von der Klasse PdfPageEventHelper erbt.
Die Funktion OnEndPage wird in dieser Klasse überschrieben, um eine Tabelle mit einer einzigen Zelle hinzuzufügen, die die aktuelle Seitenzahl enthält. Bevor wir das Dokument schließen, müssen wir noch eine Instanz unserer Klasse PageNumberEventHandler mit dem Objekt PdfWriter verbinden. Mit dieser Konfiguration wird die Funktion OnEndPage der Klasse PageNumberEventHandler jedes Mal aufgerufen, wenn dem PDF-Dokument eine neue Seite hinzugefügt wird, wobei die Seitenzahl am Ende jeder Seite hinzugefügt wird. Wir können auch ein bestehendes PDF-Dokument verwenden, um Seitenzahlen hinzuzufügen.
Zusammengefasst, IronPDFdie Spezialisierung, die Benutzerfreundlichkeit und die nahtlose Integration in .NET-Umgebungen machen iTextSharp zur besten Option für Szenarien, die eine Konvertierung von HTML in PDF und verwandte Funktionen erfordern, auch wenn iTextSharp immer noch ein starker Konkurrent in der Landschaft der C#-Bibliotheken zur PDF-Bearbeitung ist. Mit IronPDF können Sie Rechnungen, Berichte und dynamisch erstellte Dokumente aus HTML-Inhalten mit der Leichtigkeit, Effektivität und Anpassungsfähigkeit erstellen, die für den Erfolg in der modernen Entwicklungsumgebung erforderlich sind.
Eine permanente Lizenz, Upgrade-Optionen und ein Jahr Software-Wartung sind in IronPDFs $749 Lite-Edition enthalten. Der mit Wasserzeichen versehene Testzeitraum ermöglicht es den Benutzern, das Produkt in der Praxis zu testen. Besuchen Sie die Lizenz *Seite. Hier geht es weiter Webseite um mehr über Iron Software zu erfahren.
9 .NET API-Produkte für Ihre Bürodokumente