我在测试服务器上测试我的文件转换,我在下面得到了这个错误。我在我的本地测试了这个案例,它没有问题。在服务器上它给我带来了一些麻烦。
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=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=ps2write "-sOutputFile=%o" -- "%i""/>
我似乎无法找到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 defined
D:\ inetpub \ IndependenceAWS \ Conversion_DEV_DCHI \ 78 \ 20190208-121606-797-QSAX2N0OVB \ JPG \ icam_logo_ToJPG.JPG'@ error / convert.c / ConvertImageCommand / 3300
对于第一个问题,
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}”
非常感谢所有对我的问题发表评论并帮助我解决这些问题的人。
你需要安装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后,一切都很好。