我正在尝试将PDF文件转换为PNG.它在命令行中运行良好(我安装了GhostScript 8.64).但是从PHP我遇到了一个问题:
码:
$im = new Imagick($pdf_file); // this is where it throws the exception below
输出:
Fatal error: Uncaught exception ‘ImagickException’ with message ‘Postscript delegate failed `23_1235606503.pdf’: No such file or directory @ pdf.c/ReadPDFImage/612? in get_thumbnail.php:93 Stack trace: \#0 get_thumbnail.php(93): Imagick->__construct(’…’)
等等
我不确定我在这里做错了什么,但我怀疑它与某处的服务器配置有关.我正在运行:Apache 2.2.11 PHP 5.2.8 ImageMagick 6.4.8-9 GhostScript 8.64
终于搞清楚了.GhostScript可执行文件(gs
)不在Apache的环境路径中.它在/usr/local/bin
.虽然我尝试了几种方法来添加/usr/local/bin
路径,但我没有成功.我最终把一个符号链接gs
放在了/usr/bin directory
.现在一切都很完美.
我没有Stackoverflow上的"声望"来在上面添加评论内联,但我必须执行一个额外的步骤才能在我的Mac上使用最新的Sierra更新.
输入命令时:
sudo ln -s /usr/local/bin/gs /usr/bin/gs
在Mac上,您可能会收到错误"操作未被允许".
显然,Apple更改了"bin"目录不可编辑,除非您禁用SIP(系统完整性保护).
所以这是执行此操作的步骤:
通过重新启动计算机并按住"Command + R"重新启动Mac进入Recorvery Mode,直到屏幕上出现Apple徽标.
单击实用工具>终端
在终端窗口中,输入crutil disable
并按"Enter"
重启你的Mac.
我刚刚完成了这些步骤,现在我的Ghostscript工作得很好,我成功地将PDF转换为JPG.