Apache PDFbox快速开发指南
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
一、介绍
Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。Apache PDFBox还包含了数个命令行工具。
Apache PDFbox于前不久发布了最新的1.8.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索引相集成。
三、开发实战
Apache PDFbox既然是PDF工具库,那么最重要的例子就是用它创建一个PDF文档。下面我们开始这一历程。
1. 创建Java项目
在Eclipse下创建一个Java项目,项目名为PDFboxDemo。
2. 下载PDFbox包
地址:
1)pdfbox-1.8.2.jar
地址:http://archive.apache.org/dist/pdfbox/1.8.2/pdfbox-1.8.2.jar
说明:满足一般的PDF操作需求。
2)pdfbox-app-1.8.2.jar
http://archive.apache.org/dist/pdfbox/1.8.2/pdfbox-app-1.8.2.jar
说明:PDFbox的多个命令行的工具包。
3)fontbox-1.8.2.jar
地址:http://archive.apache.org/dist/pdfbox/1.8.2/fontbox-1.8.2.jar
说明:PDF使用的字库包
因此,本例使用1、3项即可。
3. 创建类文件
先创建chszs.pdf源码包,在此包内创建类文件CreatePDF.java。
- package chszs.pdf;
- //import java.io.File;
- import java.io.IOException;
- import org.apache.pdfbox.exceptions.COSVisitorException;
- import org.apache.pdfbox.pdmodel.PDDocument;
- import org.apache.pdfbox.pdmodel.PDPage;
- import org.apache.pdfbox.pdmodel.edit.PDPageContentStream;
- import org.apache.pdfbox.pdmodel.font.PDFont;
- //import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
- import org.apache.pdfbox.pdmodel.font.PDType1Font;
- public class CreatePDF {
- public static void main(String[] args) throws IOException{
- PDDocument document = new PDDocument();
- PDPage page = new PDPage();
- document.addPage(page);
- // PDFont font = PDTrueTypeFont.loadTTF(document, new File("SIMSUN.TTC"));
- PDFont font = PDType1Font.HELVETICA_BOLD;
- PDPageContentStream contentStream = new PDPageContentStream(document, page);
- contentStream.beginText();
- contentStream.setFont(font, 14);
- contentStream.moveTextPositionByAmount(100, 700);
- contentStream.drawString("Hello World");
- // contentStream.drawString("中文");
- contentStream.endText();
- contentStream.close();
- try {
- document.save("E:/test.pdf");
- } catch (COSVisitorException e) {
- e.printStackTrace();
- }
- document.close();
- }
- }
执行程序,在磁盘E盘产生test.pdf文件。
总结说明:至Apache PDFbox 1.8.2版,仍然不支持中文PDF的创建,比iText的功能要弱很多。
相关推荐
Java作为开发语言,在处理PDF文件上有着广泛的应用,PDFBox为Java程序提供了一套完整的API,使得开发人员可以不必依赖于其他语言或工具。 PDFBox的主要功能包括但不限于提取文本、分割和合并PDF文档、填充表格、...
PDFBox是中国Apache软件基金会开发的一款开源Java库,用于处理PDF文档。这个压缩包"pdfbox-1.8.9.zip"包含的是PDFBox 1.8.9版本的源代码和相关示例,帮助开发者更好地理解和使用这个库来创建、编辑、读取和操作PDF...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。这个类库提供了丰富的功能,使得开发者能够创建、编辑、读取和处理PDF文档。PDFBox v2.0.25是该库的一个稳定版本,...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。它提供了丰富的API,使得开发者能够创建、编辑、读取、签署以及处理PDF文档。在这个"PDFBox PDF处理类库 v1.8.16.zip...
PDFBox是Apache软件基金会的一个项目,专注于PDF文档的生成、解析和修改。它的最新版本2.0.12包含了许多改进和新特性。PDFBox的源代码同样开放,对于想要深入研究PDF处理机制的开发者来说是一份宝贵的资源。PDFBox...
同时,帮助文档会提供详细的API使用指南和示例,帮助你快速上手。 此外,对于初学者,理解PDF格式本身也是很重要的。PDF是一种复杂的结构化文件格式,包含了文本、图像、样式、链接等多种元素,而PDFBox正是通过...
本文将详细介绍如何利用Apache PDFBox库来实现这一功能,并提供一些实用的操作指南。 #### Apache PDFBox简介 Apache PDFBox是一个开源的Java库,它为开发者提供了丰富的API来处理PDF文件。这些API支持多种操作,...
PDFBox是Apache软件基金会的一个开源项目,用于处理PDF文档的Java库。这个“pdfbox-2.1.15.jar全家桶”包含了处理PDF文档所需的一系列类和方法,允许开发者进行创建、编辑、读取、提取文本和图像,以及签署PDF文件等...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。PDFBox v2.0.22是该库的一个版本,它提供了丰富的API,可以帮助开发者读取、创建、编辑和操作PDF文件。源码的提供...
在Java中,我们可以借助一些开源库来实现PDF的生成,例如iText、Apache PDFBox和Flying Saucer等。 1. **iText库**: iText是一个流行的Java库,专门用于生成和操作PDF文档。使用iText,你可以创建新的PDF文档,也...
例如,Apache PDFBox是一个开源的Java库,提供了丰富的API来操作PDF文档,包括读取、写入、创建以及修改PDF。我们可以使用PDFBox来实现PDF书籍的拆分功能。下面是一个简化的步骤概述: 1. **导入必要的库**:首先,...
Apache PDFBox是Apache软件基金会的一个项目,提供了读取、创建、编辑PDF文档的功能;PDFreactor则是一个功能强大的商业库,常用于生成高质量的PDF文档。 使用这些库,开发者可以实现以下功能: 1. **创建PDF**:...
一个常用的第三方库是Apache PDFBox,它提供了处理PDF文档的各种功能,包括阅读和显示。但是,PDFBox不是专门为Android设计的,因此在Android上使用时可能需要进行一些优化。 另一种选择是使用专门针对Android的PDF...
Java生成PDF是软件开发中的一个常见任务,尤其在企业级应用中,如报表生成、合同制作等场景。这个"Java生成pdf的demo.zip"文件很可能包含了一个示例项目,用于演示如何在Java环境下创建PDF文档。这个项目的名字是...
它为分析,数据科学家和开发人员提供了干净的结构化和标签丰富的信息集,这些信息集适用于即用型应用程序,包括数据输入和文档分析器自动化,归档等。 当前,Parsr可以执行:文档清理,层次结构再生(单词,行,...
例如,Apache PDFBox、PDFium或MuPDF等都是常见的选择。PDFium是谷歌开源的一个项目,它源自Chrome浏览器,性能优异且功能强大,是许多Android PDF应用的首选。 2. **PDF加载与解析**:PDF文件的加载过程涉及到二...
- **Apache PDFBox或Apache POI**:这两个库分别用于处理PDF文档和Microsoft Office格式,可能在将PDF或其他文档转换为电子杂志格式时发挥作用。 4. **翻页效果**:这是项目的重点特性。Android中实现翻页效果通常...
通过研究这些源代码,你可以了解到Tika如何集成各种第三方库来处理不同的文件格式,比如使用Apache POI处理Microsoft Office文档,使用PDFBox处理PDF文件。同时,你还可以学习到如何利用Tika的事件驱动解析模型,...
这里可以使用开源库iText或者PDDocument(Apache PDFBox的一部分)。以iText为例,我们需要先将HTML转化为纯文本或XML,再使用iText生成PDF: ```java // 假设我们已经将HTML转化为String String ...
因此,开发者通常会引入第三方库,如PDFium或Apache PDFBox,它们提供了解析、渲染PDF文档的功能。这些库允许程序动态加载PDF文件,将其转化为位图,然后在ImageView或自定义View中显示。考虑到性能和用户体验,...