我的应用程序生成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
选项的四个参数计算为path
,printername
,drivername
和portname
(所有字符串)。
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%
请让我知道任何问题。 祝你今天愉快。