我正在尝试使用 FOP 导出带有 UTF-8 字符的 PDF,最好不需要嵌入字体。
以下代码:
<fo:block font="10pt Helvetica" text-align="justify" space-after="10pt" space-before="8pt" keep-with-previous="auto" keep-together.within-page="auto">
<fo:block font-weight="bold" color="gray">Summary</fo:block>
<fo:block text-indent="1em" keep-with-previous="always">
<fo:block text-indent="1em" space-before="4pt">
<fo:block text-indent="1em" space-before="4pt">私はガラスを食べられます。それは私を傷つけません
</fo:block>
</fo:block>
</fo:block>
</fo:block>
在 PDF 中生成 ###################。我知道这个问题:http://xmlgraphics.apache.org/fop/faq.html#pdf-characters
当我进入“文档属性”->“字体”时,Helvetica 字体与“编码:ANSI”一起列出。有没有办法改变这种情况?
如果我要嵌入,那么在无法访问 Helvetica.ttf 的情况下这样做的最佳方法是什么?我试过使用 DejaVuSans,但我最终用方块代替了 # 符号。
请注意,这不是从命令行一次性使用(这将是一个开始),而是对现有应用程序的扩展。我正在尝试支持 UTF-8 字符而不会太复杂。
最佳答案
AFAICT,PDF specification 中包含的字体仅包含来自 ISO-Latin-1 的字符。如果您想要的字符不在附件 D:字符集和编码中定义的字符范围内,那么您应该嵌入该字体。
关于 Apache FOP : Displaying UTF-8 Characters in PDF (without embed? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302528/