我正在使用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');
Run Code Online (Sandbox Code Playgroud)
顺便说一下,Imagick它出现在我的phpinfo()中.我正在使用linux/apache/amd64.
任何建议将受到高度赞赏!
我正在尝试创建这个问题中概述的pdf文件的jpg预览:如何在PHP中将PDF文档转换为预览图像?
这样做的相关代码是:
$im = new imagick('file.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
Run Code Online (Sandbox Code Playgroud)
我在pdf文件上的本地主机上运行此命令,但得到错误:
Fatal error: Uncaught exception 'ImagickException' with message 'Imagick::__construct(): HTTP request failed! HTTP/1.0 400 Bad Request '
这里触发错误:
$im = new imagick(build_url('uploads/files/'.$file_data['file_name'].'[0]'));
这与上面示例代码中的第一行相同,我提供了pdf文件的完整url路径,当我回显它提供正确的路径时
http://oursite.localhost:8888/uploads/files/file_name.pdf[0]
Run Code Online (Sandbox Code Playgroud)
有谁知道导致此错误的原因是什么?谢谢!