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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值