![批量文件打印](https://linux22.com/image/1256324/%E6%89%B9%E9%87%8F%E6%96%87%E4%BB%B6%E6%89%93%E5%8D%B0.png)
我有一个用户需要打印大约 220 份文档,平均每份 2-3 页。使用 Windows 标准方法“全选 - 右键单击 - 打印”进行打印时,打印服务器或打印机本身会不堪重负。我正在寻找一个实用程序,可以让我一次处理 5 份文档,并处理给定目录中的所有文档。我希望这可以减轻打印服务器的压力,也让用户不必照看打印作业。我找到了一个可以让您在特定时间安排打印作业的程序,但(也许这不是一个大问题)程序中的拼写太糟糕了。
答案1
你可以尝试DarkStorm 的批量打印处理程序免费! :-)
DarkStorm 的批量打印处理程序是一个 .Net 应用程序,可以批量打印文档。DarkStorm 的批量打印处理程序可自动化 Word/Excel 和 Adobe Reader 以帮助批量打印过程,还支持一些流行的图像格式。
不过我还没能测试它
或者:
您可以编写一个简单的脚本,从文本文件中获取名称并按一定间隔打印它们。您可以查询打印文件夹的内容以获取文档名称,将它们放入文本文件中,然后循环遍历文本文件并等待,直到所有文档都打印完毕。
伪代码看起来像这样。
Populate Text File Function ()
{
Set Folder Path
Get Document Names in folder
Write Document Names to Text File
}
Print Function
{
While Not End of File{
Get Document Name
Print Document Name
Move down 1 line
Wait a timed interval
}
}
我的编码已经不像以前那样了,所以我可能漏掉了一些部分,但我认为它还算合理。我建议使用 Guys Scripting Enzine 来查找代码示例。您应该能够剪切和粘贴所需的大部分代码。
答案2
这是命令行的工作。
和赛格威,以下脚本(您可以在 bash 命令行中输入)将每 5 秒打印当前目录下的每个 PDF 文件。
for x in *.pdf; do cygstart -p -- "$x"; sleep 5; done
如果你不想安装 Cygwin(它还有很多其他用处),请参阅Sathya 的回答对于 cmd 方式(不太直接)。选择的工具是 Powershell,它肯定具有所有必需的构建块(但我不会说 Powershell)。
答案3
如果您确实想使用命令行方式,请将其复制粘贴到批处理文件中,然后更改路径并添加完整路径AcroRd32.exe
cd\path\to\pdf\files
for %%f in ("*.pdf") do AcroRd32.exe /t %%f "\\servername\printername" & ping localhost -n 6 >NUL
这会将目录更改为包含 PDF 文件的目录,以静音模式启动 Acrobat Reader,打印它们,然后等待 5 秒钟。如果打印机是共享的,另一种方法是
cd\path\to\pdf\files
for %%f in ("*.pdf") do copy %%f "\\servername\printername" & ping localhost -n 6 >NUL
效果是一样的,但根据我过去的经验,没有取得好成绩使用这种方法 - 但这是因为 PDF 文件中没有嵌入字体。
答案4
我经常使用的一款出色的批量打印应用程序是 SilentPrint。您可以在以下网址了解更多信息http://www.silentprint.com。我希望您和我一样觉得它有用。