此图像格式没有解码委托 '' @ error/constitute.c/ReadImage/575

no decode delegate for this image format `' @ error/constitute.c/ReadImage/575

提问人:Nikunja 提问时间:8/14/2023 最后编辑:toyota SupraNikunja 更新时间:8/14/2023 访问量:39

问:

PHP ImageMagick 为损坏的 pdf 文件提供错误。PDF开通 使用阅读器,但 ImageMagick 说“此图像没有解码委托 格式 '' @ error/constitute.c/ReadImage/575”。使用转换命令 说“**** 警告:文件在 %PDF- 之前有一些垃圾。 也转换。

我该如何解决这个问题? 请帮帮我。

.....

try {
$document = new \Imagick($path);
} catch(\Exception $e) {
$this->logger->critical(sprintf('[ImageService] Cant load file %s into imagick. ', $path) . $e->getMessage());
return;
}

......

命令 imagemagick ghostscript imagick

评论

0赞 fmw42 8/14/2023
确保您拥有最新版本的 Ghostscript,并且您的 policy.xml 文件允许 PDF/PS/EPS。也要确保PDF没有损坏。
0赞 KenS 8/14/2023
Convert 正在调用 Ghostscript 来渲染 PDF 文件,而 Ghostscript 的警告是“%PDF 之前有垃圾”。因此,我猜 IM 根本无法确定文件类型是什么,因为它在它正在查看的文件的任何块中都看不到 %PDF。我怀疑您唯一的解决方案是删除垃圾,这可能会不可挽回地损坏文件,具体取决于是否构建了期望它存在的交叉引用表。基本上你的文件坏了,你需要修复它。

答: 暂无答案