【问题标题】:Imagemagick FailedToExecuteCommand `"gswin32c.exe"Imagemagick FailedToExecuteCommand `"gswin32c.exe"
【发布时间】:2019-07-04 18:28:28
【问题描述】:

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

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é est introuvable。)@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

【问题讨论】:

  • 您可以找到您的 64 位 ghostscript 可执行文件的名称和路径,并将其编辑到 ImageMagickdelegates.xml 文件中。
  • @MarkSetchell,谢谢,那行得通。我有一个新问题。我将用新问题编辑我的帖子
  • 我很困惑,我应该问一个关于edit3的新问题
  • 你运行的命令是什么?
  • @Bonzo:对于编辑 3 中的问题,转换 C:\\Conversion\\_DEV_DCHI\\78\\20190208-121606-797-QSAX2N0OVB\\icam_logo.eps -quality 100 -density 150 C :\\Conversion\\_DEV_DCHI\\78\\20190208-121606-797-QSAX2N0OVB\\JPG\\icam_logo_ToJPG.JPG

标签: imagemagick imagemagick-convert


【解决方案1】:

将 gs 更改为完整路径。 问题来了……

【讨论】:

  • Выполнение действия CSharp OwnCode。 FailedToExecuteCommand `"gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r300x300" " -sOutputFile=C:/Users/jaka1/AppData/Local/Temp/magick-1036ZB1XMRWW69ck%d" "-fC:/Users/jaka1/AppData/Local/Temp/magick-1036BTEZSnFkS7OO" "-fC:/Users/jaka1/ AppData/Local/Temp/magick-10364Moh1w6TXqtX"' (������������������������ ����.)@error/delegate.c/ExternalDelegateCommand/第475章
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

      你需要安装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 后一切正常。

      【讨论】:

      • 我已经解决了这个问题,我的所有转换都使用了 9.26 版本。谢谢
      【解决方案5】:

      对于第一个问题,

      FailedToExecuteCommand `"gswin32c.exe"

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

      修改委托如下:

      委托 decode="eps" encode="ps" mode="bi" command=""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盘Temp文件夹有问题的第二个问题。

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-12-04
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 1970-01-01
        • 2011-02-05
        • 2015-06-24
        • 1970-01-01
        • 2012-12-23
        相关资源
        最近更新 更多