JasperReports IReport 中中文字体问题

来源:互联网 发布:9377剑雨江湖进阶数据 编辑:程序博客网 时间:2024/04/30 00:21

JasperReports输出PDF的时候,使用的是iText组件,天生对中文支持极弱。网上很多的解决方案是导入iTextAsian包,但这个包只能使用宋体。如果你是在做产品,铁定会被领导批的体无完肤。

最合适的解决方案是使用TTF字体,这样汉字的字体就可以完美解决。所用的版本是5.6.0:

首先解决IReport中的字体:

第一步:将IReport的Fonts文件夹添加到classpath中,添加后点确定。



第二步,安装字体。从c:\windows\fonts目录拷贝字体文件到一个零时目录,比如微软雅黑,拷贝后是两个ttf文件,一个普通字体,一个加粗。

在IReport中的font标签配置





完成后出现微软雅黑,并勾选下方的font选项



完成上述操作后,新增字体就可以选择了



注意是横线上方的字体,横线下方有时候也会出现一个微软雅黑,但那是操作系统的字体,在输出PDF的时候会出问题,如下图中的字体。



在属性列表下方还有一个pdffontname属性,这里不需要修改。因为新增字体的时候已经embedded到pdf上了。



自此,在IReport中就可以将中文字体输出到PDF了


下面解决JasperReports编程中的PDF中文问题。

需要将字体打包加入工程,如图:



笔者输出了一个font-msyh.jar的文件,加入工程中



运行成功



0 0