首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Imagick NoDecodeDelegateForThisImageFormat‘PDF’@ error/constitute.c/ReadImage/509在WAMP中读取PDF

Imagick NoDecodeDelegateForThisImageFormat‘PDF’@ error/constitute.c/ReadImage/509在WAMP中读取PDF
EN

Stack Overflow用户
提问于 2020-03-19 14:22:04
回答 1查看 2.2K关注 0票数 2

我已经使用这里定义的步骤在我的WAMP中安装了Imagick3.4.4:https://newsinfo-blog.blogspot.com/2015/03/install-imagick-on-wamp-server.html

然后使用以下代码将PDF转换为JPEG图像:

代码语言:javascript
复制
    $im = new Imagick();

    $im->setResolution(300,300);
    $im->readImage($_SERVER['DOCUMENT_ROOT'] . '/codeigniter/assets/lofthouse.pdf[0]');
    $im->setImageFormat('jpeg');
    $im->writeImage('thumblofthouse.jpg');
    $im->clear();
    $im->destroy();

但是,我收到以下错误消息:

类型: ImagickException发生了未知错误

消息: NoDecodeDelegateForThisImageFormat ` `PDF‘@ error/constitute.c/ReadImage/509

我做错什么了?如何将PDF的第一页保存为图像?

我注意到,当我尝试:

代码语言:javascript
复制
print_r(Imagick::queryFormats());

结果是一个空数组。

编辑:

以下是我迄今所采取的步骤:

folder.

  • Downloaded

  • 将php_imagick.dll文件复制到我的/ext/文件夹中,

  • 将所有CORE_RL_*文件复制到apache/bin/

  • 中,在path变量中将根路径添加到ImageMagick的安装目录(并将其放置在PHP行的上方)

EDIT2:我也完成了以下步骤,但我肯定不确定是否需要这些步骤

  • 创建了一个名为MAGICK_HOME的新系统变量,并让它指向imagemagick根目录。
  • 通过在policymap属性中添加<policy domain="module" pattern="{PS,PDF,XPS}" rights="read|write"/>来修改ImageMagick中的<policy domain="module" pattern="{PS,PDF,XPS}" rights="read|write"/>

以下是phpinfo()返回的内容:

代码语言:javascript
复制
imagick module  enabled
imagick module version  3.4.4
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version   ImageMagick 7.0.7-11 Q16 x86 2017-11-23 http://www.imagemagick.org
Imagick using ImageMagick library version   ImageMagick 7.0.7-11 Q16 x86 2017-11-23 http://www.imagemagick.org
ImageMagick copyright   Copyright (C) 1999-2015 ImageMagick Studio LLC
ImageMagick release date    2017-11-23
ImageMagick number of supported formats:    0

EDIT3:我可以使用ImageMagick通过命令行将PDF转换成JPG。在完成上述所有步骤之后,我现在得到了以下错误:

代码语言:javascript
复制
Type: ImagickException

Message: no decode delegate for this image format `PDF' @ error/constitute.c/ReadImage/509
EN

回答 1

Stack Overflow用户

发布于 2021-04-19 23:29:11

我也有同样的问题。解决了。

检查您的文件扩展名,确保有'.pdf'

注意:在我的情况下,ifpdf版本是1.4或更少,一个坏的或空的扩展不是一个问题,转换将工作,但对于新的pdf版本,我得到例外“没有委托.”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60759096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档