我在使用Imagick阅读文件时遇到问题。我成功安装了imagick和ghostscript扩展。
这就是我正在做的事情:
<?php
$im = new Imagick();
$im->setResolution(300, 300);
$im->readImage('/Applications/MAMP/htdocs/mywebsite/wp-content/plugins/myplugin/uploads/magazine_cover.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
?>
我收到了错误:
致命错误:带有消息的未捕获异常'ImagickException' on /Applications/MAMP/htdocs/imagick.php上的“无法读取文件” 第10行
当我尝试在终端中执行以下命令时:
convert magazine_cover.pdf magazine_cover.jpeg
我收到了警告:
**** Warning: considering '0000000000 XXXXX n' as a free entry.
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Mac OS X 10.11.3 Quartz PDFContext <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
但他创造了jpeg ......为什么这不能在浏览器中运行?
答案 0 :(得分:0)
警告是由Ghostscript生成的,它说你的PDF文件在技术上并不合法,但它应该处理得很好,除非有更多的问题。
我建议你找出ImageMagick传递给Ghostscript的命令,并在命令行上尝试。如果它工作,那么问题最有可能在IM结束,否则问题是Ghostscript不喜欢你的PDF文件。命令行可能会为您提供更多信息。即使它没有该信息和文件,您也可以打开Ghostscript错误报告,并且可以修复(如果可能的话)。