PRODUKT-VERGLEICHE

Ein Vergleich zwischen IronPDF und ITextPDF

Veröffentlicht 31. März 2022
Teilen Sie:

Einführung

PDF steht für "Portable Document Format", ein von Adobe entwickeltes Dateiformat. PDFs sind nützlich für die Präsentation von Dokumenten, die die Formatierung von Text und Bildern erfordern. PDF-Dateien spielen in der modernen Welt eine wichtige Rolle und werden in allen Arten von Geschäftsbereichen für Zwecke wie die Rechnungsstellung und die Erstellung von Dokumenten verwendet. Heute ist die PDF-Erstellung dank der auf dem Markt erhältlichen PDF-Bibliotheken nahezu intuitiv geworden. Wenn Sie sich für die Verwendung einer PDF-Bibliothek für Ihr Projekt entscheiden, ist es wichtig, die Funktionen und Vorteile jeder Bibliothek zu berücksichtigen, um die für Sie am besten geeignete Bibliothek auszuwählen.

In diesem Artikel vergleichen wir zwei der populärsten .NET PDF-Bibliotheken, diese sind:

  • IronPDF
  • iText PDF

    Die IronPDF- und iText-PDF-Bibliotheken werden beide zum Erstellen, Lesen und Ändern von PDF-Dateien in Ihrer Microsoft .NET-Anwendung oder Ihrem Projekt verwendet. Um zu entscheiden, welche Bibliothek für Ihre Anwendung am besten geeignet ist, werden wir zunächst die Funktionen der beiden Bibliotheken vergleichen, bevor wir uns den Kosten für die Konvertierung und Bearbeitung von PDF-Dateien zuwenden. Beide Bibliotheken werden von Microsoft .NET-Frameworks unterstützt. Wir werden auch die Zeitdauer jeder Bibliothek für die Analyse aufzeichnen.

1. IronPDF-Funktionen

IronPDF ist eine leistungsstarke PDF .NET-Bibliothek, die von Entwicklern zum einfachen Erstellen, Lesen und Ändern von PDFs verwendet wird. Intern verwendet IronPDF eine Chromium-Engine und enthält viele nützliche und leistungsstarke Funktionen wie die Konvertierung von HTML5-, JavaScript-, CSS- und Bilddateien in PDF, das Hinzufügen benutzerdefinierter Kopf- und Fußzeilen und das Rendern von PDFs genau so, wie sie in einem Browser angezeigt werden. IronPDF unterstützt verschiedene Web- und Netzformate wie HTML, ASPX, Razor View und MVC. Zu den wichtigsten Funktionen von IronPDF gehören:

  • Intuitives Erstellen, Lesen und Ändern von PDF-Dateien in .NET C#-Code.
  • Generierung von PDFs aus einem Website-URL-Link mit Einstellungen zur Handhabung von benutzerdefinierten Netzwerk-Anmeldeinformationen, User-Agents, Proxies, Cookies, HTTP-Headern und Formularvariablen, um die Anmeldung hinter HTML-Anmeldeformularen zu ermöglichen.
  • Die Extraktion von Bildern aus vorhandenen PDF-Dokumenten.
  • Hinzufügen von Kopf- und Fußzeilen, Text, Bildern, Lesezeichen, Wasserzeichen usw. zu PDF-Dokumenten.
  • Funktionen zum einfachen Zusammenführen und Teilen der Seiten mehrerer PDF-Dokumente.
  • Die Fähigkeit, CSS-Dateien und medienähnliche Dateien in Dokumente zu konvertieren.

2. iText PDF-Funktionen

iText PDF ist eine Open-Source-Java-Bibliothek, die Text in PDF-Dokumente umwandeln kann. iText folgt einem AGPL-Lizenzsystem. APGL ist eine freie und quelloffene Softwarelizenz.

  • Die iText-Bibliothek bietet eine API zur Erstellung von PDF-Dokumenten.
  • Die iText-Software ist in der Lage, sowohl HTML- als auch XML-Strings in PDF zu parsen.
  • Mit der iText-Bibliothek können wir Lesezeichen, Seitenzahlen und Markierungen zu unseren PDF-Dokumenten hinzufügen.
  • Mit der iText-Bibliothek können wir auch ein PDF-Dokument in mehrere PDFs aufteilen oder mehrere PDF-Dokumente zu einem einzigen PDF zusammenfassen.
  • Mit iText können wir Formulare in PDFs bearbeiten.
  • iText kann auch zur Erstellung von PDFs mit Bildern aus png, jpeg und anderen Bildformaten verwendet werden.
  • Die iText-Bibliothek bietet eine Canvas-Klasse, die zum Zeichnen verschiedener geometrischer Formen auf vorhandenen Dokumenten verwendet werden kann.
  • iText verfügt über eine Funktion zum Hinzufügen und Ändern von Schriftarten und Bildern in PDF-Dokumenten.

3. Erstellen eines neuen Projekts in Visual Studio

In diesem Artikel werden wir eine Konsolenanwendung verwenden, um PDF-Dokumente zu erzeugen. Öffnen Sie zunächst Microsoft Visual Studio und wählen Sie im Menü "Datei" die Option "Neues Projekt" und dann "Konsolenanwendung".

Geben Sie einen Projektnamen ein und wählen Sie einen Dateipfad. Klicken Sie dann auf die Schaltfläche Erstellen. Wählen Sie außerdem das gewünschte .NET-Framework aus, wie in der folgenden Abbildung dargestellt:

Microsoft Visual Studio generiert nun die Struktur für die ausgewählte Anwendung. Wenn Sie die Konsolen-, Windows- und Webanwendung ausgewählt haben, wird nun die Datei program.cs geöffnet, in die Sie den Code eingeben und die Anwendung erstellen/ausführen können.

Wählen Sie die Version des .NET-Frameworks. In diesem Beispiel werden wir .NET 5.0 verwenden

Als nächstes können wir die Bibliothek hinzufügen, um den Code zu testen.

4. Installieren Sie die IronPDF-Bibliothek

Die IronPDF Library kann auf vier Arten heruntergeladen und installiert werden:

  • Verwendung des NuGet-Paketmanagers von Visual Studio.
  • Verwendung der Befehlszeile von Visual Studio.
  • Direktes Herunterladen von der NuGet-Website.
  • Direktes Herunterladen von der IronPDF-Website.

4.1 Verwendung des NuGet-Paketmanagers von Visual Studio

Visual Studio bietet die Option NuGet Package Manager, um das Paket direkt in der Lösung zu installieren. Der folgende Screenshot zeigt, wie Sie den NuGet Package Manager öffnen.

Es bietet ein Suchfeld, um Pakete auf der NuGet-Website zu finden. Im Paketmanager können wir einfach nach "IronPDF" suchen, wie in der Abbildung unten gezeigt:

In der obigen Abbildung sehen wir die Liste der verwandten Suchergebnisse. Bitte wählen Sie die gewünschten Optionen aus, um das Paket auf Ihrem System zu installieren.

4.2 Verwendung der Visual Studio-Befehlszeile

Gehen Sie in Visual Studio Tool zu Werkzeuge-> NuGet Paketmanager-> Paketmanager-Konsole

Geben Sie die folgende Zeile in die Registerkarte der Paketmanager-Konsole ein:

Install-Package IronPdf

Das Paket wird nun heruntergeladen und im aktuellen Projekt installiert und kann verwendet werden.

4.3 Direktes Herunterladen von der NuGet-Website

Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Website herunterzuladen.

  • Navigieren Sie zu dem Link "https://www.nuget.org/packages/IronPdf/"
  • Wählen Sie die Option "Paket herunterladen" aus dem Menü auf der rechten Seite.
  • Öffnen Sie das heruntergeladene Paket. Sie wird automatisch installiert.
  • Laden Sie die Lösung neu und verwenden Sie sie in Ihrem Projekt.

4.4 Direktes Herunterladen von der IronPDF-Website

Klicken Sie auf diesen Link, um das neueste Paket direkt von unserer Website herunterzuladen. Führen Sie nach dem Herunterladen die folgenden Schritte aus, um das Paket zu Ihrem Projekt hinzuzufügen:

  • Klicken Sie mit der rechten Maustaste auf das Projekt im Lösungsfenster.
  • Wählen Sie die Option "Referenz" und suchen Sie dann den Speicherort der heruntergeladenen Referenz.
  • Klicken Sie auf OK, um die Referenz hinzuzufügen.

5. IText-Bibliothek installieren

Die iText-Bibliothek kann auf vier Arten heruntergeladen und installiert werden:

  • Verwendung des NuGet-Paketmanagers von Visual Studio.
  • Verwendung der Befehlszeile von Visual Studio.
  • Direktes Herunterladen von der NuGet-Website.
  • Direktes Herunterladen von der iText Source Website.

    Die ersten drei Methoden sind für die IronPDF- und iText-Bibliotheken identisch. Die einzige abweichende Methode. Es ist wichtig zu beachten, dass Sie beim Hinzufügen von iText über Visual Studio zwei Pakete installieren müssen.

    Suchen Sie zunächst im NuGet-Paketmanager nach iText. Wir müssen sowohl itext7 als auch iText.pdfhtml installieren. weil diese Pakete ihre Funktionen auf mehrere Pakete verteilt haben.

    Wenn Sie die Visual Command-Line bevorzugen, sind die folgenden Pakete zu installieren:

Install-Package itext7
Install-Package itext7.pdfhtml

iText 7 ist die neueste Version, daher verwenden wir diese Version in unserer Lösung.

5.1 Direktes Herunterladen von der iText Source Website

Der Quellcode wird auf GitHub verfügbar sein hier für iText 7.

Wir können iText 7 bekommen hier.

Sie können den Quellcode erhalten, der alle Klassendateien zu iText 7 enthält, und ihn als Referenz in die Lösung einfügen.

6. Erstellen einer PDF-Datei aus einer URL

Sowohl die PDF-Bibliothek als auch der Webpage-Source-to-PDF-Konverter sind nützlich. Schauen wir uns an, wie wir aus einer URL einer Webseite eine PDF-Datei erstellen können.

6.1 IronPDF verwenden

Mit IronPDF können wir ganz einfach eine PDF-Datei erstellen. Es generiert eine Webseiten-Quelldatei aus einer URL und konvertiert sie in ein neues Dokument.

Mit den folgenden Schritten können Sie ganz einfach ein PDF-Dokument erstellen.

using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
namespace PdfConsoleApp
{
    internal class Program
    {
        public static void Main(string [] args)
        {
        IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
        var Pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program");
        Pdf.SaveAs("result.pdf");

        // or optionally:

        var Renderer = new IronPdf.ChromePdfRenderer().
        RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program").SaveAs("result.pdf");
        }
    }
}
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
namespace PdfConsoleApp
{
    internal class Program
    {
        public static void Main(string [] args)
        {
        IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
        var Pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program");
        Pdf.SaveAs("result.pdf");

        // or optionally:

        var Renderer = new IronPdf.ChromePdfRenderer().
        RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program").SaveAs("result.pdf");
        }
    }
}
Imports System.Diagnostics
Imports System.IO
Imports System.Net
Imports System.Text
Namespace PdfConsoleApp
	Friend Class Program
		Public Shared Sub Main(ByVal args() As String)
		Dim Renderer As New IronPdf.ChromePdfRenderer()
		Dim Pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program")
		Pdf.SaveAs("result.pdf")

		' or optionally:

		Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program").SaveAs("result.pdf")
		End Sub
	End Class
End Namespace
VB   C#

Oben wurden zwei Methoden vorgestellt, um eine URL einer Webseite in ein PDF-Dokument zu konvertieren und es wie im obigen Beispiel zu speichern. Die erste Methode besteht darin, ein Dokument zu erstellen, indem ein IronPDF PDF-Dokument konstruiert wird, während die andere Methode darin besteht, die URL zu rendern und sie in derselben Zeile als PDF zu speichern. Dabei wird die Seitenquelle in einen Chunk heruntergeladen und in Dokumente umgewandelt, um den Prozess zu beschleunigen.

Im obigen Beispiel verwenden wir RenderUrlAsPdf, um die Webseite in ein Dokument zu konvertieren. Nur der Link und der Speicherort müssen angegeben werden. Die PDF-Konvertierung dauert 7,3 Sekunden.

6.2 iText verwenden

mit iText PDF können wir auch ein PDF-Dokument erstellen. Bei iText müssen wir die WebClient-Funktion verwenden, um aus der URL ein PDF zu erzeugen. client-Funktion, die es uns ermöglicht, die URL in eine Zeichenkette herunterzuladen, die wir dann in eine PDF-Datei umwandeln können.

In iText benötigen wir verschiedene Klassen, um ein PDF-Dokument zu erzeugen. PdfWriter ist eine Klasse, die es uns ermöglicht, eine leere Datei an einem bestimmten Ort zu erstellen und ein Objekt für diese Klasse zu erzeugen. PdfDocument ist ebenfalls eine Klasse, die uns hilft, eine PDF-Datei zu lesen und sie in ein PDF-Dokument-Objekt zu schreiben. PageSize ist auch eine Klasse, die uns hilft, die Seiteneinstellung des Dokuments zu handhaben.

ConverterProperties ist eine Klasse, die verwendet wird, um die Web-Seite Zeichenfolge in der PDF-Dokument gibt es verschiedene, um die Breite der Seite usw. eingestellt formatieren,

HtmlConverter ist eine Klasse aus dem Namespace iText.Html2pdf. Der HTML-Konverter ist eine Klasse, die eine Funktion namens "ConvertTopdf" hat. Dies ist eine statische Funktion, mit der wir die heruntergeladene Webseite in eine PDF-Datei schreiben können. Allerdings müssen wir das Pdfwriter- und das ConverterProperties-Objekt als Parameter an den HTML-Konverter übergeben.

using iText.Html2pdf;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
using iText.StyledXmlParser.Css.Media;
namespace PdfConsoleApp
{
    internal class Program
    {
        public static void Main(string [] args)
        {            
    PdfWriter writer = new PdfWriter("itext.pdf");
            PdfDocument pdf = new PdfDocument(writer);
            PageSize pageSize = new PageSize(850, 1700);
            pdf.SetDefaultPageSize(pageSize);
            ConverterProperties properties = new ConverterProperties();
            MediaDeviceDescription mediaDeviceDescription =
                new MediaDeviceDescription(MediaType.SCREEN);
            mediaDeviceDescription.SetWidth(pageSize.GetWidth());
            properties.SetMediaDeviceDescription(mediaDeviceDescription);
            string strdownload = new WebClient().DownloadString("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program");
            HtmlConverter.ConvertToPdf(strdownload, pdf, properties);
}
}
}
using iText.Html2pdf;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
using iText.StyledXmlParser.Css.Media;
namespace PdfConsoleApp
{
    internal class Program
    {
        public static void Main(string [] args)
        {            
    PdfWriter writer = new PdfWriter("itext.pdf");
            PdfDocument pdf = new PdfDocument(writer);
            PageSize pageSize = new PageSize(850, 1700);
            pdf.SetDefaultPageSize(pageSize);
            ConverterProperties properties = new ConverterProperties();
            MediaDeviceDescription mediaDeviceDescription =
                new MediaDeviceDescription(MediaType.SCREEN);
            mediaDeviceDescription.SetWidth(pageSize.GetWidth());
            properties.SetMediaDeviceDescription(mediaDeviceDescription);
            string strdownload = new WebClient().DownloadString("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program");
            HtmlConverter.ConvertToPdf(strdownload, pdf, properties);
}
}
}
Imports iText.Html2pdf
Imports iText.Kernel.Geom
Imports iText.Kernel.Pdf
Imports iText.StyledXmlParser.Css.Media
Namespace PdfConsoleApp
	Friend Class Program
		Public Shared Sub Main(ByVal args() As String)
	Dim writer As New PdfWriter("itext.pdf")
			Dim pdf As New PdfDocument(writer)
			Dim pageSize As New PageSize(850, 1700)
			pdf.SetDefaultPageSize(pageSize)
			Dim properties As New ConverterProperties()
			Dim mediaDeviceDescription As New MediaDeviceDescription(MediaType.SCREEN)
			mediaDeviceDescription.SetWidth(pageSize.GetWidth())
			properties.SetMediaDeviceDescription(mediaDeviceDescription)
			Dim strdownload As String = (New WebClient()).DownloadString("https://en.wikipedia.org/wiki/%22Hello,_World!%22_program")
			HtmlConverter.ConvertToPdf(strdownload, pdf, properties)
		End Sub
	End Class
End Namespace
VB   C#

Ergebnis:

Hier ist das von IronPDF und iText generierte PDF. Die PDF-Datei auf der linken Seite wird von IronPDF erzeugt, die PDF-Datei auf der rechten Seite von iText. Nachfolgend ist die Zeit angegeben, die für die Erstellung der PDF-Datei benötigt wird.

Die Ergebnisse hängen von der Netzwerkbandbreite ab.

7. Erstellen einer PDF-Datei mit HTML

Sowohl IronPDF als auch iText bieten eine Möglichkeit, HTML-Strings in PDF zu konvertieren. Beide Bibliotheken bieten eine einfache Möglichkeit, dies zu tun.

7.1 IronPDF verwenden

Mit Hilfe von IronPDF können wir die Quelle einer Webseite in ein Dokument umwandeln. Das folgende Beispiel zeigt, wie eine HTML-Zeichenkette in ein Dokument umgewandelt werden kann. Außerdem kann es jedes Tag-Element in ein PDF-Dokument umwandeln.

var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
VB   C#

Das vorangehende Beispiel zeigt, wie Sie mit RenderHtmlAsPdf eine HTML-Zeichenfolge umwandeln können. Außerdem können wir eine beliebige Anzahl von HTML-Zeichenfolgen an die Funktion übergeben, die den Webseiten-Quelltext in eine Zeichenfolge umwandelt. Nach dem Abrufen der Zeichenfolge können wir das Dokument mit der Funktion Speichern unter speichern. Es dauert 2,7 Sekunden, um den Vorgang abzuschließen.

7.2 iText verwenden

Mit Hilfe von iText PDF können wir Quelltexte von Webseiten in PDF konvertieren. Im Folgenden wird ein Beispiel für die Erstellung eines Dokuments aus einer Webseiten-Quellzeichenfolge gegeben. Es ist auch in der Lage, jedes Tag-Element in ein neues Dokument zu konvertieren.

PdfWriter writer = new PdfWriter("itext.pdf");
PdfDocument pdf = new PdfDocument(writer);
PageSize pageSize = new PageSize(850, 1700);
pdf.SetDefaultPageSize(pageSize);
ConverterProperties properties = new ConverterProperties();
MediaDeviceDescription mediaDeviceDescription =
    new MediaDeviceDescription(MediaType.SCREEN);
mediaDeviceDescription.SetWidth(pageSize.GetWidth());
properties.SetMediaDeviceDescription(mediaDeviceDescription);
HtmlConverter.ConvertToPdf("<h1>Hello world!!</h1>", pdf, properties);
PdfWriter writer = new PdfWriter("itext.pdf");
PdfDocument pdf = new PdfDocument(writer);
PageSize pageSize = new PageSize(850, 1700);
pdf.SetDefaultPageSize(pageSize);
ConverterProperties properties = new ConverterProperties();
MediaDeviceDescription mediaDeviceDescription =
    new MediaDeviceDescription(MediaType.SCREEN);
mediaDeviceDescription.SetWidth(pageSize.GetWidth());
properties.SetMediaDeviceDescription(mediaDeviceDescription);
HtmlConverter.ConvertToPdf("<h1>Hello world!!</h1>", pdf, properties);
Dim writer As New PdfWriter("itext.pdf")
Dim pdf As New PdfDocument(writer)
Dim pageSize As New PageSize(850, 1700)
pdf.SetDefaultPageSize(pageSize)
Dim properties As New ConverterProperties()
Dim mediaDeviceDescription As New MediaDeviceDescription(MediaType.SCREEN)
mediaDeviceDescription.SetWidth(pageSize.GetWidth())
properties.SetMediaDeviceDescription(mediaDeviceDescription)
HtmlConverter.ConvertToPdf("<h1>Hello world!!</h1>", pdf, properties)
VB   C#

Dies ist ähnlich wie bei der Umwandlung von URLs in PDFs. Der einzige Schritt, den wir entfernen müssen, ist der WebClient, und stattdessen müssen wir die Quellzeichenfolge der Webseite im Parameter verwenden. Damit wird die angegebene Zeichenkette abgerufen und in ein neues Dokument umgewandelt.

Ergebnis:

8. Lesen von PDF-Dokumenten

Wir können pDF lesen dokumente mit IronPDF und EO.pdf.

8.1 IronPDF verwenden

IronPDF hilft uns, vorhandene PDF-Dateien zu lesen. Nachfolgend finden Sie ein Beispiel für das Lesen von PDF-Dateien mit IronPDF.

var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
string AllText = pdfDocument.ExtractAllText();
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
string AllText = pdfDocument.ExtractAllText();
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
Dim AllText As String = pdfDocument.ExtractAllText()
VB   C#

Die Fromfile-Methode wird verwendet, um ein PDF-Dokument aus einer vorhandenen Datei zu lesen und in PDF-Dokumentobjekte umzuwandeln, wie im obigen Code gezeigt. Mit diesem Objekt können wir den Text und die Bilder lesen, die auf der PDF-Seite zugänglich sind. Dieser Vorgang dauert nur wenige Millisekunden.

8.2 iText PDF verwenden

die iText-Software ermöglicht es auch, Dokumente ohne die Hilfe eines externen Lesegeräts zu lesen.

using (PdfReader reader = new PdfReader("result.pdf"))
            {
                 text = new StringBuilder();
                PdfDocument pdf = new PdfDocument(reader);
                var strategy = new LocationTextExtractionStrategy();
                for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
                {
                    var pdfpage = pdf.GetPage(i);
                    text.Append(PdfTextExtractor.GetTextFromPage(pdfpage, strategy));
                }
            }
using (PdfReader reader = new PdfReader("result.pdf"))
            {
                 text = new StringBuilder();
                PdfDocument pdf = new PdfDocument(reader);
                var strategy = new LocationTextExtractionStrategy();
                for (int i = 1; i <= pdf.GetNumberOfPages(); i++)
                {
                    var pdfpage = pdf.GetPage(i);
                    text.Append(PdfTextExtractor.GetTextFromPage(pdfpage, strategy));
                }
            }
Using reader As New PdfReader("result.pdf")
				 text = New StringBuilder()
				Dim pdf As New PdfDocument(reader)
				Dim strategy = New LocationTextExtractionStrategy()
				Dim i As Integer = 1
				Do While i <= pdf.GetNumberOfPages()
					Dim pdfpage = pdf.GetPage(i)
					text.Append(PdfTextExtractor.GetTextFromPage(pdfpage, strategy))
					i += 1
				Loop
End Using
VB   C#

Der obige Code zeigt, dass wir Dokumente mit dem PDF-Reader lesen können. Das Einzige, was wir tun müssen, ist, den Speicherort der Datei als Parameter zu übergeben. Der PDF-Reader liest das Dokument und wandelt es in ein Objekt um. Mit Hilfe dieses Objekts können wir den Text von allen Seiten lesen, die wir für eine Schleife verwenden müssen.

Ergebnis:

9. Aufteilung von PDF-Dokumenten

Sowohl die IronPDF- als auch die iText-PDF-Bibliotheken ermöglichen die Aufteilung von Seiten in separate Dokumente. Beide bieten auch eine einfache Methode, um dies zu erreichen.

9.1 IronPDF verwenden

IronPDF ermöglicht es uns, die Seiten eines Dokuments in einzelne Dokumente aufzuteilen. Nachfolgend finden Sie ein Beispiel für die Aufteilung von Seiten in separate Dokumente.

var Splitdocument = IronPdf.PdfDocument.FromFile("result.pdf");
for (int i = 0; i < Splitdocument.PageCount; i++)
{
     Splitdocument.CopyPage(i).SaveAs("Ironpdfmerged"+i.ToString()+".pdf");
}
var Splitdocument = IronPdf.PdfDocument.FromFile("result.pdf");
for (int i = 0; i < Splitdocument.PageCount; i++)
{
     Splitdocument.CopyPage(i).SaveAs("Ironpdfmerged"+i.ToString()+".pdf");
}
Dim Splitdocument = IronPdf.PdfDocument.FromFile("result.pdf")
For i As Integer = 0 To Splitdocument.PageCount - 1
	 Splitdocument.CopyPage(i).SaveAs("Ironpdfmerged" & i.ToString() & ".pdf")
Next i
VB   C#

Im vorangegangenen Beispiel laden wir zunächst ein vorhandenes Dokument mit der fromfile-Methode der pdf-document-Klasse. Mit der Methode copypage können wir dann Seiten aus einem bestehenden Dokument kopieren, und mit der Methode Saveas können wir das Dokument in einer separaten Datei speichern. Die Seitenzahlen beginnen alle mit Null. Dementsprechend müssen wir eine Seitenzahl angeben, die mit einer Null beginnt.

9.2 iText PDF verwenden

Mit iText 7 können wir auch Seiten in einem PDF-Dokument aufteilen. Allerdings müssen wir zuerst eine separate Klassendatei schreiben, die PdfSplitter aus dem itext.kernel.Utils-Namensraum erbt. Dadurch wird eine Instanz zum Aufteilen der PDF-Daten erzeugt. Hier ist ein Code-Beispiel:

using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
using iText.Html2pdf;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Utils;
using iText.StyledXmlParser.Css.Media;

namespace PdfConsoleApp
{
    internal class Program
    {
        static void Main(string [] args)
        {
            using (var pdfDoc = new PdfDocument(new PdfReader("result.pdf")))
            {
                var outputDir = @"Itext_{0}.pdf";
                var splitter = new CustomPdfSplitter(pdfDoc, outputDir);
                var splittedDocs = splitter.SplitByPageCount(1);
                foreach (var splittedDoc in splittedDocs)
                {
                    splittedDoc.Close();
                }
            }
            Console.ReadKey();
        }
    }
    public class CustomPdfSplitter : PdfSplitter
    {
        private String dest;
        private int partNumber = 1;

        public CustomPdfSplitter(PdfDocument pdfDocument, String dest) : base(pdfDocument)
        {
            this.dest = dest;
        }

        protected override PdfWriter GetNextPdfWriter(PageRange documentPageRange)
        {
            return new PdfWriter(String.Format(dest, partNumber++));
        }
    }
}
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
using iText.Html2pdf;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Utils;
using iText.StyledXmlParser.Css.Media;

namespace PdfConsoleApp
{
    internal class Program
    {
        static void Main(string [] args)
        {
            using (var pdfDoc = new PdfDocument(new PdfReader("result.pdf")))
            {
                var outputDir = @"Itext_{0}.pdf";
                var splitter = new CustomPdfSplitter(pdfDoc, outputDir);
                var splittedDocs = splitter.SplitByPageCount(1);
                foreach (var splittedDoc in splittedDocs)
                {
                    splittedDoc.Close();
                }
            }
            Console.ReadKey();
        }
    }
    public class CustomPdfSplitter : PdfSplitter
    {
        private String dest;
        private int partNumber = 1;

        public CustomPdfSplitter(PdfDocument pdfDocument, String dest) : base(pdfDocument)
        {
            this.dest = dest;
        }

        protected override PdfWriter GetNextPdfWriter(PageRange documentPageRange)
        {
            return new PdfWriter(String.Format(dest, partNumber++));
        }
    }
}
Imports System
Imports System.Diagnostics
Imports System.IO
Imports System.Net
Imports System.Text
Imports iText.Html2pdf
Imports iText.Kernel.Geom
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Utils
Imports iText.StyledXmlParser.Css.Media

Namespace PdfConsoleApp
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Using pdfDoc = New PdfDocument(New PdfReader("result.pdf"))
				Dim outputDir = "Itext_{0}.pdf"
				Dim splitter = New CustomPdfSplitter(pdfDoc, outputDir)
				Dim splittedDocs = splitter.SplitByPageCount(1)
				For Each splittedDoc In splittedDocs
					splittedDoc.Close()
				Next splittedDoc
			End Using
			Console.ReadKey()
		End Sub
	End Class
	Public Class CustomPdfSplitter
		Inherits PdfSplitter

		Private dest As String
		Private partNumber As Integer = 1

		Public Sub New(ByVal pdfDocument As PdfDocument, ByVal dest As String)
			MyBase.New(pdfDocument)
			Me.dest = dest
		End Sub

		Protected Overrides Function GetNextPdfWriter(ByVal documentPageRange As PageRange) As PdfWriter
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: return new PdfWriter(String.Format(dest, partNumber++));
			Dim tempVar = New PdfWriter(String.Format(dest, partNumber))
			partNumber += 1
			Return tempVar
		End Function
	End Class
End Namespace
VB   C#

Wir haben eine benutzerdefinierte Klasse erstellt, die den pdfwriter außer Kraft setzt und es uns ermöglicht, die geteilte Datei mit dem benutzerdefinierten Namen unter Verwendung des ursprünglichen Dateinamens umzubenennen. Sie gibt die PDF-Seiten später in einem neuen Listenelement wieder, das dann zum Speichern in einem separaten Dokument verwendet werden kann.

Ergebnis:

Schlussfolgerung

IronPDF rendert nicht HTML zu PDF von einem entfernten Server. Stattdessen wird hinter den Kulissen eine Instanz eines echten, standardkonformen Webbrowsers gestartet (ohne dass zusätzliche Software installiert werden muss). Das HTML wird mit absoluter Genauigkeit gerendert - und zwar in einem Vektorformat, das für die höchsten Standards im kommerziellen Druck geeignet ist. Die Ausgabe ist eine saubere und hochwertige PDF-Datei. Daher ist IronPDF gegenüber iText PDF im Vorteil. IronPDF ist sehr empfehlenswert für pragmatische Programmierer, die effektiv und effizient arbeiten wollen. IronPDF ist offen für kommerzielle Zwecke, und alle Details zur Lizenzierung und Preisgestaltung sind auf der Website veröffentlicht. Sie können sich hier über unsere Lizenzoptionen für IronPDF informieren.

iText PDF unterstützt mehrere Schriftarten, und wir können nur eine Inline-Formatvorlage verwenden. Es erlaubt uns nicht, externe Stylesheets hinzuzufügen, da es nicht über eine Engine oder einen Browser zur Umwandlung von HTML in PDF-Dateien verfügt. iText rendert das HTML korrekt und genau, erstellt aber eine sehr große PDF-Datei. iText ist komplex und für Anfänger nicht geeignet. iText wird mit einer kommerziellen Lizenz und einer kostenlosen Entwicklerlizenz geliefert. Um mehr über die iText-Lizenz zu erfahren, klicken Sie hier.

IronPDF ist ein Muss für pragmatische Programmierer, die schnell und produktiv arbeiten wollen. Das Wichtigste ist, dass Sie Zeit sparen. IronPDF-Lizenzpakete bieten eine lebenslange Lizenz, und es fallen keine laufenden Kosten an.

Sie können IronPDF von dieser Seite herunterladen link.

< PREVIOUS
Ein Vergleich zwischen IronPDF und PDFreactor
NÄCHSTES >
Ein Vergleich zwischen IronPDF und GemBox.Pdf

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >