PDFBox分割PDF文件

本文概述

  • 加载现有文档
  • 创建拆分器对象
  • 分割PDF文件
  • 创建迭代器对象
  • 关闭文件
  • Java程序
我们可以将给定的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 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();

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

文章图片
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 SplitsPdfDemo { public static void main(String[] args)throws IOException {//Loading an existing PDF documentFile file = new File("//eclipse-workspace/blanck.pdf"); PDDocument document = PDDocument.load(file); // Create a Splitter objectSplitter splitter = new Splitter(); //splitting the pages of a PDF documentList< PDDocument> Pages = splitter.split(document); //Creating an iterator objectIterator< PDDocument> iterator = Pages.listIterator(); //saving splits as individual PDF document inti = 1; while(iterator.hasNext()) {PDDocument pd = iterator.next(); pd.save("/eclipse-workspace/blanck"+ i++ +".pdf"); }System.out.println("Multiple PDF files are created successfully."); document.close(); }}

输出
成功执行以上程序后, 我们可以看到以下输出。
PDFBox分割PDF文件

文章图片
【PDFBox分割PDF文件】现在进行验证, 分别打开PDF文件, 如下所示-
PDFBox分割PDF文件

文章图片
PDFBox分割PDF文件

文章图片

    推荐阅读