操作 PDF 文件的常用JAR包

操作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电子加签写过一篇专栏:在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG弄潮儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值