iText是一种生成PDF报表的Java组件。通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超链接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。在使用iText的过程中,遇到了一下几个问题。
1.中文不显示
2.没有合适的工具类样式
3.用输出流导出可供浏览器下载的问题
几经度娘最终整合了很多代码,终于汇总成了可以简易使用的工具类
主要是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)
使用工具类可以快速生成表格、段落、标题、分页,并且对这些元素进行基本的设置。
因涉及一些执行语句,禁止写入,请联系客服获取
后台返回itext生成的输出流,这里使用工具类生成了多个表格。
因涉及一些执行语句,禁止写入,请联系客服获取
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者