版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/forwujinwei/article/details/81879800
最近了解到itext7,感觉很切合实际需求,就想着研究下,发现晚上内容有头没尾的,很多时候不知所以然,下面就我个人通过查看官方网站了解到的知识点做简单的记录,方便日后复制粘贴。
为什么选择itext7而不是itext5
个人认为重构后的功能肯定比以前的功能和结构更好,个人观点代码是重构出来的,不是撸出来的,小撸怡情,大撸伤身。
iText 7带来:
- 所有主类和接口的完整版本,一方面使用户更合乎逻辑,另一方面尽可能保持与iText 5的兼容, 一个全新的布局模块,它超越了iText 5
- ColumnText对象的功能,并能够生成复杂的PDF布局,完全重写字体类,实现高级排版。
安装iText 7
在这里以maven工程说明
方式一:引入相关jar包
<dependencies>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.18</version>
</dependency>
</dependencies>
每个依赖项都与Java中的jar
kernel和io:包含低级功能。
forms:所有AcroForm示例都需要
pdfa:需要PDF /A特定功能。
pdftest:对于也是测试的示例也需要。
方式二 直接使用itext7的全家桶
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext7-core -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.0.3</version>
<type>pom</type>
</dependency>