gpt4 book ai didi

java - Jasper Reports PDF 不导出西里尔字母值

转载 作者:搜寻专家 更新时间:2023-10-31 19:53:42 24 4
gpt4 key购买 nike

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

enter image description here

我用来导出的代码是:

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 格式呈现 时,这应该是 list :

  1. 我的实际 .tff 支持 ( OpenType ) 并且字体实际上可以呈现 字符。并非所有字体都呈现UTF-8 中的所有字符,参见 How can I test if my font is rendered correctly in pdf?
  2. 我是否将正确的编码传递给 iText。如果有疑问(或一般情况下)使用编码 Identity-H,建议用于较新的 PDF 标准,并使您能够混合不同的编码。
  3. 我的字体是否嵌入,以便在我共享 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 的问题是 list 上的 1(.ttf 字体无法呈现),但他肯定应该使用非弃用方法同时考虑 2 和 3。

关于java - Jasper Reports PDF 不导出西里尔字母值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34041619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com