Jasper Reports PDF 不导出西里尔文值

Posted

技术标签:

【中文标题】Jasper Reports PDF 不导出西里尔文值【英文标题】:Jasper Reports PDF doesn't export cyrillic values 【发布时间】:2016-03-06 15:04:25 【问题描述】:

我正在尝试将 jasper 导出为 pdf,但它没有显示西里尔字母值。当我将它导出为 excel 时,它确实显示并且输出很好,但是当我尝试导出为 PDF 时,它不会导出西里尔字母值。西里尔字母的值不是用西里尔字体写的,而是用西里尔键盘写的。

我用来导出的代码是:

JRExporter e = new JRPdfExporter();
                e.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
                e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream);
                e.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, NAME);

我什至尝试指定以下参数:

e.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");

但没有成功。有什么建议吗?

【问题讨论】:

输出结果在这里:snag.gy/ip5F7.jpg 需要添加字体扩展类似问题***.com/questions/33940126/…。如果添加字体扩展(Idenity-H,嵌入式)后仍有问题,请告诉我们 我的问题与向 iReport 或 JasperSoft 添加字体扩展有什么关系?我的导出是通过执行 jasper 报告的 java 代码完成的。尽管如此,jasperreports-fonts 的依赖关系也在 maven 中指定 IReport 或 JasperSoft 仅指示为生成需要包含在您的 java 代码中的字体扩展的 jar(答案的检查点 3 和 4)的工具。但是如果您确定您的项目中包含正确的字体扩展名(包含支持您的字符的 .ttf 字体。)我想这不是问题,但我仍然会押注字体扩展名问题.... 我建议您编辑您的问题,使用您的 fontsFamily.xml 和您的 jasperreports_extension.properties 指示您正在使用哪个 .ttf。 (以及是否可以下载 .ttf) 【参考方案1】:

Jasper 报告使用 iText 并且总是当 char 未在 pdf 中呈现时 这应该是清单:

    我的实际.tff 支持 (OpenType) 字体是否可以实际渲染 字符。并非所有字体都呈现 UTF-8 中的所有字符,参见 How can I test if my font is rendered correctly in pdf? 我是否将正确的编码传递给 iText。如有疑问(或一般情况下),请使用编码 Identity-H,建议将其用于较新的 PDF 标准,并让您能够混合不同的编码。 我的字体是否嵌入,这样如果我共享 pdf,没有该字体的计算机也可以显示内容吗?

如何确保这是 JasperReport?

不推荐使用的方法是在textElement上设置属性

<textElement>
  <font pdfFontName="Helvetica" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
  <paragraph lineSpacing="Single"/>
</textElement>

当前不推荐使用的方法 v 3-6,是添加字体扩展,这很容易通过使用像iReport或JasperSoft Studio这样的工具来生成你的.jar字体扩展名,以便您可以将其直接包含在 classpath 中。

How to generate font extension .jar using iReport or JasperSoft Studio.

编辑: OP 的问题是清单上的 1(.ttf 字体无法呈现),但他肯定应该考虑使用非弃用方法的 2 和 3。

【讨论】:

以上是关于Jasper Reports PDF 不导出西里尔文值的主要内容,如果未能解决你的问题,请参考以下文章

Jasper Reports:证明分布式对齐文本字段/静态文本的合理性

Jasper 报告无法导出为 PDF

利用程序将.jrxml导出为.jasper文件并用PDF显示

xml 如何使用Maven组合GWT和Jasper Reports

如何将报告导出为 PDF/A-1a、PDF/A-1b?

jasper excel html pdf 主报表中常用属性