Imagemagick FailedToExecuteCommand`“ gswin32c.exe”

时间:2019-02-11 09:37:55

标签: imagemagick imagemagick-convert

我正在测试服务器上测试文件转换,并且在下面收到此错误。我在本地测试了该案例,并且工作正常。在服务器上,这给我带来了麻烦。

  

FailedToExecuteCommand`“ gswin32c.exe” -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap = 500000000 -dAlignToPixels = 0 -dGridFitTT = 2“ -sDEVICE = pngalpha” -dTextAlphaBits = 4 -dGraphics-AlphaBits = 4 r72x72“ -g350x350 -dEPSCrop” -sOutputFile = C:/ Windows / TEMP / magick-1520z9_ZtBD3O2dg%d“” -fC:/ Windows / TEMP / magick-15203XcyD8hja0LJ“” -fC:/ Windows / TEMP / magick-1520fnhOiV0JVLNJ“ (最好的说明。)@ error / delegate.c / ExternalDelegateCommand / 475.convert:

任何帮助/提示都将不胜感激。

编辑2:

我还找到了一个link,在这里imagemagick管理员建议更改委托人.xml中的gs路径。该解决方案看起来很有希望,但是委托文件具有一个用于eps到ps转换的条目,如下所示:

<delegate decode="eps" encode="ps" mode="bi" command="&quot;@PSDelegate@&quot; -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=ps2write &quot;-sOutputFile=%o&quot; -- &quot;%i&quot;"/>

而且我似乎找不到imagemagick如何指代GS位置。我在路径变量中添加了gs和/或使用了修复此问题的位置修改了委托人。

编辑3:

如下所示,我从imagemagick convert命令中出现错误“未定义图像”。我是否需要为gs设置一些权限,因为我没有在Temp目录中找到临时文件夹。这些文件夹在我的本地计算机上似乎可以正常运行,但是在测试服务器上无法正常工作。

  

转换:后记委托失败[ghostscript library 9.22] -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -g350x350 -dEPSCrop "-sOutputFile=C:/Windows/TEMP/magick-110207SjtG6NIBllO%d" "-fC:/Windows/TEMP/magick-1102057mSI5SPZ919" "-fC:/Windows/TEMP/magick-11020HeIOX7qThedE" -c showpage: (null)' @ error/ps.c/ReadPSImage/884.convert: no images defined D:\ inetpub \ IndependenceAWS \ Conversion_DEV_DCHI \ 78 \ 20190208-121606-797-QSAX2N0OVB \ JPG \ icam_logo_ToJPG.JPG'@ error / convert.c / ConvertImageCommand / 3300

4 个答案:

答案 0 :(得分:1)

对于第一个问题,

  

FailedToExecuteCommand`“ gswin32c.exe”

在系统变量上配置ghostscript bin文件夹的路径和/或配置在文件夹路径C:\ Program Files \ ImageMagick-7.0.8-Q16中可以找到的委托人。

按如下所示修改委托:

  

委托解码=“ eps”编码=“ ps”模式=“ bi”命令=“” C:\ Program   Files \ gs \ gs9.26 \ bin \ gswin64.exe @“ -q -dQUIET -dSAFER -dBATCH   -dNOPAUSE -dNOPROMPT -dMaxBitmap = 500000000 -dAlignToPixels = 0 -dGridFitTT = 2 -sDEVICE = ps2write“ -sOutputFile =%o”-“%i”“

对于Imagemagick无法访问C驱动器的Temp文件夹的第二个问题。

添加或取消注释临时文件路径的策略,如下所示:

  

policy domain =“ resource” name =“ temporary-path”   value =“ D:/ inetpub / IndependenceAWS / Conversion-Temp” /

与下面相同的xml中的另一个编辑解决了问题,并允许imagemagick使用新文件夹进行临时转换

  

policy domain =“ module” rights =“ read | write” pattern =“ {PS,PDF,XPS}”

非常感谢所有评论我的问题并帮助我解决了这些问题的人。

答案 1 :(得分:0)

您需要安装ghostscript。

您可以here下载并安装它,然后错误就会消失。

例如,下载64bit version,然后双击并按照其安装说明进行操作。然后重新运行您的magick命令,FailedToExecuteCommand "gswin32c.exe"错误将消失。

注意:正如所提到的评论:GS 9.26 has some bugs -- try downgrading to 9.23, 9.24 or 9.25. 3,使用9.27既不会产生错误也不会输出,但是在更改为9.24之后,一切都很好。

答案 2 :(得分:0)

如果有人在使用ImageMagick的MSYS2构建时遇到此问题,则需要通过MSYS2安装GhostScript:运行以下任一程序:

  • 在MSYS2 MinGW 64位上:pacman -S mingw-w64-x86_64-ghostscript
  • 在MSYS2 MinGW 32位上:pacman -S mingw-w64-i686-ghostscript

答案 3 :(得分:-1)

我知道这是一个旧线程,但我想补充一下我的经验,因为它可能对某人有所帮助。

我遇到了和你一样的错误,但对我来说问题是内存不足。 这是在没有分配太多 RAM 的 VM 上运行的,升级到 4GB 并且一切正常。

相关问题