我想在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++;
答案 0 :(得分:0)
问题是Ghostscript版本。我必须将Ghostscript页面中的gs可执行文件替换为最新版本,并且工作正常。