Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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:
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.
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:
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.
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.
Die IronPDF Library kann auf vier Arten heruntergeladen und installiert werden:
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.
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.
Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Website herunterzuladen.
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:
Die iText-Bibliothek kann auf vier Arten heruntergeladen und installiert werden:
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.
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.
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.
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
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.
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
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.
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.
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")
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.
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)
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:
Wir können pDF lesen dokumente mit IronPDF und EO.pdf.
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()
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.
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
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:
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.
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
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.
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
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:
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.
9 .NET API-Produkte für Ihre Bürodokumente