Apache PDFbox快速开发指南

               

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的功能要弱很多。           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值