操作 PDF 文件的常用JAR包

共 1647字,需浏览 4分钟

 ·

2020-12-04 18:51

点击上方「蓝字」关注我们

操作PDF在很多业务场景都要用到,例如电子发票,电子处方笺。为什么需要使用PDF呢?主要是因为可以使用RSA加密算法对PDF进行电子加签,只要经过电子加签的PDF文件,就会在PDF文件产生电子签章;经过加签的PDF是不允许修改的,如果加签后,再次对内容就行修改的话,就会显示PDF文件失效。这样的话就能验证该PDF是不是合法的。以下盘点一下常用的PDF工具JAR包。


0x01:iText 5

iText 5是最早一个提供对PDF进行操作的JAR包,不过目前该JAR已经不再进行后续开发。可以从官网看到如下一段话:

官网

https://kb.itextpdf.com/home/it5kb


大概的意思是iText 5是iText之前的重要版本,但是iText 5已经停止开发,不再进行后续开发,请把你的项目切换到iText 7。虽然该版本的iText不再开发,但是使用该版本的iText JAR已经可以满足项目的80% ~90%的需求的,主要需要引入itextpdf-x.x.x.jar 和 itext-asian-x.x.x.jar 这两个JAR包。

仓库地址如下:

https://github.com/itext/itextpdf


0x02:iText 7

iText 7是最新的,也是最强的PDF处理工具包。可用于生成PDF、编程PDF

数字签名等。iText 7 与iText 5是两个不同的体系。

官网

https://kb.itextpdf.com/home/it7kb

iText 7体系非常强大,记得有个功能可以把HTML页面直接转成PDF文档。其他功能有待你去慢慢发现。仓库如下

https://github.com/itext/itext7

备注:iText 5 与 iText 7都是收费的,使用时需要购买版权。虽然收费,但是值得拥有。因为之前小编在做电子处方笺时,对比使用了 iText 和 Apache PDFBox(接下来要介绍的一款JAR包)。iText可以在PDF文件中绘制矢量图,但是Apache PDFBox做不到(可能我没发现方法)。


0x03:Apache PDFBox

Apache PDFBox库是用于处理PDF文档的开源Java工具。该项目允许创建新的PDF文档,操纵现有文档以及从文档中提取内容的功能。Apache PDFBox还提供了几个命令行实用程序。可以说Apache出品必是精品。

官网

https://pdfbox.apache.org/

下面是一个仓库的镜像

https://github.com/apache/pdfbox


0x04:OpenPDF

OpenPDF是一个Java库,使用LGPL和MPL开源许可证。可以拥有创建和编辑PDF文件。OpenPDF是iText的LGPL / MPL开源后继产品,它基于iText 4 svn标签的一个分支。

仓库

https://github.com/LibrePDF/OpenPDF


0x05:x-easypdf

x-easypdf基于pdfbox构建而来,极大降低使用门槛,以组件化的形式进行pdf的构建。简单易用,仅需一行代码,便可完成pdf的操作。是国人开源的一个基于Apache PDFBox的JAR包。

仓库

https://gitee.com/xsxgit/x-easypdf


总结:操作PDF的JAR主要分成两类,分别是iText系列Apache PDFBox系列,在之前的项目中使用PDF操作工具遇到不少的坑。特别给PDF进行电子加签的时候,遇到的坑,不过都解决了;还基于PDF电子加签写过一篇专栏:



扫码二维码

获取更多精彩

Java乐园

有用!分享+在看☟


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报