致命错误:未捕获的ImagickException:PDFDelegateFailed

时间:2019-05-02 21:01:30

标签: php ghostscript imagick apache2.4

我想在Windows 2008 Server的PHP7上的Apache2.4的WebPage上显示PDF文件(例如图像文件),但是出现下一个错误:

致命错误:未捕获的ImagickException:PDFDelegateFailed

我已经有Installet ImageMagick-7.0.8-Q16和Ghostscript 9.27(32位),我替换了Ghostcript 9.27-64位,因为Apache服务器立即关闭并重新启动。在这里,我在这里找到了这个便条:PHP: Uncaught ImagickException: PDFDelegateFailed

在“命令行”窗口中:

如果我运行magick file.pdf file.jpg,那就可以了。

如果我运行magick -verbose file.pdf file.jpg,则可以正常运行,并且看到它正在使用gswin32c.exe。

我在装有Win10 Pro的计算机上具有相同的WebPage,具有相同的Imagick版本,相同的ghostscript版本,相同的Apache版本,相同的PHP版本,并且运行正常。

$pdfInfo = new Spatie\PdfToImage\Pdf($file);
while ($page < $pdfInfo->getNumberOfPages()) {
  $imagick = new Imagick();
  $imagick->setResolution(100, 100);
  $imagick->readImage(sprintf('%s[%s]', $file, $page));
  echo sprintf('<img src="data:image/%s;base64,%s" ><br>', $type, base64_encode($imagick));
  $page++;

1 个答案:

答案 0 :(得分:0)

问题是Ghostscript版本。我必须将Ghostscript页面中的gs可执行文件替换为最新版本,并且工作正常。