嵌入字体时出现“无法读取字体”

时间:2019-05-21 12:14:24

标签: xsl-fo apache-fop

我正在尝试使用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 

如何解决此问题?

2 个答案:

答案 0 :(得分:0)

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

  

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

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

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

答案 1 :(得分:0)

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