关闭

jasperreport ireport创建PDF中文字体问题终极解决方法

标签: jasperreportireportPDF中文字体
3333人阅读 评论(0) 收藏 举报

公司做的项目需要用到ireport来设计报表并导出PDF,刚接触也跟很多人一样碰到了中文字体问题,网上找到了解决方法但觉得不够完美,普遍的解决方法是设置文本控件的pdf font name和pdf encoding属性,这种方法有几种问题,一个是加粗等效果没有作用,还一个是英文字母和数字的字体很不好看。

第二种方法就是导入字体的方法,我当初参考的例子是这个,http://blog.csdn.net/kimylrong/article/details/7635407,按照他的例子用仿宋字体确实可行,但我只是想用宋体,于是在系统文件夹里面找了个simsun.ttc的字体文件,结果报了这个错。

 Font 'fonts/simsun.ttc' is not available to the JVM. See the Javadoc for more details.

貌似只能用ttf后缀的字体文件,于是我第一个想法是找一找有没有simsun.ttf这个的字体存在,百度了一下确实有人提供下载,但并没有说明文件的来源,而且我也有个癖好,就是能用一手的东西尽量用一手的。后来发现了有种叫ttc转ttf工具的东西,我用的是ttctools,它可以把ttf从ttc里面分离出来


你可以打开来预览一下,发现它分成了宋体和新宋体,这时拿这个FONT00.TTF去打包jar文件并放入项目,成功解决!

注意设计报表的时候,只需要设置font属性为宋体,其他PDF属性均保持默认即可。


Other:

1.字体打包jar文件并不需要像例子里面那样手动命令行,用ireport安装完字体,选中字体,右边有个Export as extension按钮便是打包。

2.我用的是jasperreports-5.6.0.jar,5.6版本的,之前用的5.5.1版本会出现字体大小不能调的问题。

fd 

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3373次
    • 积分:52
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档