替换嵌入PDF的字体非常困难。我不知道任何免费的-在语音(GPL许可)或自由的,在啤酒(免费)软件,可以的可能做到这一点(通过取消先嵌入字体,然后重新嵌入必需字体)。我只知道做这件事的两种商业产品:callassoftware.com的pdfToolbox4和Enfocus的PitStop(当然,肯定还有其他产品,但我不知道它们,而这两个是这里的市场领导者)。
这是一种使用免费软件从PDF中提取嵌入字体的方法。请注意,如果字体的许可未禁止您这样做,则仅在法律上允许您这样做。在Ghostscript源代码存储库中,存在一个名为PostScript的程序实用程序extractFonts.ps
,可以在以下位置提供帮助:
- 安装Ghostscript。使用最新版本8.71。
- 下载文件 http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
- 您可能需要阅读下载文件中包含的注释。
在DOS框(cmd.exe)中运行以下命令:
gswin32c.exe ^
-q ^
-dNODISPLAY ^
C:/path/to/extractFonts.ps ^
-c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
- 请牢记该命令可能发出的任何警告或错误消息。
- 现在,成功提取的字体将使用与PDF中相同的名称存储在当前目录中。
(请注意,此处提取字体并不意味着从PDF中删除字体,而是创建字体文件,这些文件是嵌入到PDF中的字体文件的副本。)
这是可能有助于实现您想要的目标的另一个构建块。您可能需要解压缩PDF的所有压缩部分/流,因此可以使用简单的文本编辑器更轻松地编辑文件。(警告:编辑PDF并非一项简单明了的任务-您的编辑工作将需要相当丰富的知识和有关PDF文件格式内部知识的技巧。)
此技巧还使用了Ghostscript的Subversion toolbin
子目录中的实用程序。
- 下载文件http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
- 您可能需要阅读下载文件中的注释。
在DOS框(cmd.exe)中运行以下命令:
gswin32c.exe ^
-- ^
c:/path/to/pdfinflt.ps ^
c:/path/to/your-pdf-file.pdf ^
c:/path/to/your-pdf-file-decompressed.pdf
该命令将尝试解压缩所有“扁平”压缩流。(如果您不走运,您的文件还将包含使用其他压缩方法(例如'zip')的流,此方法将通过此命令保持不变。)