iReport解决导出PDF解决不支持中文

从网上把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不支持中文过程