Imagemagick FailedToExecuteCommand`“gswin32c.exe”

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

我在测试服务器上测试我的文件转换,我在下面得到了这个错误。我在我的本地测试了这个案例,它没有问题。在服务器上它给我带来了一些麻烦。

FailedToExecuteCommand`“gswin32c.exe”-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-1520z9_ZtBD3O2dg%d”“ - fC:/ Windows / TEMP / magick-15203XcyD8hja0LJ”“ - fC:/ Windows / TEMP / magick-1520fnhOiV0JVLNJ”'(Le fichier spécifiéestintrouvable。)@ error / delegate.c / ExternalDelegateCommand / 475.convert:

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

编辑2:

我还找到了一个link,其中imagemagick管理员建议更改delegates.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和/或修改了delegates.xml以及修复它的位置。

编辑3:

我有一个错误“没有图像定义”来自imagemagick转换命令,如下所示。我是否需要为gs设置一些权限,因为我在Temp目录中找不到临时文件夹。这些似乎在我的本地神奇地工作,但是在测试服务器上运行时犹豫不决。

转换:Postscript委托失败[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 definedD:\ inetpub \ IndependenceAWS \ Conversion_DEV_DCHI \ 78 \ 20190208-121606-797-QSAX2N0OVB \ JPG \ icam_logo_ToJPG.JPG'@ error / convert.c / ConvertImageCommand / 3300

imagemagick imagemagick-convert
2个回答
3
投票

对于第一个问题,

FailedToExecuteCommand`“gswin32c.exe”

在系统变量上配置ghostscript bin文件夹的路径和/或配置delegates.xml,该文件可以在文件夹路径C:\ Program Files \ ImageMagick-7.0.8-Q16中找到

修改委托如下:

delegate decode =“eps”encode =“ps”mode =“bi”command =“”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}”

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


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后,一切都很好。

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