我有一个PDF文件,我想在Linux上进行后期处理。特别是我想:
使用Windows,可以使用Adobe Distiller执行这两个步骤(打开文档文件并将其打印到具有相应设置的新PDF文档中)。
在Linux上我可以使用Ghostscript [1] 来配置字体,但它似乎无法用Type 1字体替换(所有?)Type 3字体或组合多个字体相同字体的子集。
有关如何使用免费工具实现这两项任务的任何提示?
(我知道对How to convert Type 3 font to Type 1 font in PDF的回复。但是,我真的不在乎理论上是否丢失了有关字体的信息,因为这个对话似乎在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"
答案 0 :(得分:8)
不知何故,我怀疑你的陈述“使用Windows,这两个步骤可以使用Adobe Distiller”。在我相信之前,我需要亲眼看看这是有效的。对于“用单个子集替换相同字体的多个子集”尤其如此。 (但我现在不能自己验证或伪造这个陈述......所以我暂时把它当成一个事实。)
Type 3字体在PostScript的完整版本中进行了描述。通过使用PostScript语言的子集来描述类型1字体。
在处理PDF文件时,替换嵌入字体是一项非常重要的任务。我不熟悉任何与Ghostscript相关的实用工具。
callassoftware.com有一个非常强大的命令行实用程序,名为pdfToolbox CLI 4
。它适用于Windows,Linux,Mac OS X和Solaris。 pdfToolbox4
能够在所谓的 PDF预检工作中实现您能想象到的一切。这包括取消嵌入字体子集并使用其完整集再次重新嵌入它们(在两个单独的步骤中执行,因此可能生成您想要的结果)。
这是我能想到的唯一一个可以帮助你的工具。 (顺便说一句,卡拉斯的PDF预检技术的一部分由Adobe授权在Acrobat 9 Pro中作为自己的预检工具......)