Linux上的PDF:组合字体子集,并将Type 3replace为Type 1

我有一个我想在Linux上进行后期处理的PDF文件。 特别是我想:

  • 将types3字体replace为types1字体
  • 将同一字体的多个子集replace为单个子集(子集是在LaTeX中包含图的结果,其中每个图包含子集的字体)

使用Windows,使用Adobe Distiller可以执行这两个步骤(打开文档文件并使用相应的设置将其打印到新的PDF文档中)。

在Linux上,我可以使用Ghostscript [1]对字体进行子集分类,但似乎无法用Type 1字体replace(所有?)Type 3字体,或者组合多个相同字体的子集。

有关如何使用免费工具来实现这两项任务的提示?

(我知道如何将PDF文件中的Type 3字体转换为Type 1字体,但是我并不在乎理论上是否丢失了字体的相关信息,因为这个对话在Distiller中看起来效果不错)。


[1]有以下论点:

gs -dPDFA -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH \ -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \ -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 \ -dMaxSubsetPct=100 -dSubsetFonts=true \ -dEmbedAllFonts=true -sOutputFile=/tmp/tmp.pdf -f "$1" 

不知何故,我怀疑你的陈述“随着Windows这两个步骤可能与Adobe Distiller” 。 我需要亲眼看到,在我能够相信之前,这个工作。 对于“用单个子集替换相同字体的多个子集”尤其如此。 (但是我现在无法自己核实或伪造这个陈述……所以我暂且把它看成一个事实。)

Type 3字体在PostScript的完整版本中进行了描述。 类型1字体通过使用PostScript语言的子集来描述。

嵌入字体的替换在处理PDF文件时是一项不重要的任务。 我不熟悉任何可以做到这一点的Ghostscript相关实用程序。

callassoftware.com有一个非常强大的叫做pdfToolbox CLI 4命令行工具。 它适用于Windows,Linux,Mac OS X和Solaris。 pdfToolbox4能够实现您可以在所谓的PDF预检工作中想象的所有功能。 这包括取消嵌入的字体子集,并重新嵌入它们的全套(分两步完成,这样可能会产生你想要的结果)。

这是我能想到的唯一可以帮助你的工具。 (顺便说一句,卡拉斯的PDF预检技术的一部分,由Adobe授权在Acrobat 9 Pro中作为自己的预检工具)