批量打印 PDF

批量打印 PDF

早上好(或白天或晚上),

我有一个网络驱动器,里面有数万个 PDF。每周,我都要打印 500-1000 个不同的 PDF,具体取决于我所做的工作。我事先知道需要哪些 PDF。我需要按特定顺序打印这些 PDF。(它们是工程蓝图)

我尝试使用命令行并打印出 PDF,以测试是否可以将它们添加到批处理文件中并按顺序打印它们,但每次我尝试这样做时,我尝试使用的应用程序(到目前为止不管是哪个)都会打开并打印。它需要打印并关闭或根本不打开,因为我的计算机资源/时间有限。

编辑

目前我已经尝试了以下操作,但没有得到预期的结果:

C:\Users>print /d:IP_172.31.86.2 "J:\30000's\31121-015-O.pdf"

J:\30000's\31121-015-O.pdf 正在打印

这实际上只是表明它正在被打印,我认为 PRINT 命令是罪魁祸首。我可以重新运行它并得到不同的响应:

C:\Users>print /d:IP_172.31.86.2 "J:\30000's\31121-015-O.pdf"

无法初始化设备 IP_172.31.86.2

这让我很困惑,因为我已经验证了打印机端口并且正在指定它。

我也尝试了以下方法,它确实有效,但它会使应用程序保持打开状态(不能这样):

C:\Users>"C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe" /p  "J:\30000's\31121-015-O.pdf"

我从 Adob​​e Reader DC 获得了类似的结果。

您认为我可以从中学到什么建议或示例命令行语法/开关?我没有 Linux/Unix 机器可以使用,只有 Windows 7。如果您对一次性打印大量 PDF 的替代方法有任何建议,请告诉我。也许在 bat 文件中的每个 /p 行后使用类似于 kill -9 foxitreader 的东西?似乎有点过分,但我愿意听取您的想法!

谢谢您的时间,祝您周日愉快!

答案1

Windows 中使用 Adob​​e 批量打印 PDF 的命令如下:

J:\>for %f in (*.pdf) do "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /t %f

假设IP_172.31.86.2是您的打印机设备的名称,您可以在 /t 开关后添加它。

欲了解更多信息,请访问StackOverflow 上的这个问题

答案2

这是一个老问题,实际上与很久以前的问题一样。

当您的打印机无法直接打印 PDF 时(有些高端型号可以,例如 Zebra PDF direct 或 Apple 激光打印机等),我的 HP 要求将矢量 PDF 转换为光栅 PDF,因为它是喷墨打印机。

因此,在批量打印 PDF 等图形格式时,在许多情况下您需要一个图形应用程序将页面的二进制压缩文本内容呈现为打印机特定的图形(通常使用图形处理子系统来提高速度)。

批处理时的代价是渲染的开始和结束时间,因此为了加快此类批处理速度,您需要在每次批处理之后让系统处于待机状态以渲染下一页/文件。正是出于这个原因,/t使用 Adob​​e 进行“批处理”打印时,打印模块会保留在内存中而不关闭。

因此,不要在批处理期间终止任务,而只/t在所有打印周期结束后终止 TSResident,比如在终止打印周期前放置一个 2 分钟的计时器。

for %%f in (*.pdf) do "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /t %%f
for %%f in (*.pdf) do "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /t %%f
for %%f in (*.pdf) do "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /t %%f

echo timeout 100 ^&^& taskkill /t /f /im acrord32.exe>KillerCount.bat
start "Do not close" Killercount

这可以让你在杀手倒计时运行时执行另一项任务

Waiting for  98 seconds, press a key to continue ...
.......
Waiting for  0 seconds
SUCCESS: The process with PID 12940 (child process of PID 11660) has been terminated.
SUCCESS: The process with PID 13112 (child process of PID 11660) has been terminated.
SUCCESS: The process with PID 14084 (child process of PID 11660) has been terminated.
SUCCESS: The process with PID 10696 (child process of PID 11660) has been terminated.
SUCCESS: The process with PID 13600 (child process of PID 11660) has been terminated.
SUCCESS: The process with PID 4652 (child process of PID 1372) has been terminated.
SUCCESS: The process with PID 11660 (child process of PID 1372) has been terminated.
SUCCESS: The process with PID 1372 (child process of PID 4828) has been terminated.

答案3

我搜索了一下,找到了这个命令,我想帮助你

for /f %%i in (*.pdf) do (
"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /p %%i
)

来源

我认为你需要稍微改变一下命令,让它连接到你的网络驱动器

(我现在不知道该怎么做)


或者您可以使用此工具2printer(用于打印的命令行工具)

相关内容