返回介绍

拆分PDF文档(Splitting a PDF Document)

发布于 2021-06-11 14:05:01 字数 3038 浏览 1031 评论 0 收藏 0

在上一章中,我们已经了解了如何将JavaScript添加到PDF文档中。 现在让我们学习如何将给定的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();

例子 (Example)

假设在路径C:\PdfBox_Examples\有一个名为sample.pdf的PDF文档,该文档包含两个页面 - 一个页面包含图像,另一个页面包含文本,如下所示。

拆分页面

此示例演示如何拆分上述PDF文档。 在这里,我们将名为sample.pdf的PDF文档拆分为两个不同的文档sample1.pdfsample2.pdf 。 将此代码保存在名为SplitPages.java.的文件中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

如果验证给定路径,则可以观察到使用名称sample1sample2创建了多个PDF,如下所示。

拆分第一一瞬间

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文