PDFBox - Bir PDF Belgesini Bölme

Önceki bölümde, bir PDF belgesine JavaScript'in nasıl ekleneceğini gördük. Şimdi verilen bir PDF belgesini birden çok belgeye nasıl böleceğimizi öğrenelim.

PDF Belgesindeki Sayfaları Bölme

Splitter adlı sınıfı kullanarak verilen PDF belgesini birden çok PDF belgesine bölebilirsiniz. Bu sınıf, verilen PDF belgesini diğer birkaç belgeye bölmek için kullanılır.

Mevcut bir PDF belgesini bölme adımları aşağıdadır

1. Adım: Mevcut bir PDF Belgesini Yükleme

Statik yöntemi kullanarak mevcut bir PDF belgesini yükleyin load() of PDDocumentsınıf. Bu yöntem, bir dosya nesnesini parametre olarak kabul eder, çünkü bu statik bir yöntemdir, aşağıda gösterildiği gibi sınıf adını kullanarak onu çağırabilirsiniz.

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

Adım 2: Splitter Sınıfının Örneğini Oluşturun

Adlı sınıf Splitter verilen PDF belgesini bölme yöntemlerini içerir, bu nedenle bu sınıfı aşağıda gösterildiği gibi somutlaştırın.

Splitter splitter = new Splitter();

3. Adım: PDF Belgesini Bölme

Verilen belgeyi kullanarak bölebilirsiniz. Split() yöntemi Splitterbu sınıf. Bu yöntem, bir nesneyi kabul eder.PDDocument parametre olarak sınıf.

List<PDDocument> Pages = splitter.split(document);

split() yöntem, verilen belgenin her sayfasını ayrı bir belge olarak böler ve bunların tümünü bir liste biçiminde döndürür.

4. Adım: Yineleyici Nesnesi Oluşturma

Belgeler listesinde gezinmek için, yukarıdaki adımda elde edilen listenin yineleyici nesnesini almanız gerekir, listenin yineleyici nesnesini kullanarak listIterator() yöntemi aşağıda gösterildiği gibi.

Iterator<PDDocument> iterator = Pages.listIterator();

Adım 5: Belgeyi Kapatma

Son olarak, belgeyi kullanarak kapatın. close() yöntemi PDDocument aşağıda gösterildiği gibi sınıf.

document.close();

Misal

Diyelim ki, adında bir PDF belgesi var sample.pdf yolda C:\PdfBox_Examples\ ve bu belge iki sayfa içerir - aşağıda gösterildiği gibi resim içeren bir sayfa ve metin içeren başka bir sayfa.

Bu örnek, yukarıda bahsedilen PDF belgesinin nasıl bölüneceğini gösterir. Burada, adlı PDF belgesini böleceğizsample.pdf iki farklı belgeye sample1.pdf ve sample2.pdf. Bu kodu adıyla bir dosyaya kaydedinSplitPages.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();
   }
}

Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün

javac SplitPages.java 
java SplitPages

Yürütmenin ardından, yukarıdaki program verilen PDF belgesini aşağıdaki mesajı görüntüleyerek şifreler.

Multiple PDF’s created

Verilen yolu doğrularsanız, adlarla birden çok PDF oluşturulduğunu görebilirsiniz. sample1 ve sample2 Aşağıda gösterildiği gibi.