PHP:未捕获的 ImagickException:PDFDelegateFailed

PHP: Uncaught ImagickException: PDFDelegateFailed

我想从 PHP 中的 pdf 页面生成图像。我正在使用 imagick php 扩展来实现此目的,但是当我尝试通过 imagick

读取 pdf 文件时出现以下错误
Fatal error: Uncaught ImagickException: PDFDelegateFailed `The system cannot find the file specified. ' @ error/pdf.c/ReadPDFImage/801

我的密码是

$imagick = new Imagick();
$imagick->readImage(dirname(__FILE__). '/test.pdf'); 

我的服务器详细信息来自 phpinfo()

PHP: Version 7.0.13
System: Windows NT LALMANI-PC 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586, Architecture: x86
imagick module version: 3.4.3
Imagick using ImageMagick library version: ImageMagick 6.9.3-7 Q16 x86

我还在系统中安装了 ImageMagick-6.9.9-27 和 Ghostscript 9.22。

请告诉我这里有什么问题。提前致谢。

ImageMagick 找不到 Ghostscript。最常见的原因是 Ghostscript 路径不在 $PATH 环境变量中,所以 IM 不知道在哪里可以找到它。

将 Ghostscript 安装路径(这将取决于您的 OS 和您使用的包,如果它是 Linux 风格并且您使用包)添加到 $PATH 环境变量中当您的 PHP 脚本运行时处于活动状态的用户。

我在 64 位的 Ghostscript 9.22 安装中遇到问题,我卸载了它并安装了 32 位的 Ghostscript 9.22。问题已修复。

感谢您的帮助。

您不需要重新安装 GhostScript,并且,简单地将其添加到 $PATH 中不一定能解决您的问题:/

这是您需要做的:

  1. 在 Windows 上,Ghostscript 程序的名称类似于 gswin64.exe,因此您只需重命名文件使其看起来像 gs.exe

  2. 而且,是的,确保可以在 $PATH

    中找到该脚本