【问题标题】:Using ghostscript in a Windows .bat file to convert multiple pdf files to png在 Windows .bat 文件中使用 ghostscript 将多个 pdf 文件转换为 png
【发布时间】:2017-11-15 21:29:37
【问题描述】:

我的目录中有许多 pdf 文件,我需要将它们从 pdf 转换为 png。目前,我正在使用 ImageMagick 命令: magick mogrify - 格式 png *.pdf

因为文件太多,我想直接使用ghostscript,因为有几个消息来源表明这样做可以减少75%的处理时间。

但是,我很难找到一个干净的 dos 命令示例来完成与上面的 ImageMagick 命令相同的事情。我相信我需要执行 gswin64c.exe 模块,但我不确定如何执行此操作来完成我需要完成的工作。有人可以为我提供一个完成我在 ImageMagick 中所做的工作的 ghostscript 的干净示例吗?

【问题讨论】:

    标签: file imagemagick ghostscript pdf-conversion


    【解决方案1】:

    经过大量挖掘,我发现 ghostscript 并没有真正的通配符来允许引用某种模式的所有文件(就像 ImageMagick 那样)。要将目录中的所有 pdf 文件转换为 png 文件,可以使用如下的 dos 脚本:

     for %%x in (*)  do gswin64c.exe -sDEVICE=png16m -dBATCH -dNOPAUSE -dQUIET -
           SOutputFile="%%~nx.png" %%~nx.pdf
    

    这也可以从命令行运行,只需使用单个百分号 (%) 而不是上面脚本中的双百分号。

    条款如下:

    gswin64c.exe:这是 GhostScript 的 dos 命令版本。它应该与 gswin64.exe 相对,后者将打开一个 GhostScript 窗口。

    -sDEVICE=png16m 这表示输出文件的格式。是这种情况吗.png

    -dBATCH -dNOPAUSE。 这些是 GhostScript 选项,使用时允许脚本连续运行(没有它们,程序将在每个文件转换后暂停)。

    -dQUIET - 这会抑制在每个处理文件后显示在标准输出上的通知。

    SOutputFile="%%~nx.png" %%~nx.pdf 这表示输入文件和输出文件的模式。 x 是循环变量。 % 符号用作通配符。 ~nx 是一种 Dos 约定,它截断回显文件名的扩展名。

    【讨论】:

    猜你喜欢
    • 2017-08-08
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 2013-12-27
    • 2017-06-02
    • 1970-01-01
    • 2010-11-01
    • 2011-09-08
    相关资源
    最近更新 更多