使用命令行打印特定的 PDF 页面

问题描述 投票:0回答:4

我在Windows平台工作。

可以在特定页面打开 PDF 文件:

AcroRd32.exe /A "page=3" "file.pdf"

是否有类似的解决方案来打印特定页面?比如:

AcroRd32.exe /P "page=3" "file.pdf"
windows shell pdf command-line printing
4个回答
4
投票

是否有类似的解决方案来打印特定页面?

类似:

AcroRd32.exe /P "page=3" "file.pdf"

不。没有打印特定页面的选项。

您可以使用

/p
选项和 VBS(或类似)脚本来操作“打印”对话框并选择要打印的所需页面:

AcroRd32.exe /p pathname
— 执行 Adobe Reader 并显示“打印”对话框。

请参阅下面的可能的命令行选项列表。


如何在 Windows 上使用命令行与 Acrobat 和 Adobe Reader?

这些是不受支持的命令行,但对某些开发人员有用。

除了下面列出的内容之外,没有关于这些命令的文档。您可以从命令行使用 Acrobat 和 Adobe Reader 显示和打印 PDF 文件。

注意:以下所有示例均使用 Adobe Reader,但也适用于 Acrobat。

如果您使用 Acrobat,请在命令行上替换 Acrobat.exe 代替 AcroRd32.exe。

AcroRd32.exe pathname
— 执行 Adobe Reader 并显示文件,必须提供其完整路径。

命令行的其他选项有:

  • /n

    启动 Acrobat 或 Adobe Reader 的单独实例,即使其中一个实例 目前已开放。

  • /s

    打开 Acrobat 或 Adobe Reader,禁止出现启动屏幕。

  • /o

    打开 Acrobat 或 Adobe Reader,隐藏打开文件对话框。

  • /h

    在最小化窗口中打开 Acrobat 或 Adobe Reader。

AcroRd32.exe /p pathname
— 执行 Adobe Reader 并显示 打印对话框。

AcroRd32.exe /t path "printername" "drivername" "portname"
— 启动 Adobe Reader 并打印文件,其
path
必须完整 指定,同时抑制“打印”对话框。

/t
选项的四个参数评估为
path
printername
drivername
portname
(所有字符串)。

  • printername
    — 您的打印机的名称。

  • drivername
    — 您的打印机驱动程序名称,显示在打印机属性中。

  • portname
    — 打印机端口。
    portname
    不能包含任何
    /
    字符;如果是,输出将路由到该端口的默认端口 打印机。

来源 Acrobat 开发人员常见问题解答


2
投票

这是我的做法:

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"

请参阅此处,了解我的完整文章和进一步利用等。

https://www.freesoftwareservers.com/display/FREES/Print+PDF+Via+Batch+-+AcroRd32.exe+Switches+-+Print+Specific+Pages


0
投票

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"

0
投票

要在 Windows 中使用命令行打印 PDF 文件的特定页面,您可以使用 VeryPDF PDFPrint 命令行 pdfprint.exe 实用程序以及 -firstpage 和 -lastpage 选项。这是您可以使用的命令:

pdfprint.exe -firstpage 3 -lastpage 3“文件.pdf”

此命令将仅打印名为“file.pdf”的 PDF 文件的第三页。确保将“file.pdf”替换为 PDF 文件的实际路径。

© www.soinside.com 2019 - 2024. All rights reserved.