Imagick无法将PDF转换为JPEG,但ImageMagick可以

时间:2012-10-17 13:26:00

标签: php imagemagick imagick

首先,我将ImageMagick与Imagick PHP5扩展程序结合使用了一段时间,没有任何问题,直到我不小心删除了GhostScript。从那时起,我试图让它再次恢复工作无济于事。

重新安装后,ImageMagick可以将PDF转换为JPEG。但是,当我运行gs时,我无法在DELEGATE列表中找到convert -list configure。我仍然运行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' @ error / construct.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 个答案:

答案 0 :(得分: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。现在一切都恢复了。希望这可以帮助有同样问题的人。