Apache PDFbox快速开发指南

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9026439 Apache PDFbox快速开发指南作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9026439

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的功能要弱很多。
目录
相关文章
|
7月前
|
Java API Apache
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。
655 6
|
Java Apache
Apache PDFbox快速开发指南
一、介绍 Apache PDFbox是一个开源的、基于Java的、支持PDF文档生成的工具库,它可以用于创建新的PDF文档,修改现有的PDF文档,还可以从PDF文档中提取所需的内容。
2052 0
|
Java Apache
通过Apache PDFBox将pdf与图片互相转换以及合并与拆分pdf
通过Apache PDFBox将pdf与图片互相转换以及合并与拆分pdf
1016 0
|
Java Apache
通过Apache PDFBox将pdf转换为word
通过Apache PDFBox将pdf转换为word
874 0
|
Apache 开发者 数据格式
Apache HttpClient 4.3开发指南
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/16854747 《Apache HttpClient 4.3开发指南》 作者:chszs,转载需注明。
795 0
|
Apache 开发者 数据格式
Apache HttpClient 4.3开发指南
《Apache HttpClient 4.3开发指南》 一、概述 Apache HttpClient 4系列已经发布很久了,但由于它与HttpClient 3.x版本完全不兼容,以至于业内采用此库的公司较少,在互联网上也少有相关的文档资料分享。
1313 0
|
7天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
272 33
The Past, Present and Future of Apache Flink
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
819 13
Apache Flink 2.0-preview released
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
89 3
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

推荐镜像

更多