2012-10-17 57 views
1

首先,我將ImageMagick與Imagick PHP5擴展結合使用了一段時間,根本沒有任何問題,直到我意外刪除了GhostScript。從那以後,我試圖讓它恢復工作無濟於事。Imagick無法將PDF轉換爲JPEG,但ImageMagick可以

重新安裝所有東西后,ImageMagick能夠將PDF轉換爲JPEG。但是,當我運行convert -list configure時,我在DELEGATE列表中找不到gs。仍然當我運行convert sample.pdf[1] sample.jpg它完美的作品。但是,當我通過sudo apt-get install php5-imagick重新安裝php5-imagick擴展時,它會在嘗試將PDF轉換爲圖像時引發錯誤。

Fatal error: Uncaught exception 'ImagickException' with message 'no decode delegate for this image format上傳/指南.pdf」 @錯誤/ constitute.c/ReadImage/533.`

它是由下面的代碼拋出:

<?php 
//header("Content-type: image/jpeg"); 
$img = new imagick("upload/guide.pdf[1]"); 
$img->setImageFormat("jpg"); 
echo $img; 
?> 

我看不出哪裏有問題是,因爲ImageMagick本身工作正常,我猜想它是Imagick,不會很好地與ImageMagick交互。

回答

1

我通過Ubuntu存儲庫不安裝Imagick解決了這個問題。當我運行sudo apt-get autoremove php5-imagick並試圖通過pecl安裝它時,它拋出一個錯誤,並說Imagick已經安裝(這很奇怪,因爲我卸載了它並重新啓動了apache)。

所以我卸載它通過sudo pecl uninstall imagick,然後使用重新安裝sudo pecl install imagick,然後加入extension=imagick.so爲php.ini,並再次重新啓動Apache的。現在一切都恢復正常。希望這會幫助有同樣問題的人。

相關問題