背景
抱歉也开始用了这么“标题党”的标题。事情起源于前几天需要把个人资料的 pdf 文档一页一页的拆出来,好传到相关的网站上。直接截图到 word 再转 pdf 比较麻烦,所以想用工具直接转换。结果找了几个 pdf 阅读器,这类操作都需要会员或收费。作为一名程序员,这么简单的操作还要收费显然是一种羞耻(当然我是不会承认主要是因为 qiong 的),几分钟就可以代码解决的问题为啥要花钱呢?废话不多说,开搞。
工具准备
之前的文章Apache POI 详解及 Word 文档读取示例中,我们曾经用 apache poi 来实现对 word 文档的操作。对于 pdf 文件,也同样有 apache 的 pdfbox(官网:https://pdfbox.apache.org/),和 itextpdf(官网:https://itextpdf.com/)包可以使用。
PDFBox:
PDFBox 是 Java 实现的 PDF 文档协作类库,提供 PDF 文档的创建、处理以及文档内容提取功能,也包含了一些命令行实用工具。PDFBox 提供的主要功能有:
-
从 PDF 提取文本
-
合并 PDF 文档
-
PDF 文档加密与解密
-
与 Lucene 搜索引擎的集成
-
填充 PDF/XFDF 表单数据
-
从文本文件创建 PDF 文档
-
从 PDF 页面创 建图片
-
打印 PDF 文档
itextpdf:
iText 是著名的开放源码的站点 sourceforge 一个项目,是用于生成 PDF 文档的一个 java 类库。通过 iText 不仅可以生成 PDF 或 rtf 的文档,而且可以将 XML、Html 文件转化为 PDF 文件。 iText 的安装非常方便,下载 iText.jar 文件后,只需要在系统的 CLASSPATH 中加入 iText.jar 的路径,在程序中就可以使用 iText 类库了。
依赖引入
新建