PDFBox - Aufteilen eines PDF-Dokuments
Im vorherigen Kapitel haben wir gesehen, wie Sie einem PDF-Dokument JavaScript hinzufügen. Lassen Sie uns nun lernen, wie Sie ein bestimmtes PDF-Dokument in mehrere Dokumente aufteilen.
Teilen der Seiten in einem PDF-Dokument
Sie können das angegebene PDF-Dokument mithilfe der Klasse Splitter in mehrere PDF-Dokumente aufteilen. Diese Klasse wird verwendet, um das angegebene PDF-Dokument in mehrere andere Dokumente aufzuteilen.
Im Folgenden finden Sie die Schritte zum Teilen eines vorhandenen PDF-Dokuments
Schritt 1: Laden eines vorhandenen PDF-Dokuments
Laden Sie ein vorhandenes PDF-Dokument mit der statischen Methode load() des PDDocumentKlasse. Diese Methode akzeptiert ein Dateiobjekt als Parameter, da dies eine statische Methode ist, die Sie unter Verwendung des Klassennamens wie unten gezeigt aufrufen können.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Schritt 2: Instanziieren Sie die Splitter-Klasse
Die benannte Klasse Splitter Enthält die Methoden zum Teilen des angegebenen PDF-Dokuments. Instanziieren Sie diese Klasse daher wie unten gezeigt.
Splitter splitter = new Splitter();
Schritt 3: Aufteilen des PDF-Dokuments
Sie können das angegebene Dokument mit dem teilen Split() Methode der SplitterKlasse diese Klasse. Diese Methode akzeptiert ein Objekt derPDDocument Klasse als Parameter.
List<PDDocument> Pages = splitter.split(document);
Das split() Die Methode teilt jede Seite des angegebenen Dokuments als einzelnes Dokument auf und gibt alle diese in Form einer Liste zurück.
Schritt 4: Erstellen eines Iteratorobjekts
Um die Liste der Dokumente zu durchlaufen, müssen Sie ein Iteratorobjekt der im obigen Schritt erfassten Liste abrufen. Sie müssen das Iteratorobjekt der Liste mithilfe von abrufen listIterator() Methode wie unten gezeigt.
Iterator<PDDocument> iterator = Pages.listIterator();
Schritt 5: Schließen des Dokuments
Schließen Sie zum Schluss das Dokument mit close() Methode von PDDocument Klasse wie unten gezeigt.
document.close();
Beispiel
Angenommen, es gibt ein PDF-Dokument mit Namen sample.pdf in dem Weg C:\PdfBox_Examples\ und dieses Dokument enthält zwei Seiten - eine Seite mit Bild und eine andere Seite mit Text, wie unten gezeigt.
Dieses Beispiel zeigt, wie das oben genannte PDF-Dokument aufgeteilt wird. Hier teilen wir das genannte PDF-Dokument aufsample.pdf in zwei verschiedene Dokumente sample1.pdf und sample2.pdf. Speichern Sie diesen Code in einer Datei mit NamenSplitPages.java.
import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Iterator;
public class SplitPages {
public static void main(String[] args) throws IOException {
//Loading an existing PDF document
File file = new File("C:/PdfBox_Examples/sample.pdf");
PDDocument document = PDDocument.load(file);
//Instantiating Splitter class
Splitter splitter = new Splitter();
//splitting the pages of a PDF document
List<PDDocument> Pages = splitter.split(document);
//Creating an iterator
Iterator<PDDocument> iterator = Pages.listIterator();
//Saving each page as an individual document
int i = 1;
while(iterator.hasNext()) {
PDDocument pd = iterator.next();
pd.save("C:/PdfBox_Examples/sample"+ i++ +".pdf");
}
System.out.println("Multiple PDF’s created");
document.close();
}
}
Kompilieren Sie die gespeicherte Java-Datei und führen Sie sie mit den folgenden Befehlen an der Eingabeaufforderung aus
javac SplitPages.java
java SplitPages
Bei der Ausführung verschlüsselt das obige Programm das angegebene PDF-Dokument mit der folgenden Meldung.
Multiple PDF’s created
Wenn Sie den angegebenen Pfad überprüfen, können Sie feststellen, dass mehrere PDFs mit Namen erstellt wurden sample1 und sample2 Wie nachfolgend dargestellt.