Imagemagick未能执行命令“%”;gswin32c.exe“;

Imagemagick未能执行命令“%”;gswin32c.exe“;,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我在测试服务器上测试我的文件转换,我在下面得到了这个错误。我在我的本地电脑上测试了这个案例,它毫无问题地工作了。在服务器上,它给我带来了一些麻烦 执行命令失败““gswin32c.exe”-q-dQUIET-dSAFER-dBATCH-dNOPAUSE-dNOPROMPT-dMaxBitmap=500000000-dAlignToPixels=0-dGridFitTT=2”-sDEVICE=pngalpha”-dTextAlphaBits=4-dGraphicsAlphaBits=4”-r72x

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

执行命令失败““gswin32c.exe”-q-dQUIET-dSAFER-dBATCH-dNOPAUSE-dNOPROMPT-dMaxBitmap=500000000-dAlignToPixels=0-dGridFitTT=2”-sDEVICE=pngalpha”-dTextAlphaBits=4-dGraphicsAlphaBits=4”-r72x72”-g350x350-dEPSCrop”-soutput文件=C:/Windows/TEMP/magick-1520ztbd3o2dg%d”-fC:/Windows/TEMP/magick-15203xcy8hja0lj”“-fC:/Windows/TEMP/magick-1520fnhOiV0JVLNJ””(Le fichier spécifiéest introvable.)@error/delegate.c/ExternalDelegateCommand/475.convert:

如有任何帮助/提示,将不胜感激

编辑2:

我还发现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添加到path变量中,并/或使用位置修改了delegates.xml以修复此问题

编辑3:

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

转换:Postscript委托失败
[ghostscript库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-110207sjtg6niblo%d“-fC:/Windows/TEMP/magick-1102057mSI5SPZ919”“-fC:/Windows/TEMP/magick-11020HeIOX7qThedE“-c showpage:(null)@error/ps.c/ReadPSImage/884.convert:未定义图像
D:\inetpub\IndependenceAWS\Conversion\u DEV\u DCHI\78\20190208-121606-797-qsax2novb\JPG\icam\u logo\u ToJPG.JPG'@error/convert.c/convert


第一个问题,

失败的执行命令““gswin32c.exe”

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

修改委托,如下所示:

<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;"/>
代表解码=“eps”编码=“ps”模式=“bi”命令=”“C:\Program 文件\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驱动器的临时文件夹时遇到问题

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

策略域=“资源”名称=“临时路径” value=“D:/inetpub/IndependenceAWS/Conversion Temp”/

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

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


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

您需要安装ghostscript

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

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


注意:正如一条评论所提到的:
GS 9.26有一些bug——尝试降级到9.23、9.24或9.25.3
,使用9.27既不会产生错误也不会产生输出,但在更改到9.24后,一切正常。

如果任何人在ImageMagick的MSYS2版本中遇到此问题,您需要通过MSYS2安装GhostScript:运行以下任一操作:

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

您可以找到64位ghostscript可执行文件的名称和路径,并将其编辑到ImageMagick的
delegates.xml
文件中。@MarkSetchell,谢谢,这很有效。我有一个新问题。我要用新问题编辑我的帖子。我很困惑,我应该为Edit3问一个新问题吗?您正在运行的命令是什么?@Bonzo:for编辑3,convert C:\\Conversion\\\\ U DEV\\ U DCHI\\78\\20190208-121606-797-QSAX2N0OVB\\icam\\ U logo.eps-质量100-密度150 C:\\Conversion\\ U DEV\\ U DCHI\\78\\20190208-121606-797-QSAX2N0OVB\\JPG\\icam\\ U logo\\ ToJPG.JPG已经解决了这个问题,我所有的转换都使用了9.26版本。谢谢