关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

iText导出PDF多表格

发布时间:2023-06-26 22:00:55

iText是一种生成PDF报表的Java组件。通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。在使用iText的过程中,遇到了一下几个问题。


1.中文不显示


2.没有合适的工具类样式


3.用输出流导出可供浏览器下载的问题


几经度娘最终整合了很多代码,终于汇总成了可以简易使用的工具类


1.中文不显示


   主要是itext版本的问题,itext一开始是只有一个itext的jar包,后来升级后拆分成两个jar包,一个是itextpdf一个是itext-asian。我这边使用的版本是itextpdf-5.5.6.jar和itext-asian-5.2.0.jar。确保itext版本匹配。itext-asian中含有中文字体包,可以直接使用这里的中文字体。当然也推荐这种方式,因为其他方式依赖于环境的字体包。

 //1:使用iTextAsian.jar包中的字体 BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font font = new Font(baseFont);  //2:使用Windows系统字体 BaseFont baseFont_zh = BaseFont.createFont("C:\\Windows\\Fonts\\simsunb.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font font_zh = new Font(baseFont_zh);  //3:使用资源字体,也就是自己下载的字体 BaseFont baseFont_resources = BaseFont.createFont("\\font\\方正舒体.TIF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED); Font font_resources = new Font(baseFont_resources)

   

2.iText工具类

使用工具类可以快速生成表格、段落、标题、分页,并且对这些元素进行基本的设置。

因涉及一些执行语句,禁止写入,请联系客服获取

3.PDF文件流下载

后台返回itext生成的输出流,这里使用工具类生成了多个表格。

因涉及一些执行语句,禁止写入,请联系客服获取

4.效果图



/template/Home/leiyu/PC/Static