问题描述
最近在学JasperReports,参考的是高洪岩老师编写的《JasperReports+iReport报表开发详解》。在开始搭建开发环境(用的是比较新版的JasperReports 6.0.0,截止至发文日最新版貌似是6.0.4了。)的时候遇到了这么个常见的问题——在iReport中编译jrxml中文可以正常显示,但是在Eclipse中开发Web项目时中文却无法显示并且在console中报出如下错误:
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontName : STSong-Light pdfEncoding : UniGB-UCS2-H(Chinese Siplified) isPdfEmbedded : true
解决方案
按照书上的说法,需要iTextAsian.jar和iTextAsianCmaps.jar两个包。在网上随便找了个下载源,就是死活不work。后来又到网上搜了一圈,发现如下解决方案:
- 首先,在用iReport设计报表时将要显示中文数据的地方的属性设置如下: Font name: 宋体 (中文字体) PDF font name: STSong-Light PDF Encoding: UniGB-UCS2-H(Chinese Siplified) PDF Embeded: √
- 将iTextAsian.jar这个包导入Web项目的lib中iTextAsian.jar包的下载地址为: