我正在测试服务器上测试文件转换,并且在下面收到此错误。我在本地测试了该案例,并且工作正常。在服务器上,这给我带来了麻烦。
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=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=ps2write "-sOutputFile=%o" -- "%i""/>
而且我似乎找不到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 >
答案 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:运行以下任一程序:
pacman -S mingw-w64-x86_64-ghostscript
pacman -S mingw-w64-i686-ghostscript
答案 3 :(得分:-1)
我知道这是一个旧线程,但我想补充一下我的经验,因为它可能对某人有所帮助。
我遇到了和你一样的错误,但对我来说问题是内存不足。 这是在没有分配太多 RAM 的 VM 上运行的,升级到 4GB 并且一切正常。