Jasper reports JasperReport库(5.2.0)是否可以使用国际字符?
我目前正在尝试在使用JasperReports 5.2.0生成的报告中显示日语字符。文档中的日文字符丢失。当我检查PDF属性时,我看到文档中只存在一种字体:Helvetica 通过一些研究,我发现IText库负责生成PDF导出。JasperReports 5.2.0使用itext-2.1.7.js2。此jar不包含国际字符集。相反,这在IText Asian中以不同的许可证(AGPL)单独提供 JasperReports库教程()说: 为了简化字体设置的使用,添加了一个新元素 介绍: 报表字体是报表级别的字体定义,可以用作 整个系统中其他字体定义中的默认或基本字体设置 整个报告。因为对国际角色的支持是 通过某种方式与iText库绑定,您可以找到有关如何 以不同语言和不同字符创建PDF文档 在iText文档中设置 这似乎意味着国际字符被锁定在更高版本的IText库后面 是否可以在不升级到JasperReports 6.x或IText 5.x的情况下将国际字符字体嵌入PDF 更新: 我尝试使用JasperReports_extensions.properties设置一个简单的字体扩展,内容如下:Jasper reports JasperReport库(5.2.0)是否可以使用国际字符?,jasper-reports,itext,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库教程()说: 为了简化字体设置的使用,添加了一个新元素 介绍: 报表字体是
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>
path/to/font/testJA/ARIALUNI.TTF
身份-H
真的
“Arial Unicode MS”,Arial,Helvetica,无衬线
“Arial Unicode MS”,Arial,Helvetica,无衬线
ja_JP
目标目录包含windows ARIALUNI.TTF文件。(注意,不打算使用它,只在调试时使用它)。您尝试过字体扩展吗?我尝试过字体扩展。我创建了一个font.xml,指向ja_JP的unicode字体;unicode字符没有显示,这让我相信IText缺少对亚洲字符的支持。不是这样吗?如果你用你使用的字体改进你的问题(可下载?),一些你喜欢打印的示例文本可能我可以测试一下。在pdf中创建一些关于字体扩展和测试字体的有用链接,我会尽快将其应用于SSCCE。我可能需要一段时间才能把它剥离到最基本的部分。现在,我已经添加了font.xml和jasperreports\u extensions.properties的内容。