最近研究JasperReports的UI可视化设计工具iReport在导出PDF文档时遇到了老问题:中文乱码……哎,又是乱码,解决呗

办法很简单:

一、设置文字标签的属性

点击文字标签设置PDF的属性,如下

Pdf font? name: STSong-Light;

Pdf? embedded:勾上(其实不打钩也可以)

pdf enccoding: UniGB-UCS2-H (Chinese Simplified)

设置完成后再点击预览查看控制台是否有报错,因为设置了中文语言所以如果iReport的lib目录下面没有中文语言包iTextAsian.jar的时候会报错,如下图:

 

iReport缺少iTextAsian.jar包时

如果出现上面错误,应该就是iReport缺少iTextAsian.jar包。工具->选项->iReport->Fonts 看到下面的pdf

font path里面没有iTextAsian.jar如图:

二、设置iReport的字体Classpath

复制iTextAsian.jar包到iReport的libs目录里面,并添加到classpath中。

工具->选项->iReport->classpath ->add iTextAsian.jar ->确定

设置完成后再检查一下Font标签的pdf font path 发现是否有iTextAsian.jar了

三、重启iReport并重新导出PDF文档

到此设置完成了iReport导出PDF时的Classpath,现在可以试一试是否能够成功导出含有中文的PDF文档了

控制台没有任何错误,明确的指出了导出PDF时使用iText,OK,大功告成!

原文转自:http://www.wsria.com/archives/981