2012-08-29 39 views
0

在基於Linux的ftp服務器上,我需要在基於瀏覽器的界面中提供圖像數據預覽以及打印質量PDF文檔。我使用的服務器軟件(crushFTP)建議使用Imagemagick創建此類預覽併爲命令行提供相應的預設。通過使用convert命令,它將創建不同大小的jpgs,並將它們保存在一個單獨的文件夾(/預覽)中,其子文件夾以原始文件命名。原始文件本身保持不變。對於各種圖像數據,這工作得很好,至於PDF文件(在這種意義上也是Adobe Illustrator文件),我遇到了一些問題。通過crushFTP日誌,Imagemagick使用的Ghostscript委託無法找到PDF中使用的字體。 在嘗試了幾件事情之後,我明白在各自的PDF中,字體沒有完全嵌入,但是是子集。由於PDF文件是由第三方提供的,因此完全嵌入字體不是一種選擇。不過,具有完全嵌入字體的PDF轉換並且預覽看起來很好。包含Ghostscript字體映射中的字體只能是臨時解決方法(因爲字體可用 - 合法 - 但一旦PDF文件提供程序使用新字體Ghostscript將無法解碼文件)。 因此,我的問題是:有沒有一種方法可以通過Imagemagick和/或Ghostscript將子集字體轉換爲PDF文件,而無需在Ghostscript的字體映射中包含字體?如果是這樣,這怎麼辦?如果沒有辦法這樣做,你能推薦一種替代方式來創建這樣的預覽嗎?通過Imagemagick&Ghostscript轉換PDF子集字體

回答

2

字體是子集的事實是無關緊要的。字體可以嵌入PDF文件中,也可以不嵌入。如果嵌入字體,那麼它們是否是子集無關緊要,Ghostscript將使用這些字體來呈現PDF。

如果字體不存在,那麼會發生許多不同的回退策略,具體取決於字體的性質(TrueType,類型1,CIDFont等)以及GS設置的方式。

你還沒有說你遇到的實際問題是什麼,只是'某些問題',這不是很明顯。

你能提供一個PDF文件的例子嗎?你正在使用哪個版本的Ghostscript?你是否從Ghostscript得到任何錯誤或警告,如果是的話,它們是什麼?你知道ImageMagick發送的Ghostscript命令行嗎?