簡體   English   中英

Imagick / Ghostscript替代品,可將pdf轉換為jpg

[英]Imagick/Ghostscript alternative for converting pdf to jpg

我正在嘗試使用imagick / ghostscript(v9.10,顯然是為ubuntu 14.04構建的最新版本)將pdf文件轉換為jpg格式。 不幸的是,imagick不斷刪除éö等特殊字符。 我認為缺少字體是造成這種現象的原因。 我收到了數十家不同公司的PDF文件,他們經常更改其使用的字體。 因此,我無法導入任何使用的字體。 我想將pdf轉換為jpg(或png)並調整其大小,僅此而已。 是否有另一種不需要幽靈腳本的解決方案? 編輯:源代碼

foreach(glob("$files_temp*.pdf") as $globpdf){
            $imagick = new Imagick(); 
            $imagick->readImage($globpdf);
            $imgname=basename($globpdf,".pdf");
            $imagick->setImageCompressionQuality(25);
            $imagick->setImageFormat('jpg');

            $imagick->writeImage($files_img.$imgname.'.jpg');
            $imgsql=$imgname.'.jpg';
            }

在沒有看到導致您出現問題的示例文件的情況下,真的不可能對此進行全面評論。 請注意,您實際上根本不需要IM進行此轉換,Ghostscript完全可以自己呈現為JPEG。

Binarus是完全正確的,如果您的PDF文件未包含所需的所有字體,則無論使用哪種工具,您都將在渲染它們時遇到問題。 這些可能在不同的應用程序中或多或少地被誇大了,但是每當您替換字體時,結果都是不正確的。 因此,您應該付出一些努力來教育您的用戶,讓他們創建帶有嵌入字體的PDF文件,這樣您就不會有太多問題了。

說了這么多,您使用的是Ghostscript的較舊版本。 9.10已有4年歷史了,那時候完全有可能對缺少的字體替換進行了改進(實際上,我知道有)。 我了解堅持使用LTS版本的願望,但是認真地講,您需要考慮升級。

當然,還有其他PDF渲染工具,我可能會建議Poppler或MuPDF或Evince。 但是所有這些大概都將在您的舊Linux上也都是舊版本,並且在任何情況下都可能會遇到與任何其他PDF使用者相同的問題,如果字體不可用,則會出現輸出問題。

如果您提供一個示例,那么我將研究實際的問題所在,並將9.10結果與當前代碼進行比較,但是如果沒有這樣做,那么什么也沒做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM