背景: windows + maven
由于jasper文件里的中文是微软雅黑。
参照网上所说,新增itext无法解决后,查看jasper源文件里中文字体,在jar包加入即可。
声明:此方法参考网上资料,经实测可用!
1.根据源文件查找字体,软件名TIBCO Jaspersoft Studio,可找到 .ttf 字体文件
2.将 .ttf 文件放入jasperreports-fonts.jar net\sf\jasperreports\fonts\dejavu 目录下(可使用压缩软件打开jar包复制过去)
3.在 jasperreports-fonts.jar net\sf\jasperreports\fonts\fonts.xml 新增如下:
<fontFamily name="myfont">
<normal>net/sf/jasperreports/fonts/dejavu/Vista.ttf</normal>
<bold>net/sf/jasperreports/fonts/dejavu/Vista.ttf</bold>
<italic>net/sf/jasperreports/fonts/dejavu/Vista.ttf</italic>
<boldItalic>net/sf/jasperreports/fonts/dejavu/Vista.ttf</boldItalic>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
<exportFonts>
<export key="net.sf.jasperreports.html">'微软雅黑', Arial, Helvetica, sans-serif</export>
<export key="net.sf.jasperreports.xhtml">'微软雅黑', Arial, Helvetica, sans-serif</export>
</exportFonts>
</fontFamily>
<fontFamily name="myfont">
<exportFonts>
<export key="net.sf.jasperreports.html">'微软雅黑', Arial, Helvetica, sans-serif</export>
<export key="net.sf.jasperreports.xhtml">'微软雅黑', Arial, Helvetica, sans-serif</export>
</exportFonts>
</fontFamily>
转换PDF中文成功!