我在Windows平台工作。
可以在特定页面打开 PDF 文件:
AcroRd32.exe /A "page=3" "file.pdf"
是否有类似的解决方案来打印特定页面?比如:
AcroRd32.exe /P "page=3" "file.pdf"
类似:
AcroRd32.exe /P "page=3" "file.pdf"
不。没有打印特定页面的选项。
您可以使用
/p
选项和 VBS(或类似)脚本来操作“打印”对话框并选择要打印的所需页面:
AcroRd32.exe /p pathname
— 执行 Adobe Reader 并显示“打印”对话框。
请参阅下面的可能的命令行选项列表。
这些是不受支持的命令行,但对某些开发人员有用。
除了下面列出的内容之外,没有关于这些命令的文档。您可以从命令行使用 Acrobat 和 Adobe Reader 显示和打印 PDF 文件。
注意:以下所有示例均使用 Adobe Reader,但也适用于 Acrobat。
如果您使用 Acrobat,请在命令行上替换 Acrobat.exe 代替 AcroRd32.exe。
— 执行 Adobe Reader 并显示文件,必须提供其完整路径。AcroRd32.exe pathname
命令行的其他选项有:
/n
启动 Acrobat 或 Adobe Reader 的单独实例,即使其中一个实例 目前已开放。
/s
打开 Acrobat 或 Adobe Reader,禁止出现启动屏幕。
/o
打开 Acrobat 或 Adobe Reader,隐藏打开文件对话框。
/h
在最小化窗口中打开 Acrobat 或 Adobe Reader。
— 执行 Adobe Reader 并显示 打印对话框。AcroRd32.exe /p pathname
— 启动 Adobe Reader 并打印文件,其AcroRd32.exe /t path "printername" "drivername" "portname"
必须完整 指定,同时抑制“打印”对话框。path
选项的四个参数评估为/t
、path
、printername
和drivername
(所有字符串)。portname
— 您的打印机的名称。printername
— 您的打印机驱动程序名称,显示在打印机属性中。drivername
— 打印机端口。portname
不能包含任何portname
字符;如果是,输出将路由到该端口的默认端口 打印机。/
这是我的做法:
pdf_print_sendkeys.vbs:
Dim ObjArgs
Set ObjArgs = wscript.arguments
cmd = objargs(0) & " /P " & objargs(1)
Set objShell = WScript.CreateObject ("WScript.shell")
objshell.exec(cmd)
WScript.Sleep 5000
objShell.AppActivate "Print"
objShell.SendKeys "%g", TRUE ' Alt + g [Pages]
objShell.SendKeys "{TAB}", TRUE ' Input Pages
objShell.SendKeys objargs(2), TRUE ' Start and End Page
objShell.SendKeys "{ENTER}", TRUE ' Print!
Set objShell = Nothing
测试:
wscript "C:\tmp\pdf_print_sendkeys.vbs" "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" "C:\tmp\test.pdf" "2-3"
请参阅此处,了解我的完整文章和进一步利用等。
ImageMagick可以将PDF文档的特定页面提取为图像,因此如果您想打印第3页,您可以使用以下命令(请记住它从第0页开始计数):
magick file.pdf[2] page.bmp
mspaint /pt page.bmp
或者,如果您对俏皮话有“爱好”:
magick file.pdf[2] page.bmp && mspaint /pt page.bmp
如果分辨率太低/块状,请使用:
magick -density 144 file.pdf[2] page.bmp
如果您不喜欢 MS-Paint,或出于某种原因更喜欢
PNG
文件:
magick file.pdf[2] page.png
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "page.png" "Fictional HP Printer"
要在 Windows 中使用命令行打印 PDF 文件的特定页面,您可以使用 VeryPDF PDFPrint 命令行 pdfprint.exe 实用程序以及 -firstpage 和 -lastpage 选项。这是您可以使用的命令:
pdfprint.exe -firstpage 3 -lastpage 3“文件.pdf”
此命令将仅打印名为“file.pdf”的 PDF 文件的第三页。确保将“file.pdf”替换为 PDF 文件的实际路径。