在PDF文档中替换字体


13

我有一个带有可编辑表单字段的PDF文档(未加密)。但是,这些字段的字体已损坏:缺少一些字形,因此当我输入文本时会出现一些间隙。

如何修改PDF文档(我无权访问用于创建它的源文档)来替代其他字体来代替损坏的字体

有问题的字体是Adobe的Caliban Regular,我可以看到它嵌入在文档中。显示空白的字形包括“ i”,“ T”,“ V”;也许我还没有发现的其他人。

我还有另一个使用Caliban的类似文档,它确实可以正确显示,包括上面列出的损坏的字形。如果有人可以告诉我如何从一个PDF中提取字体并将其替换为现有的PDF,那将是一个解决方案。

我目前正在使用:

如果其他免费的 PDF编辑工具(无论是否为零价)会为您带来帮助,我将对其感兴趣。


您正在使用哪种PDF查看或编辑软件?表单字段使用的是哪种字体?在将PDF表单保存为其他文件名之后,该字体会被嵌入吗?
Kurt Pfeifle,2010年

感谢您的评论,我在说明中进行了扩展以回答您的问题。
bignose

还有一个问题:您可以命名要输入到表单字段中的字形(大致意思是字母形状)吗?
Kurt Pfeifle,2010年

请问您的凯列班的字体看起来就像这样:linotype.com/de/202/caliban-schriftfamilie.html或者更确切地说,是这样的:fontspace.com/george-williams/caliban
库尔特Pfeifle

1
@bignose您是否找到了解决方案?
2015年

Answers:


5

替换嵌入PDF的字体非常困难。我不知道任何免费的-在语音(GPL许可)或自由的,在啤酒(免费)软件,可以的可能做到这一点(通过取消先嵌入字体,然后重新嵌入必需字体)。我只知道做这件事的两种商业产品:callassoftware.com的pdfToolbox4和Enfocus的PitStop(当然,肯定还有其他产品,但我不知道它们,而这两个是这里的市场领导者)。

这是一种使用免费软件从PDF中提取嵌入字体的方法。请注意,如果字体的许可未禁止您这样做,则仅在法律上允许您这样做。在Ghostscript源代码存储库中,存在一个名为PostScript的程序实用程序extractFonts.ps,可以在以下位置提供帮助:

  1. 安装Ghostscript。使用最新版本8.71。
  2. 下载文件 http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  3. 您可能需要阅读下载文件中包含的注释。
  4. 在DOS框(cmd.exe)中运行以下命令:

    gswin32c.exe ^
        -q ^
        -dNODISPLAY ^
        C:/path/to/extractFonts.ps ^
        -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
    
  5. 请牢记该命令可能发出的任何警告或错误消息。
  6. 现在,成功提取的字体将使用与PDF中相同的名称存储在当前目录中。

(请注意,此处提取字体并不意味着从PDF中删除字体,而是创建字体文件,这些文件是嵌入到PDF中的字体文件的副本。)


这是可能有助于实现您想要的目标的另一个构建块。您可能需要解压缩PDF的所有压缩部分/流,因此可以使用简单的文本编辑器更轻松地编辑文件。(警告:编辑PDF并非一项简单明了的任务-您的编辑工作将需要相当丰富的知识和有关PDF文件格式内部知识的技巧。)

此技巧还使用了Ghostscript的Subversion toolbin子目录中的实用程序。

  1. 下载文件http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. 您可能需要阅读下载文件中的注释。
  3. 在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')的流,此方法将通过此命令保持不变。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.