Ein Vergleich des Aufteilens von PDF in C# zwischen iTextSharp und IronPDF
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
PDF-Dateien (Portable Document Format) werden häufig zum Teilen und Präsentieren von Dokumenten verwendet, und es gibt Zeiten, in denen Sie möglicherweise ein PDF in mehrere Dateien aufteilen müssen. Egal, ob Sie bestimmte Seiten extrahieren, ein großes Dokument in kleinere Abschnitte unterteilen oder einzelne Dateien für jedes Kapitel erstellen möchten, das Aufteilen von PDFs kann in verschiedenen Szenarien eine wertvolle Aufgabe sein.
In diesem Artikel erfahren Sie, wie Sie PDFs mit C# aufteilen. C# ist eine vielseitige und leistungsstarke Sprache, und es gibt mehrere Bibliotheken, die es relativ einfach machen, mit PDFs zu arbeiten. Wir werden die folgenden zwei Bibliotheken zum Aufteilen von PDFs in C# untersuchen.
PDF-Aufteilung in C# mit iTextSharp
- Installieren Sie zuerst die iText7-Bibliothek.
- Erstellen Sie einen PdfReader aus der Eingabe-PDF-Datei.
- Verwenden Sie ein PdfDocument, um mit dem PDF-Inhalt zu arbeiten.
- Berechnen Sie die Anzahl der Seiten für jede geteilte Datei.
- Legen Sie anfängliche Seitenbereichswerte fest.
- Verwenden Sie eine Schleife für jede geteilte Datei.
- Erstellen Sie ein neues PdfDocument für die aktuelle geteilte Datei.
- Kopieren Sie Seiten vom Originaldokument in das neue.
- Aktualisieren Sie die Seitenbereichswerte für die nächste Iteration.
- Speichern Sie das fertige Ausgabedokument PDF.
- Wiederholen, bis alle Dateien erstellt sind.
- Setzen Sie den Prozess für die angegebene Anzahl von geteilten Dateien fort.
IronPDF

IronPDF ist eine leistungsstarke C#-Bibliothek, die für die Arbeit mit PDF-Dateien entwickelt wurde. Es bietet Funktionen zum Erstellen, Ändern und Extrahieren von Inhalten aus PDF-Dokumenten. Entwickler können PDFs von Grund auf neu erstellen, bestehende PDFs bearbeiten und sie zusammenführen oder aufteilen. Darüber hinaus ist IronPDF ausgesprochen gut darin, HTML-Inhalte in PDF-Format zu konvertieren, was nützlich ist, um Berichte oder Dokumentationen zu erstellen. Mit Unterstützung für digitale Signaturen, Sicherheitsfunktionen und hochwertiger Ausgabe vereinfacht IronPDF PDF-bezogene Aufgaben in .NET-Anwendungen.
iTextSharp

iTextSharp (iText 7) ist eine weit verbreitete Bibliothek für die Arbeit mit PDF-Dateien im .NET-Framework. Es bietet leistungsstarke Funktionen zum Erstellen, Ändern und Extrahieren von Inhalten aus PDF-Dokumenten programmatisch. Entwickler können iTextSharp verwenden, um Text, Bilder, Tabellen und andere grafische Elemente zu PDFs hinzuzufügen. Darüber hinaus unterstützt es Dokumentenzusammenstellung, digitale Signaturen und die Einhaltung von Archivierungs- und Zugänglichkeitsstandards. Ursprünglich eine Java-Bibliothek, wurde iTextSharp auf .NET portiert und hat eine aktive Community von Entwicklern und Nutzern.
Installation der IronPDF Bibliothek
Um das IronPDF-NuGet-Paket mit der Paket-Manager-Konsole in Visual Studio zu installieren, folgen Sie diesen Schritten:
- Gehen Sie in Visual Studio zu Tools -> NuGet-Paket-Manager -> Paket-Manager-Konsole.
-
Verwenden Sie den folgenden Befehl, um das IronPDF-NuGet-Paket zu installieren:
Install-Package IronPdf
Dadurch wird das IronPDF-Paket zusammen mit seinen Abhängigkeiten in Ihr Projekt heruntergeladen und installiert. Sobald die Installation abgeschlossen ist, können Sie IronPDF in Ihrem C#-Projekt für PDF-bezogene Aufgaben verwenden.
Alternativ können Sie IronPDF mit dem NuGet-Paket-Manager in Visual Studio installieren oder das Paket direkt zu Ihrer Projektdatei hinzufügen. Eine andere Option ist das Herunterladen des Pakets von der offiziellen Webseite und das manuelle Hinzufügen zu Ihrem Projekt. Jede Methode bietet einen einfachen Weg, IronPDF in Ihr C#-Projekt für PDF-bezogene Funktionalitäten zu integrieren.
Installation der iTextSharp-Bibliothek
Um iTextSharp mithilfe der Paket-Manager-Konsole in Visual Studio zu installieren, können Sie diese Schritte befolgen:
- Gehen Sie in Visual Studio zu Tools -> NuGet-Paket-Manager -> Paket-Manager-Konsole.
-
Verwenden Sie den folgenden Befehl, um das iTextSharp-NuGet-Paket zu installieren:
Install-Package itext7Install-Package itext7SHELL
Dadurch wird das iTextSharp-Paket zusammen mit seinen Abhängigkeiten in Ihr Projekt heruntergeladen und installiert. Sobald die Installation abgeschlossen ist, können Sie iTextSharp in Ihrem C#-Projekt für die Arbeit mit PDFs verwenden.
PDF-Dokumente in C# mit IronPDF aufteilen
Wir können eine PDF-Datei mit IronPDF in mehrere PDF-Dateien aufteilen. Es bietet einen einfachen Weg, dies zu erreichen. Der folgende Code nimmt die Quell-PDF-Datei als Eingabe und teilt sie in mehrere PDF-Dateien auf.
using IronPdf;
class Program
{
static void Main(string[] args)
{
string file = "input.pdf";
// The folder to save the split PDFs
string outputFolder = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
// Load the input PDF
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
// Initialize page range values
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / numberOfSplitFiles;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage, lastPage);
// Generate the output file path
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
// Save the new split PDF
newSplitPDF.SaveAs(name);
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
string file = "input.pdf";
// The folder to save the split PDFs
string outputFolder = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
// Load the input PDF
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
// Initialize page range values
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / numberOfSplitFiles;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage, lastPage);
// Generate the output file path
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
// Save the new split PDF
newSplitPDF.SaveAs(name);
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim file As String = "input.pdf"
' The folder to save the split PDFs
Dim outputFolder As String = "output_split"
Dim numberOfSplitFiles As Integer = 3 ' Specify how many parts you want to split the PDF into
' Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, outputFolder, numberOfSplitFiles)
End Sub
Private Shared Sub SplitPdfUsingIronPDF(ByVal inputPdfPath As String, ByVal outputFolder As String, ByVal numberOfSplitFiles As Integer)
' Load the input PDF
Dim sourceFile As PdfDocument = PdfDocument.FromFile(inputPdfPath)
' Initialize page range values
Dim firstPage As Integer = 1
Dim lastPage As Integer = 2
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim totalPageInOneFile As Integer = sourceFile.PageCount / numberOfSplitFiles
For i As Integer = 1 To numberOfSplitFiles
' Copy multiple pages into a new document
Dim newSplitPDF As PdfDocument = sourceFile.CopyPages(firstPage, lastPage)
' Generate the output file path
Dim name As String = $"{outputFolder}\SplitPDF_IronPDF_{i}.pdf"
' Save the new split PDF
newSplitPDF.SaveAs(name)
' Update page range values for the next iteration
firstPage = lastPage + 1
lastPage += totalPageInOneFile
Next i
End Sub
End Class
Code-Erklärung
Zweck dieses Codes ist es, eine gegebene PDF-Datei mithilfe der IronPDF-Bibliothek in mehrere kleinere PDF-Dateien aufzuteilen. Die Methode SplitPdfUsingIronPDF ist so definiert, dass sie diese Funktionalität ermöglicht.
Methodenparameter
inputPdfPath: Eine Zeichenkette, die den Pfad zur Eingabe-PDF-Datei darstellt (z. B. "input.pdf").outputFolder: Eine Zeichenkette, die den Ausgabeordner darstellt, in dem die aufgeteilten PDF-Dateien gespeichert werden (z. B. "output_split").numberOfSplitFiles: Eine ganze Zahl, die angibt, in wie viele kleinere PDF-Dateien die ursprüngliche PDF-Datei aufgeteilt wird.
Splitting-Prozess
Innerhalb der Methode SplitPdfUsingIronPDF:
- Ein
PdfDocumentObjekt mit dem NamensourceFilewird durch Laden der PDF-Datei aus dem angegebeneninputPdfPatherstellt. - Zwei ganzzahlige Variablen,
firstPageundlastPage, werden initialisiert. Diese repräsentieren den Seitenbereich für die Aufteilung. totalPageInOneFilewird berechnet, indem die Gesamtseitenzahl der Quell-PDF durch den angegebenen WertnumberOfSplitFilesgeteilt wird.- Eine Schleife iteriert von 1 bis
numberOfSplitFiles: - Ein neues
PdfDocumentObjekt mit dem NamennewSplitPDFwird erstellt. - Die Seiten von
firstPagebislastPage(einschließlich) werden aus dem AbschnittsourceFilebisnewSplitPDFkopiert. - Das resultierende kleinere PDF wird mit einem Dateinamen wie "SplitPDF_IronPDF_1.pdf" (für die erste Aufteilung) im angegebenen Ausgabeverzeichnis gespeichert.
- Die Werte
firstPageundlastPagewerden für die nächste Iteration aktualisiert.
Hinweis
Sie sollten "input.pdf" durch den tatsächlichen Pfad zu Ihrer Eingabe-PDF-Datei ersetzen. Stellen Sie sicher, dass die IronPDF-Bibliothek ordnungsgemäß in Ihrem Projekt installiert und referenziert ist.
Die Ausgabedateien werden erstellt als:

PDFs aufteilen in C# mit iTextSharp
Jetzt werden wir iTextSharp verwenden, um unser PDF-Dokument in mehrere PDF-Dateien aufzuteilen. Der folgende Code nimmt die Quelldatei als Eingabe und teilt dieses PDF-Dokument in mehrere kleinere Dateien auf.
using System;
using iText.Kernel.Pdf;
class Program
{
static void Main(string[] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
using (PdfReader reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(reader))
{
// Calculate the number of pages for each split file
int totalPageInOneFile = doc.GetNumberOfPages() / numberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Generate the output file path
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
// Create a new document and attach a writer for the specified output file
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename)))
{
// Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
}
using System;
using iText.Kernel.Pdf;
class Program
{
static void Main(string[] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int numberOfSplitFiles = 3; // Specify how many parts you want to split the PDF into
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int numberOfSplitFiles)
{
using (PdfReader reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(reader))
{
// Calculate the number of pages for each split file
int totalPageInOneFile = doc.GetNumberOfPages() / numberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile;
for (int i = 1; i <= numberOfSplitFiles; i++)
{
// Generate the output file path
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
// Create a new document and attach a writer for the specified output file
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename)))
{
// Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
// Update page range values for the next iteration
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
}
Imports System
Imports iText.Kernel.Pdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim inputPath As String = "input.pdf"
' Output PDF files path (prefix for the generated files)
Dim outputPath As String = "output_split"
Dim numberOfSplitFiles As Integer = 3 ' Specify how many parts you want to split the PDF into
' Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, numberOfSplitFiles)
End Sub
Private Shared Sub SplitPdfUsingiTextSharp(ByVal inputPdfPath As String, ByVal outputFolder As String, ByVal numberOfSplitFiles As Integer)
Using reader As New PdfReader(inputPdfPath)
Using doc As New PdfDocument(reader)
' Calculate the number of pages for each split file
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Dim totalPageInOneFile As Integer = doc.GetNumberOfPages() / numberOfSplitFiles
Dim firstPage As Integer = 1
Dim lastPage As Integer = totalPageInOneFile
For i As Integer = 1 To numberOfSplitFiles
' Generate the output file path
Dim filename As String = $"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf"
' Create a new document and attach a writer for the specified output file
Using pdfDocument As New PdfDocument(New PdfWriter(filename))
' Copy pages from the original document to the new document
doc.CopyPagesTo(firstPage, lastPage, pdfDocument)
End Using
' Update page range values for the next iteration
firstPage = lastPage + 1
lastPage += totalPageInOneFile
Next i
End Using
End Using
End Sub
End Class
Code Erklärung
Dieser Code zeigt, wie man eine große PDF-Datei mit iTextSharp in kleinere Teile aufteilt. Jedes kleinere PDF-Dokument wird einen Teil des Originaldokuments enthalten.
PDF-Aufteilung mit iTextSharp
- Die Hauptfunktionalität ist in der Methode
SplitPdfUsingiTextSharpgekapselt. - Die obige Methode benötigt drei Parameter:
inputPdfPath,outputFolderundnumberOfSplitFiles.
Verwendung von PdfReader und PdfDocument
Innerhalb der Methode SplitPdfUsingiTextSharp:
- Ein
PdfReaderObjekt mit dem Namenreaderwird erstellt, indem die PDF-Datei aus dem angegebeneninputPdfPathgeladen wird. - Ein
PdfDocumentObjekt mit dem Namendocwird mit Hilfe desreaderinitialisiert. - Die Gesamtzahl der Seiten in der Quell-PDF wird durch
numberOfSplitFilesgeteilt, um zu bestimmen, wie viele Seiten jede kleinere PDF enthalten soll.
Splitting-Prozess
Eine Schleife iteriert von 1 bis numberOfSplitFiles:
- Eine neue kleinere PDF-Datei wird mit einem Dateinamen wie "SplitPDF_iTextSharp_1.pdf" (für die erste Aufteilung) im angegebenen Ausgabeverzeichnis erstellt.
- In diesem neuen PDF-Dokument (
pdfDocument) werden Seiten aus dem Originaldokumentdockopiert: firstPagebislastPage(einschließlich) werden kopiert.- Das kleinere PDF wird gespeichert.
- Die Werte
firstPageundlastPagewerden für die nächste Iteration aktualisiert.
Hinweis
Stellen Sie sicher, dass die iTextSharp-Bibliothek ordnungsgemäß in Ihrem Projekt installiert und referenziert ist. Ersetzen Sie "input.pdf" durch den tatsächlichen Pfad zu Ihrer Eingabe-PDF-Datei.

Vergleich
Um die zwei Aufteilungsmethoden mit iTextSharp und IronPDF zu vergleichen, lassen Sie uns sie basierend auf mehreren Faktoren bewerten:
- Benutzerfreundlichkeit:
- iTextSharp: Die Methode iTextSharp besteht darin, einen PdfReader, ein PdfDocument und einen PdfWriter zu erstellen. Es berechnet Seitenbereiche und kopiert Seiten in ein neues Dokument. Dieser Ansatz erfordert das Verständnis der iTextSharp-API.
- IronPDF: Die Methode IronPDF besteht darin, ein PdfDocument aus der Quelldatei zu erstellen, Seiten zu kopieren und sie in einer neuen Datei zu speichern. Es hat eine einfachere API.
- Code-Lesbarkeit:
- iTextSharp: Der Code beinhaltet mehr Schritte, was ihn etwas länger und potenziell komplexer zu lesen macht.
- IronPDF: Der Code ist prägnant und lesbarer aufgrund weniger Schritte und Methodenanrufe.
- Leistung:
- iTextSharp: Die Leistung kann durch das wiederholte Erstellen und Löschen von PdfDocument-Instanzen beeinträchtigt werden.
- IronPDF: Die Methode beinhaltet weniger Schritte und bietet eine bessere Leistung durch effizientes Kopieren der Seiten.
- Speichernutzung:
- iTextSharp: Das Erstellen mehrerer PdfDocument-Instanzen wird mehr Speicher verbrauchen.
- IronPDF: Die Methode ist speichereffizienter durch ihren vereinfachten Ansatz.
Abschluss
Zusammenfassend bieten sowohl iTextSharp als auch IronPDF robuste Lösungen für das Aufteilen von PDF-Dateien in C#, jede mit ihren eigenen Vorteilen. IronPDF sticht durch seine Einfachheit, Lesbarkeit und potenziell bessere Leistung durch einen direkteren Ansatz hervor.
Entwickler, die ein Gleichgewicht zwischen Vielseitigkeit und Benutzerfreundlichkeit suchen, könnten IronPDF als eine überzeugende Wahl finden. Darüber hinaus bietet IronPDF eine kostenlose Testversion. Letztendlich hängt die Wahl zwischen iTextSharp und IronPDF von den individuellen Projektanforderungen und dem bevorzugten Entwicklungsstil ab.
Häufig gestellte Fragen
Wie kann ich ein PDF in C# aufteilen, während das ursprüngliche Format beibehalten wird?
Sie können IronPDF verwenden, um ein PDF in C# aufzuteilen, während das Format erhalten bleibt. IronPDF bietet eine einfache API, mit der Sie ein PDF laden und die Seitenbereiche zum Aufteilen angeben können, wobei das ursprüngliche Format in den resultierenden PDFs beibehalten wird.
Was sind die Hauptunterschiede zwischen iTextSharp und IronPDF für das Aufteilen von PDFs in C#?
Die Hauptunterschiede liegen in der Benutzerfreundlichkeit und der Leistung. IronPDF bietet eine einfachere API mit weniger Schritten, was das Aufteilen von PDFs erleichtert, ohne die Formatierung zu verlieren. Auf der anderen Seite erfordert iTextSharp die Erstellung mehrerer Instanzen wie PdfReader, PdfDocument und PdfWriter, was komplizierter sein kann.
Kann ich bestimmte Seiten aus einem PDF mit C# extrahieren?
Ja, mit IronPDF können Sie einfach bestimmte Seiten aus einem PDF in C# extrahieren. Durch Laden des PDFs und Festlegen der gewünschten Seitenzahlen können Sie mit IronPDF diese Seiten extrahieren und als neues PDF-Dokument speichern.
Wie verbessert IronPDF die Lesbarkeit des Codes im Vergleich zu anderen PDF-Bibliotheken?
IronPDF verbessert die Lesbarkeit des Codes durch eine klare und prägnante API, die die Notwendigkeit für mehrere Klassen und Objekte reduziert. Dies vereinfacht den Code, der für Aufgaben zur PDF-Manipulation wie das Aufteilen erforderlich ist, und führt zu einem übersichtlicheren und besser wartbaren Code.
Ist es möglich, die Aufteilungsfunktionalität eines PDFs in C# zu testen, bevor man eine Bibliothek kauft?
Ja, IronPDF bietet eine kostenlose Testversion an, die Entwicklern erlaubt, seine Funktionalitäten zur PDF-Aufteilung und andere Merkmale zu testen. Diese Testphase ermöglicht es Ihnen, seine Fähigkeiten und Leistung zu bewerten, bevor Sie sich für einen Kauf entscheiden.
Welche Faktoren sollten bei der Auswahl einer PDF-Bibliothek zum Aufteilen von Dokumenten berücksichtigt werden?
Bei der Auswahl einer PDF-Bibliothek sollten Faktoren wie Benutzerfreundlichkeit, API-Einfachheit, Leistung und die Fähigkeit, das ursprünglich Format des Dokuments beizubehalten, berücksichtigt werden. IronPDF wird oft aufgrund seiner benutzerfreundlichen API und effizienten Leistung bevorzugt.
Wie kann ich IronPDF in ein Visual Studio C#-Projekt installieren?
Um IronPDF in einem Visual Studio C#-Projekt zu installieren, verwenden Sie die NuGet Package Manager-Konsole mit dem Befehl Install-Package IronPDF. Sie können es auch über die NuGet Package Manager-Oberfläche hinzufügen oder von der offiziellen IronPDF-Website herunterladen.
Beeinflusst das Aufteilen eines PDFs Qualität oder Formatierung?
Das Aufteilen eines PDFs mit IronPDF stellt sicher, dass die Qualität und Formatierung des Originaldokuments erhalten bleibt. IronPDFs effiziente Verarbeitung bewahrt die Integrität des Originalinhalts.



