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