我正在使用这些行将pdf转换为jpg:
$img = new imagick($url.'[0]');
$im->setImageColorspace(255);
$im->setCompressionQuality(95);
$im->setImageFormat('jpeg');
我使用软ImageMagick 6.7.7-10 2012-06-27 Q16(x86)安装了imagick 3.1.0RC2。我也有一个x86 PHP 5.4.22非线程,我在Windows服务器2012上使用IIS 8.php_imagick.dll是5.14 nts所以它应该工作。 ghostscript版本是gs9.10,我安装了32位和64位。它与msdos命令行完美配合,但与PHP无关。
然后在创建对象时出现此错误。
ImagickException:Postscript委托失败 `D:\ inetpub \ website \ sites \ default \ files \ image_2.pdf':没有这样的文件或 目录@ error / pdf.c / ReadPDFImage / 677 in Imagick-> __ construct()
是环境变量问题吗? 我有一个imagick文件夹和ghostscript的bin文件夹作为windows环境变量。
有什么想法吗?
干杯
答案 0 :(得分:2)
我终于找到了答案! 问题是windows的临时文件夹(c:\ windows \ temp)(php.ini中的upload_tmp_dir)必须为用户IUSR或IIS_IUSRS读取和写入(取决于您的IIS版本) 谢谢你们的帮助
答案 1 :(得分:1)
这似乎表明imagick无法找到ghostscript可执行文件。
确保GS可执行文件位于相关路径中:
<?php
phpinfo(INFO_ENVIRONMENT);
?>
...搜索PATH页面。
如果不存在,请将其添加到需要的任何脚本中:
<?php
putenv(getenv('PATH').':path/to/ghostscript/executable')
?>