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

ste*_*e20 7 linux pdf fonts ghostscript pdflatex

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

  • 用Type 1字体替换Type 3字体
  • 用单个子集替换相同字体的多个子集(子集是在LaTeX中包含图形的结果,其中每个图形包含子集的字体)

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

在Linux上我可以使用Ghostscript [1]来配置字体,但它似乎不能用Type 1字体替换(所有?)Type 3字体或者组合相同字体的多个子集.

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

(我知道如何将Type 3字体转换为PDF格式的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"
Run Code Online (Sandbox Code Playgroud)

Kur*_*fle 8

不知何故,我怀疑你的声明"使用Windows,这两个步骤可以使用Adobe Distiller".在我相信之前,我需要亲眼看看这是有效的.对于"用单个子集替换相同字体的多个子集"尤其如此.(但我现在无法自己验证或伪造声明......所以我暂时将其视为事实.)

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

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

callassoftware.com有一个非常强大的命令行实用程序出售称为pdfToolbox CLI 4.它适用于Windows,Linux,Mac OS X和Solaris.pdfToolbox4能够在所谓的PDF预检工作中实现几乎所有你能想象到的东西.这包括取消嵌入字体子集并使用它们的完整集再次重新嵌入它们(在两个单独的步骤中执行,因此它可能产生您想要的结果).

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