Jasper Reports PDF 不导出西里尔字母值
Jasper Reports PDF doesn't export cyrillic values
我正在尝试将 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");
但没有成功。有什么建议吗?
Jasper 报告使用 iText 并且总是在 char 未在 pdf 中呈现时 这应该是清单:
- 我的
.tff
支持 (OpenType) 并且字体实际上可以 呈现 字符。并非所有字体都呈现
UTF-8
中的所有字符,参见
- 我是否将 正确的编码 传递给 iText。如果有疑问(或一般情况下)使用编码
Identity-H
,建议用于较新的 PDF 标准,并使您能够混合不同的编码。
- 我的字体是否 嵌入 以便如果我共享 pdf 也没有此字体的计算机也可以显示内容?
如何确保这是 JasperReport?
已弃用的方法 是在 textElement
上设置属性
<textElement>
<font pdfFontName="Helvetica" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
<paragraph lineSpacing="Single"/>
</textElement>
当前 未弃用的方法 v 3-6 是添加字体扩展,这可以通过使用像 iReport or JasperSoft Studio 这样的工具轻松实现,它可以生成 .jar
的字体扩展名,以便您可以将其直接包含在 类路径 中。
.
编辑: OP 的问题是清单上的 1(.ttf 字体无法呈现),但他肯定应该考虑使用非弃用方法的 2 和 3。
我正在尝试将 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");
但没有成功。有什么建议吗?
Jasper 报告使用 iText 并且总是在 char 未在 pdf 中呈现时 这应该是清单:
- 我的
.tff
支持 (OpenType) 并且字体实际上可以 呈现 字符。并非所有字体都呈现UTF-8
中的所有字符,参见 - 我是否将 正确的编码 传递给 iText。如果有疑问(或一般情况下)使用编码
Identity-H
,建议用于较新的 PDF 标准,并使您能够混合不同的编码。 - 我的字体是否 嵌入 以便如果我共享 pdf 也没有此字体的计算机也可以显示内容?
如何确保这是 JasperReport?
已弃用的方法 是在 textElement
<textElement>
<font pdfFontName="Helvetica" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
<paragraph lineSpacing="Single"/>
</textElement>
当前 未弃用的方法 v 3-6 是添加字体扩展,这可以通过使用像 iReport or JasperSoft Studio 这样的工具轻松实现,它可以生成 .jar
的字体扩展名,以便您可以将其直接包含在 类路径 中。
编辑: OP 的问题是清单上的 1(.ttf 字体无法呈现),但他肯定应该考虑使用非弃用方法的 2 和 3。