以编程方式从命令行打印多个副本

我的应用程序生成35到55个PDF文件,其中我必须自动打印4份。

所有这些文件都在一个文件夹中。

我的要求是使用batch file打印每个文件的四个副本。

我安装了Adobe Acrobat Reader。

我该怎么做呢?

Adobe Reader只能直接打印单个副本。 但是,没有什么能阻止你循环和打印4次。 然而,这可能需要更长的时间,因为文档必须被发送到打印机四次。

从Acrobat SDK开发者FAQ :

AcroRd32.exe /t path "printername" "drivername" "portname" – 启动Adobe Reader并打印文件,同时禁止“打印”对话框。 路径必须完全指定。

/t选项的四个参数计算为pathprinternamedrivernameportname (所有字符串)。

printername – 打印机的名称。
驱动程序名称 – 您的打印机驱动程序的名称,因为它出现在打印机的属性中。
portname – 打印机的端口。 portname不能包含任何“/”字符; 如果是这样,输出路由到该打印机的默认端口。

所以你可以使用这样的东西:

 for %%F in (*.pdf) do ( for /L %%i in (1,1,4) do ( AcroRd32.exe /t "%%~fF" "printername" "drivername" "portname" ) ) 

只需为缺少的参数插入适当的值即可。

您可以使用pdfprint.exe(第三方实用程序)来达到目的。 我们正在使用相同的打印在指定的位置生成的一堆pdf文件。 您可以编写批处理文件,接受像打印机名称,副本号,pdf文件,完整路径,日志文件名称读取状态,方向L – 横向或纵向调用批处理文件,并从一些像.net应用程序调用批处理文件。

我们有批处理文件如下:

 @echo off :. %1 - Printer Name :. %2 - Number of Copies :. %3 - PDF File path to print :. %4 - Name of Log file :. %5 - Orientation of pdf printing file 1 = Portratit and 2 = Landscape :. Add -restoreprinter -checkjobstatus which will maintain the default printer settings. set PdfPrintPath=some valid path (C:\Folder) where pdfprint.exe is placed %PdfPrintPath%\pdfprint.exe -restoreprinter -printer %1 -copies %2 -orient %5 %3 set ErrLevel=%errorlevel% 

请让我知道任何问题。 祝你今天愉快。