avatar1 avatar
@{[{user.name}]}
希腊·圣域
since February 1500

iReport 5.6.0 中文字体问题终极完美方案

使用过iReport做过报表或者各种report的同学都知道,iReport对中文的支持非常差,可以说不经过任何配置的话是不支持中文的。因为iReport是基于iText生产PDF的,所以最简单的做法是导入iTextAsian包来解决中文文问题,但是这个包只支持宋体,在现在支持clearType的中文字体那么多,比如微软雅黑,如果可以随意更换自己喜好的字体就完美了。经过Kido的不断测试,终于找到一个简单可行的随意更换字体的办法。

  • 创建一个font文件夹,这个文件夹的位置可以不需要在工程目录下,比如可以在C盘下创建一个 C:/font, 如果是Mac则可以创建于当前用户目录下,比如:~/font

  • 添加刚刚创建的文件夹到你的iReport中的classpath中,如图

  • 下载你想要添加的中文字体,注意,iReport只支持.ttf格式的字体,下载时请留意,字体一般有两个文件,一个对应普通字体另一个粗体。

  • 将下载好的字体保存到font文件夹,注意:不要包含子目录,直接将字体文件拷贝到font根目录。

  • 安装字体到iReport,如下图



  • 完成上述几步就可以在iReport中使用中文字体了,使用时跟iReport中默认的英文字体一样,不需要设置任何地方可直接使用,PDF font name, embeded等等统统不要设置。

  • 如果你想在Java中调用iReport动态生成PDF报告,那么你还需要将刚刚添加到iReport的字体打包成jar并添加到Java工程的classpath中,具体打包方法如图:

Kido成功用以上方法随意的切换了中文字体,总结一记录一下吧,有需要的同学也可以参考一下。