【问题标题】:"Failed to read font" while embedding font嵌入字体时“读取字体失败”
【发布时间】:2019-10-07 20:02:14
【问题描述】:

我正在尝试使用 FOP 2.3 在 PDF 输出中嵌入字体。

这是我的配置文件:

<font embed-url="D:/fop-2.3/fop/Fonts/helr46w.ttf" kerning="yes" sub-font="Helvetica">
    <font-triplet name="Helvetica" style="italic" weight="normal"/>
</font>

这是我得到的错误:

java.lang.RuntimeException: Failed to read font file D:/fop- 2.3/fop/Fonts/helr46w.ttf
at org.apache.fop.fonts.LazyFont.load(LazyFont.java:132)
at org.apache.fop.fonts.LazyFont.getAscender(LazyFont.java:235)
at org.apache.fop.fonts.Font.getAscender(Font.java:120)
at 

我该如何解决这个问题?

【问题讨论】:

  • 我也面临同样的错误并坚持这一点。顺便说一句,我选择 FOP 2.3 只是为了使用属性“border-radius”。有没有办法在 FOP 1.1 中实现这一点?

标签: xsl-fo apache-fop


【解决方案1】:

错误消息中最相关的部分是这个:

Failed to read font file D:/fop- 2.3/fop/Fonts/helr46w.ttf

FOP 无法访问它应该嵌入的文件:

  • 验证文件路径是否正确(路径中有空格吗?)
  • 验证文件权限是否允许 FOP 读取它

【讨论】:

  • 如何在FOP中验证文件权限
  • 相同的 (.xconf) conf 文件在 FOP 1.1 中运行良好 不适用于 FOP 2.3
【解决方案2】:

我在运行 FOP 2.3 时遇到了类似的问题,我不得不将 file:/ 放在文件路径的前面

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 2022-09-30
    • 2012-06-28
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多