jasperreport ireport PDF中文字体完美解决方案

来源:互联网 发布:手机淘宝怎么买游戏号 编辑:程序博客网 时间:2024/04/30 15:25

1.将iTextAsian.jar复制到iReport安装目录\ireport\libs下,运行iReport,工具-->选项-->iReport:Classpath中,将iTextAsian.jar包导入。

Jasperreport+iReport生成PDF字体问题
完成后,在属性里面设置Pdf font name: STSong-Light; pdf Encoding=UniGB-UCS2-H;(PdfEmbedded复选框选不选上都一样),一般的中文字体就可以在pdf中正常显示了。注意:虽然在iReport3.7中,PDF font name和pdfEncoding两个属性已被声明过时(Deprecated),但实际上还是必须得设置正确,否则编译任然出错

2.项目中还需要用到宋体之外的字体,即黑体和华文新魏(iReport中默认有这些字体,但却不能用于pdf中,在PDFFontname下就只有STSong-Light可用,而且加粗、斜体等效果在pdf中都无效),则做好上述设置之后,还需要在做如下设置:

 1)将要用的字体文件拷贝到安装目录\ireport\fonts 中。

 2)工具-->选项-->iReport:Classpath中,将刚才的字体目录引入。

Jasperreport+iReport生成PDF字体问题

 3)工具-->选项-->iReport:Fonts中,将刚才的字体目录和包引入。Jasperreport+iReport生成PDF字体问题

 4)完成后,重启一下iReport,在文字属性中的Pdf fontname中就可以看到相应的名字,选择字体后,设置Pdf Embedded打勾和PdfEncoding为Identity-H(Unicode with horizontalwriting),在iReport中预览(用Adobe pdfReader预览)可以看到一切都OK了,iReport配置完毕。

3.用Jasperreport生成报表还有一个问题,项目找不到字体,会一直抛异常,解决方法如下:

 1)将刚才iReport中引入的fonts文件夹复制到项目的根目录下。

 2)右键点自己项目-Properties-JavaBuild Path,选Libraries选项卡,点Add ClassFolder,选择刚才复制进来的fonts文件夹,点OK。

最重要的一点,别忘了先确保要安装的字体在本机上必须先安装,即把ttf字体文件拷贝到C:\Windows\Fonts目录下,保证文件名称都一致即可。

对于一些特殊字体,在部署到其他客户端时候比较麻烦,那么,我们就可以只把我们用到的字体做成一个jar包,注意不要把文件夹打包成jar包,这样myeclipse是会报错的,应该直接把那些ttf文件直接打包成jar包,build path连接到MyEclipse,就没问题了

0 0
原创粉丝点击