是否可以在JasperReport库(5.2.0)中使用国际字符?

时间:2016-02-09 13:56:20

标签: jasper-reports itext

我目前正在尝试在使用JasperReports 5.2.0生成的报告中显示日文字符。文档中的日文字符丢失。当我检查PDF属性时,我发现文档中只存在一种字体:Helvetica。

通过一些研究,我发现IText库负责生成PDF导出。 JasperReports 5.2.0使用itext-2.1.7.js2。这个jar不包含国际字符集。相反,这是在IText-Asian中以不同的许可证(AGPL)单独提供的。

JasperReports库教程(http://community.jaspersoft.com/wiki/jasperreports-library-tutorial)说:

  

为了简化字体设置的使用,新元素是   介绍:。

     

报告字体是可用作的报告级字体定义   全局中其他字体定义的默认或基本字体设置   整个报告。由于对国际角色的支持是   以某种方式绑定到iText库,您可以找到有关如何的更多详细信息   用不同的语言和不同的角色创建PDF文档   在iText文档中设置。

这似乎意味着国际字符被锁定在IText库的更高版本之后。

是否可以将国际字符字体嵌入PDF而无需升级到JasperReports 6.x或IText 5.x?

更新

我尝试使用带有内容的JasperReports_extensions.properties设置一个简单的字体扩展名:

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.test=path/to/fonts/fonts.xml

此XML文件包含:

    <fontFamily name="Arial Unicode MS">
        <normal>path/to/fonts/testJA/ARIALUNI.TTF</normal>
        <pdfEncoding>Identity-H</pdfEncoding>
        <pdfEmbedded>true</pdfEmbedded>
        <exportFonts>
            <export key="net.sf.jasperreports.html">'Arial Unicode MS', Arial, Helvetica, sans-serif</export>
            <export key="net.sf.jasperreports.xhtml">'Arial Unicode MS', Arial, Helvetica, sans-serif</export>
        </exportFonts>
        <locales>
            <locale>ja_JP</locale>
        </locales>
    </fontFamily>

目标目录包含windows ARIALUNI.TTF文件。 (注意,不打算使用它,目前仅用于调试)。

0 个答案:

没有答案