如何使用 iReport 在 Jasperserver PDF 中显示“$£Ω€απ⅔”?
Posted
技术标签:
【中文标题】如何使用 iReport 在 Jasperserver PDF 中显示“$£Ω€απ⅔”?【英文标题】:How can I display "$£Ω€απ⅔" in Jasperserver PDF using iReport? 【发布时间】:2016-02-29 15:17:30 【问题描述】:我已经用值硬编码了一个文本字段
":$£Ω€απ⅔:"
测试这些字符是否会在 PDF 中显示
但它只打印为
:$£€:
我尝试将字体更改为“符号”,但这并没有成功。
注意:我使用的是 iReport 5.5
【问题讨论】:
你在使用Font Extensions吗? 【参考方案1】:我在 iReport 中使用font-extensions 尝试了您的角色,这些是我采取的步骤
-
下载(或在你的电脑上使用)你想要的ttf字体(它需要支持字符),我用dejavu-serif。
在iReport 或Jasper soft studio 中安装字体(点击链接了解如何)
我使用 iReport 5.6 并设置了 PDF-Encoding: Idenity-H (横向书写的 unicode)并将字体嵌入到 pdf 中。这是我的 textField 的代码
<textField>
<reportElement x="8" y="15" uuid="41dc1200-091f-4799-a1d2-4622f88a0e84"/>
<textElement>
<font fontName="DejaVu Serif" size="13"/>
</textElement>
<textFieldExpression><![CDATA[":$£Ω€απ⅔:"]]></textFieldExpression>
</textField>
导出字体扩展名(这将创建一个 .jar)
将 jar 添加到您的类路径中。 导出为 pdf 并享受结果。这是一个如何使用任意字体的示例,如果您愿意的话 使用
DejaVu Sans
或DejaVu Serif
你可以只在类路径中包含jasper report fonts library,因此这些字体已经包含并映射到库中
【讨论】:
遇到同样的问题。在更改我的报告以使用 DejaVu Sans 之前,谁能解释为什么会发生这种情况? @Thomas 您可以在此answer 上检查 cmets,itext 生成 pdf 的库,需要 .ttf 并知道您使用哪种编码来正确创建 pdf。 @Tomas 另外你可以使用其他字体,只要是supported by itext,你只需要创建你自己的font-extension 谢谢@PetterFriberg。我也做了一些进一步的挖掘(尤其是在 iText 上)并得出了相同的结论。下一次尝试将使用 Arial,因为我希望报告中没有明显差异 - DejaVu Sans 看起来有点不同。【参考方案2】:我发布了一个类似的问题,上述技术解决了我的问题,直到有一天我重新启动 JasperServer 上下文。当我尝试将报告导出为 pdf 时,现在出现“找不到 PDF 编码”错误。
为了解决这个问题,我不得不将 iText-Asian.jar 和 Font-extension.jar 复制到 jasperserver 上下文的 lib 文件夹中。 “jasperserver/WEB-INF/lib”。完成后重新启动上下文并解决问题。
希望对某人有所帮助。
【讨论】:
你从哪里得到这些 JAR?以上是关于如何使用 iReport 在 Jasperserver PDF 中显示“$£Ω€απ⅔”?的主要内容,如果未能解决你的问题,请参考以下文章