我读了一篇关于如何在 PDF 中查找字体数据流的 stackexchange 帖子。如果正确解压缩,此流显然会创建一个可用的 TTF 文件。但我不确定如何解压缩它。
从帖子中看来,我可以将数据复制到新文件中,然后运行脚本来解压缩它。但我不确定如何运行这个脚本。
是否有一个简单的可安装的 Windows 程序可以接受此流并对其进行解压缩?我真的可以以纯文本形式打开 PDF,将我认为是流字符的内容复制并粘贴到新文件中,然后保存它吗?
答案1
我找到了一种使用免费 Windows 程序来实现此目的的方法。不需要编写脚本、编译或使用 cygwin。虽然只有几个步骤,但并不像看起来那么糟糕。
安装 mupdf -http://mupdf.googlecode.com/files/mupdf-0.8.15-windows.zip 并将您的 pdf 复制到 mupdf 的安装文件夹。假设它被称为 whatever.pdf。
打开 dos/命令提示符。导航到 mupdf 安装文件夹。例如:cd C:\Program Files\mupdf ...如果一切顺利的话,你的提示现在应该是这样的:C:\Program Files\mupdf> 现在输入以下命令: pdfextract whatever.pdf
之后,在 mupdf 程序文件夹中,您将获得一个或多个字体文件。它们的名称将类似于 ABCDEF+Fontname-12.cff...目前它们处于不可用的 .cff 格式,但我们会修复它。我建议将其重命名为不太尴尬的名称...例如 whatever.cff
抱歉,还有更多 DOS。您需要一个名为 cfftot1.exe 的工具。以下是链接: ftp://tug.org/texlive/Contents/live/bin/win32/cfftot1.exe ...将其复制到你的 mupdf 文件夹。然后输入以下内容: cfftot1 无论什么.cff 无论什么.pfb
现在,您有了一个几乎可以使用的字体文件,名为 whatever.pfb。我说“几乎”是因为通常 PFB 字体文件还附带第二个文件,即包含间距信息的 PFM 文件。如果没有此文件,字体将无法安装,间距也会被搞乱。但字体仍会在字体编辑器(如 fontlab)中打开。您可以将字体从那里保存为 TTF 或 OTF。您也可以尝试自己修复间距。
如果您没有字体编辑器,您可以使用 crossfont。Crossfont 可以获取 PFB 并生成必要的 PFM 文件,这样您至少可以安装和使用该字体。链接 -http://crossfont.en.softonic.com/
就是这样。