【发布时间】:2012-05-14 10:05:31
【问题描述】:
我正在使用 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 在终端上的效果非常好。
例如,我的 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。
我们将不胜感激任何建议!
【问题讨论】:
-
从终端正常运行是无关紧要的。你没有在 Apache 的 UID 下运行,所以它不是一个有效的测试。
-
您的代码示例是来自 Web 应用程序还是来自命令行?您是否真的从文件夹“/pdf”读取并写入文件夹“/jpg”,即它们都在文件系统的根目录中?
-
Halfer,代码来自 Web 应用程序,我也尝试使用完整路径 '/var/vhost/...../pdf/',与 jpg 相同。文件夹位于基础中,与 /css 和 /js 相同。马克,我不明白你的意思,我在 VPS 上运行一个 Web 应用程序。谢谢大家。
标签: php pdf imagemagick ghostscript imagick