天天看点

jaspersoft生成的报表无法显示中文

前情提要

jaspersoft生成报表时已经将字体设为“华文宋体”

已经导入华文宋体的字体库stsong.ttf,和字体模板

fonts.xml

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
    <fontFamily name="华文宋体">
        <normal>stsong/stsong.ttf</normal>
        <bold>stsong/stsong.ttf</bold>
        <italic>stsong/stsong.ttf</italic>
        <boldItalic>stsong/stsong.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.lobstertwo=stsong/fonts.xml
           

但是仍然无法显示中文

解决办法

修改后的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.lobstertwo=stsong/fonts.xml
net.sf.jasperreports.awt.ignore.missing.font=true
           

即可解决

参考文章:http://www.cnblogs.com/sixiweb/archive/2012/11/24/2785553.html