ireport生成pdf里文字不显示。本文以宋体中文字不显示为例。
问题:由浅入深一步一步分析
问题1、预览正常,但生成pdf中文不显示
报告模板编辑后,预览正常,但生成pdf中文不显示。以下是试验过程:
先编辑好一个报告单模板,文字都是选宋体,将preview->PDF Preview勾上预览时生成报告单
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : STSong-Light
pdfEncoding : UniGB-UCS2-H
如下生成的PDF中文出不来:
解决:
解决:加入生成PDF时要用到的宋体jar
下面介绍如何加入宋体jar包
进入C:\Windows\Fonts目录搜索字体文件 宋体
2、复制出来放到目录D:\字体文件中
用ireport生成jar包:打开 工具--选项--Install Font
选择刚才复制出来的simsun.ttc文件
这里的Family Name表示在编辑的时候选择“宋体”时会使用这个新加的字体集
后面一直下一步直到完成。
这时可以检查一下,查看ireport\fonts\目录下的irfonts.xml文件可以发现自动加入了一段配置,和刚才的字体集也被自动复制了过来
操作生成字体jar,
导出文件,选择目录D:\iReport-5.1.0\ireport\fonts
把刚才生成的jar添加到classpath中:
确定重启ireport或者点一下编译
再进到fonts页面配置把以下打勾上
再把勾打上。再重启一下ireport
这里再预览就能显示中文了,不过如果这里还报错的话,那就是宋体ttc文件的问题,后面再写怎么解决。
问题2、报告中的生辟字输入不了,代码变量传入显示不出来。
3、测试
预览和生成成功:
结尾:样例小程序二维码,自己做的一个免费好用的排班小程序