1

首先,我将 ImageMagick 与 Imagick PHP5 扩展结合使用了一段时间,完全没有问题,直到我不小心删除了 GhostScript。从那以后,我试图让它重新工作,但无济于事。

重新安装所有内容后,ImageMagick 能够将 PDF 转换为 JPEG。gs但是,当我运行时,我在 DELEGATE 列表中找不到convert -list configure。当我运行convert sample.pdf[1] sample.jpg它时,它仍然可以完美运行。但是,当我通过它重新安装 php5-imagick 扩展sudo apt-get install php5-imagick时,当我尝试将 PDF 转换为图像时会引发错误。

Fatal error: Uncaught exception 'ImagickException' with message 'no decode delegate for this image format上传/guide.pdf'@错误/构成.c/ReadImage/533。`

它是由以下代码引发的:

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

我看不出问题出在哪里,因为 ImageMagick 本身工作正常,我想是 Imagick 不能很好地与 ImageMagick 交互。

4

1 回答 1

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。现在一切都恢复正常了。希望这会帮助遇到同样问题的人。

于 2012-10-17T14:09:33.480 回答