
Wie man PDF-Dateien ohne Adobe kombiniert
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.
Wie man PDF in C# mit iText teilt
- Installieren Sie zuerst die iText-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, vorhandene PDFs bearbeiten und sie zusammenführen oder teilen. 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.
iText

iText (iText) ist eine weit verbreitete Bibliothek zur 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 iText 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 iText auf .NET portiert und hat eine aktive Gemeinschaft 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:
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 iText-Bibliothek
Um iText mit der Paket-Manager-Konsole in Visual Studio zu installieren, können Sie folgende Schritte ausführen:
-
Gehen Sie in Visual Studio zu Tools -> NuGet-Paket-Manager -> Paket-Manager-Konsole.
-
Verwenden Sie den folgenden Befehl, um das iText NuGet-Paket zu installieren:
Install-Package itext7SHELL
Damit werden das iText-Paket und seine Abhängigkeiten in Ihr Projekt heruntergeladen und installiert. Nach Abschluss der Installation können Sie iText in Ihrem C#-Projekt zur Arbeit mit PDFs verwenden.
PDF-Dokumente in C# mit IronPDF teilen
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
SplitPdfUsing IronPDF(file, outputFolder, numberOfSplitFiles);
}
static void SplitPdfUsing IronPDF(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;
}
}
}
Code-Erklärung
Zweck dieses Codes ist es, eine gegebene PDF-Datei mithilfe der IronPDF-Bibliothek in mehrere kleinere PDF-Dateien aufzuteilen. Die SplitPdfUsing IronPDF Methode ist definiert, um diese Funktionalität zu erreichen.
Methodenparameter
inputPdfPath: Ein String, der den Pfad zur Eingabe-PDF-Datei darstellt (z.B. "input.pdf").outputFolder: Ein String, der den Ausgabeordner darstellt, in dem die geteilten PDF-Dateien gespeichert werden (z.B. "output_split").numberOfSplitFiles: Eine Ganzzahl, die angibt, in wie viele kleinere PDF-Dateien die ursprüngliche PDF aufgeteilt werden soll.
Splitting-Prozess
Innerhalb der SplitPdfUsing IronPDF Methode:
- Ein
PdfDocumentObjekt namenssourceFilewird erstellt, indem das PDF aus dem angegebeneninputPdfPathgeladen wird. - Zwei Ganzzahlvariablen,
firstPageundlastPage, werden initialisiert. Diese repräsentieren den Seitenbereich für die Aufteilung. totalPageInOneFilewird berechnet, indem die Gesamtseitenzahl der Quell-PDF durch die angegebenenumberOfSplitFilesdividiert wird.- Eine Schleife iteriert von 1 bis
numberOfSplitFiles: - Ein neues
PdfDocumentObjekt namensnewSplitPDFwird erstellt. - Seiten von
firstPagebislastPage(einschließlich) werden vomsourceFilenachnewSplitPDFkopiert. - 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:

Teilen von PDFs in C# mit iText
Nun werden wir iText 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;
}
}
}
}
}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 ClassCode Erklärung
Dieser Code zeigt, wie man eine große PDF-Datei in kleinere Teile mit iText aufteilt. Jedes kleinere PDF-Dokument wird einen Teil des Originaldokuments enthalten.
Teilen von PDF mit iText
- Die Hauptfunktionalität ist in der
SplitPdfUsingiTextSharpMethode kapselt. - Die obige Methode nimmt drei Parameter an:
inputPdfPath,outputFolderundnumberOfSplitFiles.
Verwendung von PdfReader und PdfDocument
Innerhalb der SplitPdfUsingiTextSharp Methode:
- Ein
PdfReaderObjekt namensreaderwird erstellt, indem das PDF aus dem angegebeneninputPdfPathgeladen wird. - Ein
PdfDocumentObjekt namensdocwird unter Verwendung desreaderinitialisiert. - Die Gesamtanzahl der Seiten im Quell-PDF wird durch
numberOfSplitFilesgeteilt, um zu bestimmen, wie viele Seiten jedes kleinere PDF enthalten soll.
Splitting-Prozess
Eine Schleife iteriert von 1 bis numberOfSplitFiles:
- Eine neue kleinere PDF-Datei wird mit einem Dateinamen wie "SplitPDF_iText_1.pdf" (für die erste Teilung) im angegebenen Ausgabeordner erstellt.
- Innerhalb dieses neuen PDF-Dokuments (
pdfDocument) werden Seiten vom ursprünglichendockopiert: 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 iText-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 beiden Aufteilungsmethoden von iText und IronPDF zu vergleichen, bewerten wir sie basierend auf mehreren Faktoren:
- Benutzerfreundlichkeit:
- iText: Die iText-Methode erfordert das Erstellen eines PdfReader, PdfDocument und PdfWriter. Es berechnet Seitenbereiche und kopiert Seiten in ein neues Dokument. Dieser Ansatz erfordert das Verständnis der iText-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:
- iText: 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:
- iText: Die Leistung kann durch die wiederholte Erstellung und Entsorgung von PdfDocument-Instanzen beeinträchtigt werden.
- IronPDF: Die Methode beinhaltet weniger Schritte und bietet eine bessere Leistung durch effizientes Kopieren der Seiten.
- Speichernutzung:
- iText: Das Erstellen mehrerer PdfDocument-Instanzen wird mehr Speicher verbrauchen.
- IronPDF: Die Methode ist speichereffizienter durch ihren vereinfachten Ansatz.
Abschluss
Zusammenfassend bieten sowohl iText als auch IronPDF robuste Lösungen zum Aufteilen von PDF-Dateien in C#, wobei jede ihre eigenen Vorteile hat. 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 Auswahl zwischen iText und IronPDF von den individuellen Projektanforderungen und dem bevorzugten Entwicklungsstil ab.

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 Handbücher.
Verwandte Artikel


