从网上把jasperreports-6.0.0-project.zip下载下来,解压
创建一个Maven工程

把刚才解压zip中/demo/fonts里面的复制东西过来,一个ttf代表字体.把主要的东西复制过来,不必要的字体删除可以.
修改fonts.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
<fontFamily name="宋体">
<normal>net/sf/jasperreports/fonts/dejavu/simsun.ttf</normal>
<bold>net/sf/jasperreports/fonts/dejavu/simsun_bold.ttf</bold>
<italic>net/sf/jasperreports/fonts/dejavu/simsun.ttf</italic>
<boldItalic>net/sf/jasperreports/fonts/dejavu/simsun.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="微软雅黑">
<normal>net/sf/jasperreports/fonts/dejavu/msyh.ttf</normal>
<bold>net/sf/jasperreports/fonts/dejavu/msyhbd.ttf</bold>
<italic>net/sf/jasperreports/fonts/dejavu/msyh.ttf</italic>
<boldItalic>net/sf/jasperreports/fonts/dejavu/msyh.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>
</fontFamilies>
修改jasperreports_extension.properties如下
net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.dejavu=net/sf/jasperreports/fonts/fonts.xml
然后打包到仓库

在项目中依赖下这个jar包过来,然后就支持中文了.
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.0.0</version>
</dependency>
效果就跟上面DEMO一样

以上就是解决ireport导出pdf不支持中文过程
本文详细介绍了如何解决iReport在导出PDF时遇到的不支持中文问题。通过下载jasperreports-6.0.0项目,创建Maven工程,复制字体文件,修改fonts.xml和jasperreports_extension.properties配置,打包成jar并引入项目,从而实现PDF导出中文支持。
1754

被折叠的 条评论
为什么被折叠?



