我对imagick for PHP遇到问题。
我的环境:
显示phpinfo()
告诉我一切都很好-可以识别imagemagick并以受支持的格式列出pdf。
在PHP中,我进行以下操作:
//$pdfAbsolutePath is /path/to/MF-NEU-22306.pdf[0]
$im = new \Imagick($pdfAbsolutePath);
这时出现以下错误:
Postscript delegate failed `/path/to/MF-NEU-22306.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/677
[app/controller/web/fax.php:1028] Imagick->readimage('/path/to/MF-NEU-22306.pdf[0]')
文件存在于指定路径。
我在做什么错?从命令行手动调用convert
可以完美运行,与从命令行运行gs
一样。在phpinfo()
的输出中,为imagick编译提供的版本与ImageMagick库提供的版本相同。我还尝试完全卸载ImageMagick和ghostscript并重新安装-从apt-get和从源代码编译,但是没有任何效果。
如何解决此问题?任何帮助表示赞赏。
编辑:
在delegates.xml
的{{1}}中是pdf委托的这两行:
/etc/ImageMagick/
编辑2:
我现在尝试了一种“变通方法”,即在方括号中指定页码,在遍历页面时使用<delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
<delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
。到目前为止,它仍然有效,但是现在我有另一个例外:
$im->setIteratorIndex($i)
我现在在做什么错?
答案 0 :(得分:0)
我的错是服务器上缺少tesseract安装...也许这会对某人有所帮助。