work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JasperReport中文打印问题

Posted on 2021-06-13 22:18  work hard work smart  阅读(353)  评论(0编辑  收藏  举报

1、使用中文展示问题

 

 展示的时候,可以发现中文不见了

 

2、 问题原因

jasperreports的jar包源码中不包含中文字体库。

 

 

3、给JasperReport Studio工具增加字体。

1) 可以在C:\Windows\Fonts下找你想要的字体文件。如微软雅黑

2) JasperReport Studio工具的Window-> Preferences -> font 中add一个华文宋体的字体

 

 

然后将带有中文的字体设置为华文宋体

 

 

编译后替换template1.jasper

然后增加以下文件

 

 fonts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>

    <!--</fontFamily>-->
    <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

  

查看http://127.0.0.1:8080/testJasper,可以发现中文可以正常显示了。