PDFBox 拆分PDF文档

我们可以将给定的 PDF 文档拆分为多个 PDF 文件。Splitter类可以在每个PDF文件分割成一个单独的文件。此类用于将给定的 PDF 文档拆分为多个其他单独的文档。

要拆分现有的 PDF 文件,请执行以下操作:

加载现有文档

我们可以使用static load()方法加载现有的 PDF 文档。此方法接受一个文件对象作为参数。我们还可以使用PDFBox的类名PDDocument调用它。

File file = new File("PATH");   
PDDocument doc = PDDocument.load(file);  

创建拆分器对象

Splitter类是用来分割现有的PDF文档。我们可以按如下方式实例化拆分器类。

Splitter splitter = new Splitter();  

拆分 PDF 文档

我们可以使用Splitter类的split()方法来拆分现有的 PDF 文档。split()方法接受PDDocument类的对象作为参数。

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

创建迭代器对象

ListIterator()方法可用于获取迭代器对象。这个迭代器对象用来遍历我们需要的文档列表。以下代码创建迭代器对象。

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

关闭文档

完成任务后,我们需要使用close()方法关闭PDDocument类对象。

doc.close();  

PDFBox 拆分PDF文档 完整例子

它是一个包含五页的 PDF 文档。前两页包含图像。我们将通过 Java 程序拆分包含图像作为单独文件的两个页面。

代码如下:

package com.yiidian;

import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

public class SplitsPdfDemo {

    public static void main(String[] args) throws IOException {

        //Loading an existing PDF document  
        File file = new File("d:/blank.pdf");
        PDDocument document = PDDocument.load(file);

        // Create a Splitter object  
        Splitter splitter = new Splitter();

        //splitting the pages of a PDF document  
        List<PDDocument> Pages = splitter.split(document);

        //Creating an iterator object  
        Iterator<PDDocument> iterator = Pages.listIterator();

        //saving splits as individual PDF document  
        int i = 1;
        while (iterator.hasNext()) {
            PDDocument pd = iterator.next();
            pd.save("d:/blanck" + i++ + ".pdf");
        }
        System.out.println("Multiple PDF files are created successfully.");
        document.close();
    }
}  

输出结果如下:

热门文章

优秀文章