在基于 linux 的 ftp 服务器上,我需要在基于浏览器的界面中提供图像数据的预览以及打印质量的 PDF 文档。我使用的服务器软件(crushFTP)推荐使用 Imagemagick 来创建这样的预览,并为命令行提供了相应的预设。通过使用 convert 命令,它会创建不同大小的 jpg,并将它们保存在单独的文件夹 (/previews) 中,其中包含以原始文件命名的子文件夹。原始文件本身保持不变。对于各种图像数据,这工作得很好,至于 PDF 文件(在这个意义上也是 Adobe Illustrator 文件)我遇到了某些问题。通过 crushFTP 日志,Imagemagick 使用的 Ghostscript 委托无法找到 PDF 中使用的字体。在尝试了几件事后,我了解到在各自的 PDF 中,字体没有完全嵌入,而是子集。由于 PDF 文件是由第三方提供的,因此不能完全嵌入字体。然而,具有完全嵌入字体的 PDF 被转换并且预览看起来不错。在 Ghostscript 的字体映射中包含字体只能是一种临时解决方法(因为字体可用 - 合法 - 但一旦 PDF 文件提供程序使用新字体,Ghostscript 将无法再解码文件)。因此我的问题是:有没有一种方法可以通过 Imagemagick 和/或 Ghostscript 转换具有子集字体的 PDF 文件,而不必在 Ghostscript 的字体映射中包含这些字体?如果是这样,如何做到这一点?如果没有办法这样做,
问问题
855 次
1 回答
3
字体是子集的事实是无关紧要的。字体要么嵌入在 PDF 文件中,要么不嵌入。如果字体是嵌入的,那么它们是否是子集并不重要,Ghostscript 将使用这些字体来呈现 PDF。
如果字体不存在,则会发生许多不同的后备策略,具体取决于字体的性质(TrueType、type 1、CIDFont 等)和 GS 的设置方式。
您还没有说您遇到的实际问题是什么,只是“某些问题”并不是很有启发性。
你能提供一个示例 PDF 文件来查看吗?您使用的是哪个版本的 Ghostscript?您是否从 Ghostscript 收到任何错误或警告,如果有,它们是什么?你知道 ImageMagick 发送的 Ghostscript 命令行吗?
于 2012-08-29T07:11:38.077 回答