您的位置:首页 > 编程语言 > ASP

JasperReports 6.0.0中文字体无法正常显示的问题

2015-05-16 17:01 169 查看

问题描述

最近在学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.jariTextAsianCmaps.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包的下载地址为:http://sourceforge.net/projects/itext/files/ 该包放在extrajars文件夹中。

重新到sf网站上下了最新版的iTextAsian包,终于解决了问题。

问题原因

那么这次的根本原因也很清楚啦,因为我用的是JasperReports 6.0.0,那么一定要也用最新版的iTextAsian包!iTextAsian包名称上没有标明它的版本,但还是有区分的,难怪之前一直不行,估计误用的是比较古老的版本吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  报表开发 java