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.