Java 拆分PDF文档

旧城等待, 2023-10-18 11:18 146阅读 0赞

这篇文章主要介绍以下两种拆分方式:

  1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)
  2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)

使用组件:

Spire.PDF for Java

在使用下面的代码前,你需要下载Spire.PDF for Java包并解压缩,然后从lib文件夹下导入Spire.Pdf.jar包到你的Java应用程序中。

原PDF文档如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70

1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页)

以下代码将原PDF文档均分为5个PDF文档,每个文档包含1页:

  1. import com.spire.pdf.*;
  2. public class SplitPDF {
  3. public static void main(String[] args)
  4. {
  5. //加载PDF文档
  6. PdfDocument doc = new PdfDocument();
  7. doc.loadFromFile("sample.pdf");
  8. //拆分为多个PDF文档
  9. doc.split("output/splitDocument-{0}.pdf", 0);
  10. doc.close();
  11. }
  12. }

拆分后:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70 1

2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个PDF可以包含不同的页数)

以下代码将原PDF文档的第1-2页拆分一个PDF文档,第3-5页拆分为另一个PDF文档:

  1. import com.spire.pdf.*;
  2. import com.spire.pdf.graphics.PdfMargins;
  3. import java.awt.geom.Point2D;
  4. public class SplitPDF {
  5. public static void main(String[] args)
  6. {
  7. //加载PDF文档
  8. PdfDocument doc = new PdfDocument();
  9. doc.loadFromFile("sample.pdf");
  10. //新建一个PDF文档
  11. PdfDocument newDoc1 = new PdfDocument();
  12. PdfPageBase page;
  13. //将原PDF文档的第1、2页添加至新建的PDF
  14. for(int i = 0;i<2;i++)
  15. {
  16. page = newDoc1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
  17. doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
  18. }
  19. //保存文档
  20. newDoc1.saveToFile("split/Doc1.pdf");
  21. //新建另一个PDF文档
  22. PdfDocument newDoc2 = new PdfDocument();
  23. //将原PDF文档的第3至5页添加至新建的PDF
  24. for(int i = 2;i<5;i++)
  25. {
  26. page = newDoc2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0));
  27. doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0));
  28. }
  29. //保存文档
  30. newDoc2.saveToFile("split/Doc2.pdf");
  31. }
  32. }

拆分后:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VpY2VibHVl_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java PDF文档

    这篇文章主要介绍以下两种拆分方式: 1. 将一个PDF文档快速拆分为多个PDF(每个PDF包含1页) 2. 根据指定页码范围,将一个PDF文档拆分为2个或多个PDF(每个

    相关 如何用PDF编辑器将PDF文件

      PDF文件的使用频率现在还是很高的,不止使用PDF文件编辑PDF文件也挺多的,但是大家都知道怎么编辑PDF文件吗?知道文档的拆分要怎么做吗?说到PDF文件的拆分小编想到了文

    相关 Java Word文档

    本文介绍通过Java程序来拆分Word文档的方法,如下图,测试文档中,将根据Word文档中插入的分节符来拆分为四个文档。