iText介绍
iText是一个非常著名的能够快速产生PDF文件的Java类库。支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合。在企业的信息系统中,报表处理一直占比较重要的作用,iText组件通过在服务器端使用Jsp 或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。
iText是著名的开放源码的站点sourceforge的一个项目,它是一个用于生成PDF文档的一个java开源库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。如果PDF是标记的且包含一个结构树,就可以借助于iText将PDF文档转换成XML文档(这往往取决于PDF文档是如何创建的)。另外还可以从页面中提取纯文本。iText还可以用来标识现有的PDF文档,以及对它们进行加密等。
iText7是在AGPL协议下的(就是凡是用到他的代码的项目需要开源,除非购买上商业版,不过我们在国内就不要管这么多啦),itext5、7字体设置默认不支持中文,需要下载远东字体包iTextAsian.jar,否则不能 往PDF文档中输出中文字体以及读取中文文档会出错。
引入相应的jar包,有两种方式选择:通过maven导入和手动添加相关的jar包(jar列表会给出)
1)通过maven导入,常用的jar包的dependency:
1.<dependencies>
2. <dependency>
3. <groupId>com.itextpdf</groupId>
4. <artifactId>kernel</artifactId>
5. <version>7.0.0</version>
6. <scope>compile</scope>
7. </dependency>
8. <dependency>
9. <groupId>com.itextpdf</groupId>
10. <artifactId>io</artifactId>
11. <version>7.0.0</version>
12. <scope>compile</scope>
13. </dependency>
14. <dependency>
15. <groupId>com.itextpdf</groupId>
16. <artifactId>layout</artifactId>
17. <version>7.0.0</version>
18. <scope>compile</scope>
19. </dependency>
20. <dependency>
21. <groupId>com.itextpdf</groupId>
22. <artifactId>forms</artifactId>
23. <version>7.0.0</version>
24. <scope>compile</scope>
25. </dependency>
26. <dependency>
27. <groupId>com.itextpdf</groupId>
28. <artifactId>pdfa</artifactId>
29. <version>7.0.0</version>
30. <scope>compile</scope>
31. </dependency>
32. <dependency>
33. <groupId>com.itextpdf</groupId>
34. <artifactId>pdftest</artifactId>
35. <version>7.0.0</version>
36. <scope>compile</scope>
37. </dependency>
38. <dependency>
39. <groupId>org.slf4j</groupId>
40. <artifactId>slf4j-log4j12</artifactId>
41. <version>1.7.18</version>
42. </dependency>
43.</dependencies>
下面介绍每一个jar文件:
· kernel和 io: 包含低层次常用的基础的函数
· layout:包含高层次的函数
· forms:有关AcorForms操作需要的函数库
· pdfa:有关PDF/A(电子文档标准)的相关操作
· pdftest: test例子中所引用的库
除了这些常用的架包意外,还有一些其他可能的包:
· barcodes:当你想要创建bar code(条代码?)时使用
· hyph:当你想要文字有连字符时使用
· font-asian:当你想要用CJK字符时(Chinese / Japanese / Korean)
· sign:当你想要使用电子签名是使用
2)手动导入,通过https://github.com/itext/itext7/releases/tag/7.0.0即可,里面有上述所有的jar文件。
dependencis的图如下所示: