重贴:我一直在尝试将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)。
我已经在网上搜索了很多关于这个问题,但没有找到任何解决方案。
谁能帮我解决这个问题?先谢谢你
图形魔术师 需要Ghostscript来读取PDF。你的系统找不到Ghostscript,所以有两件事要做。
你应该能够找到完整的路径,到 Ghostscript
在你的终端机上运行以下内容。
type gs # or maybe "which gs", or maybe "which gs-64"
如果还不行,就用你系统中的任何一个软件包管理器 来列出你安装的软件包中包含的文件名称,以获得 Ghostscript
.
如果还不行,你可以试试。
find /usr /opt -name gs 2> /dev/null
接下来,你需要找到你的 图形Magick 代表的配置。这因系统而异。我认为这个文件总是被称为 delegates.mgk
:
gm convert -debug all SomeFile.pdf junk.png
并找到它寻找编码者和委托人的位置--它将会在大量输出的开头附近。如果还不行,你可以试试。
find /usr /opt /etc -name delegates.mgk 2> /dev/null
最后,你需要编辑你刚刚找到的配置文件,这样它就会包含完整的路径到 Ghostscript
.
希望能帮到你,对不起,有些地方有点模糊,但配置有很多不同的可能性。
检查 /etc/ImageMagick-6/policy.xml
的服务器上。很多时候,由于可能的安全问题,Ghostscript delegate在默认情况下被禁用。