SpringMVC与iReport整合开发时的PDF中文显示处理
来源:互联网 发布:怎么联系淘宝官方客服 编辑:程序博客网 时间:2024/05/21 09:34
虽可以输出PDF格式的报表,但报表内容中若包含中文汉字,则无法正常显示。的确,整合开发实例中涉及到的PDF格式报表是不支持中文显示的,因为我的初衷是让大家熟悉SpringMVC与iReport的整合过程,并起到一个抛砖引玉的作用,所以PDF报表能否显示中文汉字压根没在考虑范围之内。
既然现在有不少网友遇到了这样的问题,刚好今天稍微有些空闲,就PDF如何显示中文的问题做下说明。
一、特别说明:
开始本示例之前,有必要先阅读我先前发布的《SpringMVC与iReport(JasperReports) 5.6整合开发实例》这篇博文,只有熟悉了SpringMVC与iReport的整合基础之后,才能更容易上手本示例教程。
开始之前,先来预览下最终的报表效果:
二、开发环境
- 操作系统: Windows 7 x64
- JDK: JDK 1.7.0_79 x64
- 开发IDE: Eclipse Luna Service Release 2 (4.4.2) x64
- Maven: Apache Maven 3.2.3
- iReport: Jaspersoft iReport Designer 5.6.0
三、添加PDF中文显示依赖包itextasian
PDF中文显示需要itext和itextasian这两个jar文件的支持,尤其是itextasian,PDF报表能否显示中文就靠它了。很多网友肯定都知道这一点,但为什么还是不能正确显示中文呢?原因有二:要么itextasian这个包有问题,要么报表模板设计有问题。
其实这两个包在iReport的安装目录下也有,他们位于:${iReport安装根目录}\ireport\modules\ext下:
另外一点需要注意的是,我们的项目是使用Maven来管理Jar包依赖的,因此需要将上述两个Jar包导入到Maven本地库中,然后在项目POM文件中添加依赖。因此我已经写好了批处理,双击对应的bat批处理脚本即可将上述jar包导入到Maven本地库中(位于本项目的跟目录下)。
然后在项目POM文件中添加itextasian依赖:
- <!-- iReport PDF中文支持 -->
- <dependency>
- <groupId>com.lowagie</groupId>
- <artifactId>itextasian</artifactId>
- <version>2.1.7.js2</version>
- </dependency>
四、报表模板设计
1、在报表模板中添加一个“Style”,暂且命名为“zh_CN”。
2、设置样式“zh_CN”的<Pdf Font name>和<Pdf Encoding>两项参数:
3、指定显示字段使用样式“zh_CN”。
当然也可以不使用“Style”的方式,而是为每个字段都指定<Pdf Font name>和<Pdf Encoding>这两项参数,不过这样会很繁琐。记得保存、编译模板文件。
五、编写Controller方法
- /**
- * 返回iReport报表视图,支持PDF显示中文
- * @param model
- * @return
- */
- @RequestMapping(value = "/reportChs", method = RequestMethod.GET)
- public String reportChs(Model model) {
- // 报表数据源
- JRDataSource jrDataSource = new JRBeanCollectionDataSource(JavaBeanPerson.getListChs());
- // 动态指定报表模板url
- model.addAttribute("url", "/WEB-INF/jasper/MvcIReportChsExample.jasper");
- model.addAttribute("format", "pdf"); // 报表格式
- model.addAttribute("jrMainDataSource", jrDataSource);
- return "iReportView";
- }
发布项目,通过链接:http://localhost:8080/mvc-ireport-chs/reportChs访问生成的PDF报表。
六、Demo源码下载
项目源码:mvc-ireport-chs.zip
- 顶
- SpringMVC与iReport整合开发时的PDF中文显示处理
- SpringMVC与iReport整合开发时的PDF中文显示处理
- SpringMVC与iReport整合开发时的PDF中文显示处理
- SpringMVC与iReport(JasperReports) 整合开发实例教程
- SpringMVC与iReport(JasperReports) 整合开发实例教程
- iReport 开发报表PDF中文显示问题解决方法
- iReport与JasperReport中如何支持pdf中文显示
- ireport生成pdf时的中文问题
- SpringMVC与iReport(JasperReports) 5.6整合开发实例
- SpringMVC与iReport(JasperReports) 5.6整合开发实例
- SpringMVC与iReport(JasperReports) 5.6整合开发实例
- 转 SpringMVC与iReport(JasperReports) 5.6整合开发实例
- iReport PDF(5.6.0) 中文显示的配置
- ireport报表系统及与SpringMVC的整合(一)
- ireport报表系统及与SpringMVC的整合(二)
- iReport 中pdf不显示静态中文
- IREPORT crossdata PDF 不显示中文
- iReport 中pdf不显示静态中文
- Java8:Stream概念
- 29. Divide Two Integers
- mnesia 总结
- Adobe Photoshop CS6无序列号破解方法
- linux-windows碎片问题
- SpringMVC与iReport整合开发时的PDF中文显示处理
- 源码地址汇总
- 什么时候使用存储过程比较适合
- jQuery如何设置复选按钮选中,求解
- MFC控件List Control总结
- poj 2406 Power Strings
- spring mvc整合ireport终极解结方案,解决HTML图片不显示的问题
- hdu 3639 Hawk-and-Chicken【强联通Tarjan+Dfs】
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解