adobe打印参数设置

Adobe阅读器 我如何在Acrobat和Adobe阅读器中使用 Windows 命令行? ( 适用于 Adobe acrobat/reader 10,而非 XI ) 用于显示对话框的命令是:

start"Print PDF"/wait"%ProgramFiles(x86)%AdobeReader 11.0ReaderAcroRd32.exe"/p"%%p"

我认为,如果应该显示打印对话框,使用选项 /h 来有启动Adobe读取器是不用的。

要打印到特定打印机,要使用的命令行 就像

start"Print PDF"/wait/min"%ProgramFiles(x86)%AdobeReader 11.0ReaderAcroRd32.exe"/t"%%p""printername""drivername""portname"

/wait 暂停批处理作业的执行,直到Adobe读取器自行终止。 如果应用程序不重写并显示最大化的窗口,则选项 /min 会使用最小化窗口执行GUI应用程序。

SumatraPDF
i的SumatraPDF手册是 up-to-date,因为它在Sumatra的文档中链接了参数页面 page 。 Wiki页面最近更新,包含关于打印选项的不同信息。

-print-to-default
将这里 命令行 上指示的所有文件打印到系统默认打印机。 打印后,SumatraPDF立即退出( 检查错误代码是否失败) 。
因这里,可以使用 命令行 打印多个文件,使用SumatraPDF调用,使批处理文件更有效。

由于没有安装 SumatraPDF,我建议先尝试使用 3行的批处理文件

"%ProgramFiles(x86)%SumatraPDFSumatraPDF.exe" -print-to-default"Full Path and Name of a PDF file"
echo Exit code of SumatraPDF is: %ERRORLEVEL%
pause

下一批批处理文件输出。 是否显示错误,或者是否按预期打印PDF文件?
打印完成前,控制台窗口中的第二行?
如果这样,SumatraPDF将作为单独的进程启动,并且退出代码评估并不真正可能。 否则,你已经有了使用。
但是如果SumatraPDF作为单独的( GUI ) 进程启动,那么很有可能需要使用命令 start 和选项 /wait,如上面所示,也可能是。

注意:小批处理文件顶部没有 @echo off 可以测试以查看执行批处理文件的命令。

循环
查看 FOR 循环代码时,将空格字符指定为分隔符是错误的,这对于文件路径/名称不好。 另外,空间字符是默认的命令 FOR 分隔符,因这里不必将它显式定义为分隔符。

因此我建议使用


@for/F"delims=" %%p in ('dir"Y:*.pdf"/b/a-d/s' 2^>nul) do (
"%ProgramFiles(x86)%SumatraPDFSumatraPDF.exe" -print-to-default"%%p"
)

使用 “delims=”,分隔符列表只更改为换行符。 因这里 %%p 始终是一个文件的整个路径和 NAME,即使在命令 dir 中存在 1个或者多个空格。

如果没有将错误消息重定向到设备 NUL,2^>nul 将禁止在整个驱动器 Y: 上找到命令 dir的错误消息。