GraphicsMagick : 命令失败:标识:没有该图像格式的解码委托`' @ errorconstitute.cReadImage562

问题描述 投票:0回答:1

重贴:我一直在尝试将PDF转换为缩略图(PNG格式)。这在我的本地设置上完美地工作。但当我在asure服务器上安装GraphicsMagick、ImageMagick和ghostScript(操作系统:UBUNTU)时,它抛出了错误,如Command failed: identify: no decode delegate for this image format `' @ errorconstitute.cReadImage562。

我已经在本地安装了GraphicsMagick,ImageMagick和ghostScript来将pdf页面转换为缩略图,并且工作得很完美(不是在服务器上)。

正如在错误中提到的,我已经列出了本地机器和服务器上的解码委托,我有许多不同的地方,如bmp委托存在本地机器上,但服务器上没有(UBUNTU)。

我已经在网上搜索了很多关于这个问题,但没有找到任何解决方案。

谁能帮我解决这个问题?先谢谢你

imagemagick graphicsmagick
1个回答
1
投票

图形魔术师 需要Ghostscript来读取PDF。你的系统找不到Ghostscript,所以有两件事要做。

  • 找到Ghostscript
  • 告知 图形Magick 在那里

你应该能够找到完整的路径,到 Ghostscript 在你的终端机上运行以下内容。

type gs             # or maybe "which gs", or maybe "which gs-64"

如果还不行,就用你系统中的任何一个软件包管理器 来列出你安装的软件包中包含的文件名称,以获得 Ghostscript.

如果还不行,你可以试试。

find  /usr  /opt -name gs 2> /dev/null

接下来,你需要找到你的 图形Magick 代表的配置。这因系统而异。我认为这个文件总是被称为 delegates.mgk:

  • 您可以尝试让您的软件包管理器列出包含在以下文件中的文件 图形Magick
  • 你可以跑 gm convert -debug all SomeFile.pdf junk.png 并找到它寻找编码者和委托人的位置--它将会在大量输出的开头附近。

如果还不行,你可以试试。

find /usr /opt /etc -name delegates.mgk 2> /dev/null

最后,你需要编辑你刚刚找到的配置文件,这样它就会包含完整的路径到 Ghostscript.

希望能帮到你,对不起,有些地方有点模糊,但配置有很多不同的可能性。


0
投票

检查 /etc/ImageMagick-6/policy.xml 的服务器上。很多时候,由于可能的安全问题,Ghostscript delegate在默认情况下被禁用。

© www.soinside.com 2019 - 2024. All rights reserved.