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.