首页 文章

将字体嵌入PDF表单

提问于
浏览
3

我有一个由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

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

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

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

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

  • 0

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

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

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

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

  • 1

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

  • 1

    如果商业应用程序在您的情况下是可行的选择,那么有许多商业解决方案可以完全嵌入PDF格式的字体(“只是”这样做可能会很昂贵) . 两个主要的竞争者可能是卡拉斯pdfToolbox(警告:我与这个产品有关)和Enfocus Pitstop .

相关问题