PDFBox - 拆分 PDF 文件



在上一章中,我們學習瞭如何向 PDF 文件新增 JavaScript。現在讓我們學習如何將給定的 PDF 文件拆分為多個文件。

拆分 PDF 文件中的頁面

您可以使用名為 Splitter 的類將給定的 PDF 文件拆分為多個 PDF 文件。此類用於將給定的 PDF 文件拆分為多個其他文件。

以下是拆分現有 PDF 文件的步驟

步驟 1:載入現有 PDF 文件

使用 **PDDocument** 類的靜態方法 **load()** 載入現有 PDF 文件。此方法接受檔案物件作為引數,由於這是一個靜態方法,因此您可以使用類名呼叫它,如下所示。

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

步驟 2:例項化 Splitter 類

名為 **Splitter** 的類包含用於拆分給定 PDF 文件的方法,因此,例項化此類,如下所示。

Splitter splitter = new Splitter();

步驟 3:拆分 PDF 文件

您可以使用 **Splitter** 類的 **split()** 方法拆分給定文件。此方法接受 **PDDocument** 類的物件作為引數。

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

**split()** 方法將給定文件的每一頁拆分為單個文件,並將所有這些文件以列表的形式返回。

步驟 4:建立迭代器物件

為了遍歷文件列表,您需要獲取上面步驟中獲取的列表的迭代器物件,您需要使用 **listIterator()** 方法獲取列表的迭代器物件,如下所示。

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

步驟 5:關閉文件

最後,使用 **PDDocument** 類的 **close()** 方法關閉文件,如下所示。

document.close();

示例

假設在路徑 **C:\PdfBox_Examples\** 中有一個名為 **sample.pdf** 的 PDF 文件,並且此文件包含兩頁——一頁包含影像,另一頁包含文字,如下所示。

Split page

此示例演示瞭如何拆分上述 PDF 文件。在這裡,我們將名為 **sample.pdf** 的 PDF 文件拆分為兩個不同的文件 **sample1.pdf** 和 **sample2.pdf**。將此程式碼儲存在名為 **SplitPages.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();
   }
}

使用以下命令從命令提示符編譯並執行儲存的 Java 檔案

javac SplitPages.java 
java SplitPages

執行後,上述程式將加密給定的 PDF 文件並顯示以下訊息。

Multiple PDF’s created

如果您驗證給定的路徑,您可以觀察到建立了多個 PDF,名稱為 **sample1** 和 **sample2**,如下所示。

Split First Split Second
廣告

© . All rights reserved.