2010-09-05 25 views
7

我有一个我希望在Linux上后处理的PDF文件。特别地,我想:Linux上的PDF:组合字体子集并将Type 3替换为Type 1

  • 替换Type 3字体与Type 1字体
  • 更换相同字体的多个子集与单个子集(子集是包括在乳胶,其中每个图中的结果图包含subset'ed字体)

与Windows这两个步骤都可以使用Adobe蒸馏器(打开文档文件,并与相应的设置打印到一个新的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" 

回答

8

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

类型3字体在全文中描述,丰富的PostScript版本。类型1字体通过使用PostScript语言的子集来描述。

处理PDF文件时替换嵌入字体是一项不平凡的任务。我不熟悉任何可以做到的与Ghostscript相关的工具。

callassoftware.com有一个非常强大的命令行工具出售,被称为pdfToolbox CLI 4。它适用于Windows,Linux,Mac OS X和Solaris。 pdfToolbox4能够实现几乎所有您能想象到的所谓PDF预检工作。这包括取消嵌入字体子集并用全套重新嵌入字体子集(分两步完成,因此可能会生成您想要的结果)。

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

+0

+1为信息性答案和提及显然是伟大的工具。部分关于Adobe也很有趣(对他们来说有点令人尴尬,IMO);) – przemoc 2011-05-24 20:41:56

相关问题