我使用imagick 3.0.1也phmagick(http://www.francodacosta.com/phMagick/download)。 不管如何,两者都让我有相同类型的错误,当我尝试将PDF转换为JPEG。
例如: 后记委托失败'的/ tmp / magick-bfxIrUJ5' :没有这样的文件或目录@错误/ pdf.c / ReadPDFImage / 669
我使用Ghostcript-9.05(放在/ usr / local / bin目录/ GS运行)。 此外ImageMagick的-6.7.6-8(放在/ usr / local / bin目录/转换运行)。
我已经选中文件夹的权限(755)。 ImageMagick的作品的精彩来自终端。
例如,使用我的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。
任何意见,将不胜感激!
OK,这最后的作品,感谢努诺·佛朗哥·达科斯塔的帮助( http://www.francodacosta.com/ )。
问题是,我的GhostScript的路径是为壳牌OK,但它是错误的,系统的和PHP。 要更正您需要将您/usr/local/bin/gs
文件,以/usr/bin/gs
。
从做程序中运行以下:
[root@din ~]# convert -list configure | grep -i delegates
DELEGATES bzlib fontconfig freetype jpeg jng png tiff x11 xml zlib
检查,看是否有gs
文件中已经存在/usr/bin
。 如果确实如此,我们将创建一个备份。
如果没有/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
这应该解决的问题。 非常感谢球员。
我的捐款给在接受答案的意见,一点点修正提出了“纯PHP解决方案”:一是必须在扩展默认的路径前添加变量名 ,所以
putenv( getenv('PATH') . ':/usr/local/bin' );
将无法正常工作,但
putenv( 'PATH=' . getenv('PATH') . ':/usr/local/bin' );
将
我正在使用ImageMagick这些问题ImageMagick 6.7.7-10
使用Ghostscript 9.10
。
原来,PDF文件被损坏,虽然一些较新版本的GS可以阅读,此旧版本不能,提示以下错误。
**** Warning: An error occurred while reading an XREF table.
**** The file has been damaged. This may have been caused
**** by a problem while converting or transfering the file.
**** Ghostscript will attempt to recover the data.
在Linux下,你可以通过PDFTK先通过PDF的:
pdftk 'bad.pdf' output 'fixed.pdf'
在那之后,一切都为我工作在Ubuntu。
文章来源: Issue with Imagick and also with phmagick: Postscript delegate failed / No such file or directory