SpringBoot集成文件 - 集成itextpdf之导出PDF
知识准备
什么是itext
iText是著名的开放源码的站点sourceforge一个项目(由Bruno Lowagie编写),是一个用Java和.NET语言写的库,用来创建和修改PDF文件。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。
iText提供除了基本的创建、修改PDF文件外的其他高级的PDF特性,例如基于PKI的签名,40位和128位加密,颜色校正,带标签的PDF,PDF表单(AcroForms),PDF/X,通过ICC配置文件和条形码进行颜色管理。这些特性被一些产品和服务中使用,包括Eclipse BIRT,Jasper Reports,JBoss Seam,Windward Reports和pdftk。
一般情况下,iText使用在有以下一个要求的项目中:
- 内容无法提前利用:取决于用户的输入或实时的数据库信息。
- 由于内容,页面过多,PDF文档不能手动生成。
- 文档需在无人参与,批处理模式下自动创建。
- 内容被定制或个性化;例如,终端客户的名字需要标记在大量的页面上。
itext的历史版本和License问题
使用itext一定要了解其版本历史,和License问题,在早前版本使用的是MPL和LGPL双许可协议,在5.x以上版本中使用的是AGPLv3(这个协议意味着,只有个人用途和开源的项目才能使用itext这个库,否则是需要收费的)
iText 0.x-2.x/iTextSharp 3.x-4.x
- 更新时间是2000-2009
- 使用的是MPL和LGPL双许可协议
- 最近的更新是2009年,版本号是iText 2.1.7/iTextSharp 4.1.6.0
- 此时引入包的GAV版本如下:
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
iText 5.x和iTextSharp 5.x
- 更新时间是2009-2016, 公司化运作,并标准化和提高性能
- 开始使用AGPLv3协议
- 只有个人用途和开源的项目才能使用itext这个库,否则是需要收费的
- iTextSharp被设计成iText库的.NET版本,并且与iText版本号同步,iText 5.0.0和iTextSharp5.0.0同时发布
- 新功能不在这里面增加,但是官方会修复重要的bug
- 此时引入包的GAV版本如下:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
iText 7.x
- 更新时间是2016到现在
- AGPLv3协议
- 完全重写,重点关注可扩展性和模块化
- 不适用iTextSharp这个名称,都统称为iText,有Java和.Net版本
- JDK 1.7+
- 此时引入包的GAV版本如下:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
标准的itextpdf导出的步骤
实现案例
进一步理解
本文由 liyunfei 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 24,2022