【问题标题】:How to use Ghostscript command to validate all pdfs in a folder如何使用 Ghostscript 命令验证文件夹中的所有 pdf
【发布时间】:2016-11-18 20:57:54
【问题描述】:
我希望在包含 30,000 个 pdf 的 Windows 7 文件夹中验证 pdf。我发现某些 pdf 无法正确呈现并给出“图像数据不足”错误。
如何修改以下 Ghostscript 命令以输入文件夹中的所有 pdf,而不是单个 pdf 或 pdf 列表?
gswin32c.exe -o nul -sDEVICE=nullpage -r36x36 "D:/Pdf/04701.pdf"
【问题讨论】:
标签:
pdf
pdf-generation
ghostscript
【解决方案1】:
首先,Ghostscript 不会“验证”PDF,您的命令行所做的只是确定 Ghostscript 的 默认 行为在解释文件时是否将任何消息发送到 stdout 或 stderr。
这有几个问题,Ghostscript 甚至不会为所有内容标记警告,默认行为不是抛出错误,而是发出警告并继续。由于您没有查看输出(它会变成一个小桶),因此您完全有可能会错过大量输出只是空白的事实。所以你很可能会错过一个错误的文件。
“图像数据不足”只是一个可能的错误,那里有很多写得不好的 PDF 文件。
如果你想处理文件夹中的每个文件,你不能单独使用 Ghostscript,因为它需要指定每个输入文件。但是,您可以很容易地编写命令 shell 脚本。由于您显然是在 Windows 上,因此只需使用 for 循环并让“do”子句像上面一样调用 Ghostscript。
类似:
For %s in (c:\files\*.*) do gswin32c... %s
只需输入
帮助
在命令 shell 中获取有关“for”的信息。