Apache FOP : Displaying UTF-8 Characters in PDF (without embed? )

标签 apache pdf utf-8 fonts apache-fop

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

相关文章:

PHP安装配置: error: Cannot find php_pdo_driver. h

apache - 如何让我的网站显示.c文件,而不是尝试让用户下载它?

Php HTTP 重定向在 Azure 应用服务上不起作用

python - 如何使用 Django 将 HTML 页面转换为 PDF

c# - 使用 iTextSharp 在 PDF 的所有页面中显示签名

Swift 将 UTF16 转换为 UTF8 并返回

c++ - 从 C++ 文件中读取 Unicode 字符

apache - Apache Hive在亚马逊上如何工作?

pdf - 检测浏览器打印事件

python - 从列表中的对象中删除字节顺序标记