将字体嵌入PDF格式

时间:2014-10-22 13:31:15

标签: linux pdf fonts pdf-generation

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

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

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

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

<小时/> 免责声明:我是上述工具的作者。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

如果商业应用程序在您的情况下是一个可行的选择,那么有许多商业解决方案可以完全嵌入PDF格式(它们将会很昂贵而且#34;只是&#34;可能这样做)。两个主要的竞争者可能是卡拉斯pdfToolbox(警告:我与此产品相关)和Enfocus Pitstop。