pdfbox简明教程
1.概述
1.1.简介
Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。常用的PDF操作的java类库还有itext,功能比PDFbox还要强大,尤其是中文的支持做的比较好,但itext是收费的。
1.2.功能
Apache PDFBox主要有以下特征:
1)文本提取:从PDF文档中提取文本。
2)合并&分割:可以把多个PDF文档合并成单个,也可以把单个PDF分拆成多个PDF文档。
3)表单填充:可以从PDF表单中提取数据,或者是填充PDF表单。
4)PDF/A验证:验证PDF文档是否满足PDF/A ISO标准。
5)PDF打印:把PDF文档输出到打印机——利用了Java的打印API。
6)PDF转换:可以把PDF文档转换成映像文件。
7)PDF创建:可以从头创建新的PDF文档。
8)集成Lucene搜索引擎:Lucene搜索引擎与PDF索引相集成。
2.1.常用API
PDDocument:表示PDF文档在内存中的形式。
PDPage:表示内存中PDF文档的页码对象,可由pDDocument.getPage(index)得到。
PDPageContentStream:输出流,往PDF文档中写内容的流。
PDFTextStripper:文本内容提取器类,用于从PDF文档中提取text的API。
PDFRenderer:PDF渲染器类,可以将PDF转换成图片缓存。
3.1.常见功能示例
以下是从官方示例中整理出的一些常用功能代码封装成的方法,加了一些注释。
依赖
~~~xml
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactI