【问题标题】:Embed a font into PDF form将字体嵌入 PDF 表单
【发布时间】:2014-12-17 23:22:08
【问题描述】:

我有一个由 LibreOffice 生成的 PDF 表单。因为对于 LibreOffice 中的 known bug,即使在表单字段中使用该字体时,也只有一个字体子集嵌入到 PDF 中。因此,如果计算机上未安装字体,则表单不可用或表单字段使用错误的前端(取决于 PDF 查看器)。

所以我必须在 LibreOffice 中生成后用整个字体替换 PDF 表单中的表单子集。通常建议使用ps2pdf 或gs 来修复pdf 中的字体问题。但是这两个程序都不支持 PDF 格式。如果在 PDF 表单上使用它们,表单域会被破坏。我在 Unbunt 14.04 LTS 下使用 Ghostscript 9.10 对其进行了测试。

我可以使用pdffonts 来显示嵌入在 PDF 中的字体。但是是否还有一个命令行工具可以将另一种字体嵌入到 PDF 中?

【问题讨论】:

    标签: linux pdf fonts pdf-generation


    【解决方案1】:

    在错误得到解决之前,您可以使用PDF Toolbelt 来修复您的表单。

    下载JAR文件后,可以将所有字段的字体重置为Adobe Acrobat的默认值:

    java -jar ./pdf-toolbelt.jar form-font-defaults input.pdf output.pdf
    


    免责声明:我是上述工具的作者。

    【讨论】:

      【解决方案2】:

      Libreoffice v5.2 为表单字段嵌入字体很简单:

      在表单域中启用字体: () 右击表单域>控制>字体

      然后告诉您的文档将使用的字体包含在其文件中: () 文件 > 属性 > 字体选项卡 > 将字体嵌入文档 在我的情况下,文件大小从 50k 增加到 5000k(使用一种字体 有两种样式)。

      最后检查 PDF 选项以将字体包含到 pdf 中: () 文件 > 导出到 Pdf > 常规选项卡: x 启用创建 PDF 表单(使用户可以填写表单字段)。 不确定是否需要以下两个选项: x 标记的 PDF 和 x Hybrid PDF:后者会将 pdf 放大到 LibreOffice 文件的大小。

      【讨论】:

        【解决方案3】:

        如果商业应用程序在您的情况下是一个可行的选择,那么有许多商业解决方案可以将字体完全嵌入 PDF 中(“仅仅”这样做可能会很昂贵)。两个主要的竞争者可能是 callas pdfToolbox(注意:我与这个产品有关)和 Enfocus Pitstop。

        【讨论】:

          【解决方案4】:

          这只是一种解决方法:在页面上放置一个不可见且锁定的文本编辑字段,其中包含您可能的字符集的默认字符串。虽然您仍然会得到一个子集字体,但它会是一个更大的子集。

          【讨论】:

          • 在我的测试中,Acrobat Reader DC 仅接受完全嵌入(不是子集)的表单字段的字体,而不管有多少字符。这是有道理的,因为无法显示不在字体中的任意字符的表单填充阅读器对用户来说是一种糟糕的行为。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-08
          • 2017-08-13
          • 2014-08-13
          • 2010-12-19
          • 1970-01-01
          • 2010-10-12
          相关资源
          最近更新 更多