我正在使用imagick 3.0.1和phmagick(http://www.francodacosta.com/phMagick/download).无论如何,当我尝试将PDF转换为JPEG时,两者都给我同样的错误.
例如:
Postscript委托失败了`/ tmp / magick-bfxIrUJ5’:没有这样的文件或目录@ error / pdf.c / ReadPDFImage / 669
我正在使用Ghostcript-9.05(在/usr/local / bin / gs上运行).
还有ImageMagick-6.7.6-8(在/usr/local / bin / convert上运行).
我已经检查了文件夹的权限(755). ImageMagick在Terminal工作得很好.
例如,我的PHP使用Imagick:
//use imagick $im = new imagick( '/pdf/553571072.pdf' ); // convert to jpg $im->setImageColorspace(255); $im->setCompression(Imagick::COMPRESSION_JPEG); $im->setImageFormat('jpeg'); //write image on server $im->writeImage('/jpg/553571072.jpg');
顺便说一下,Imagick它出现在我的PHPinfo()中.我正在使用linux / apache / amd64.
任何建议将受到高度赞赏!
好吧,这要归功于Nuno Franco da Costa(
http://www.francodacosta.com/)的帮助.
问题是我的GhostScript路径对于Shell来说是好的,但它对系统和PHP来说是错误的.要更正您应将/usr/local / bin / gs文件链接到/usr/bin/gs.
从Shell执行以下操作:
[root@din ~]# convert -list configure | grep -i delegates DELEGATES bzlib fontconfig freetype jpeg jng png tiff x11 xml zlib
检查/usr/bin中是否已存在gs文件.如果是,我们将创建它的备份.
如果没有/usr/bin/gs,您可以跳过此步骤
[root@din ~]# ls -l /usr/bin/gs -rwxr-xr-x 1 root root 6024 Sep 30 2010 /usr/bin/gs [root@din ~]# mv /usr/bin/gs /usr/bin/gs.orig
现在创建从/usr/local / bin / gs到/usr/bin/gs的链接
[root@din ~]# sudo ln -s /usr/local/bin/gs /usr/bin
那应该可以解决问题.非常感谢你们.