首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用命令行打印特定的PDF页面

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

Stack Overflow用户
提问于 2016-08-01 12:04:42
回答 3查看 11.6K关注 0票数 6

我在Windows平台工作。

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

代码语言:javascript
复制
AcroRd32.exe /A "page=3" "file.pdf"

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

代码语言:javascript
复制
AcroRd32.exe /P "page=3" "file.pdf"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-01 17:43:03

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

类似于:

代码语言:javascript
复制
AcroRd32.exe /P "page=3" "file.pdf"

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

您可以做的是使用/p选项与VBS (或类似的)脚本一起操作打印对话框,并选择要打印的所需页面:

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

有关可能的命令行选项的列表,请参见下面。

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

这些都是不受支持的命令行,但对一些开发人员是有效的。 除了下面列出的内容之外,没有关于这些命令的文档。您可以使用Acrobat和Adobe从命令行显示和打印PDF文件。 注意:下面的所有示例都使用Adobe,但也适用于Acrobat。 如果您正在使用Acrobat,请在命令行中替换Acrobat.exe而不是AcroRd32.exe。 AcroRd32.exe pathname -执行Adobe并显示文件,必须提供其完整路径。 命令行的其他选项包括:

  • /n 启动Acrobat或Adobe的单独实例,即使该实例当前处于打开状态。
  • /s 打开Acrobat或Adobe,关闭启动屏幕。
  • /o 打开Acrobat或Adobe,关闭打开的文件对话框。
  • /h 在最小化窗口中打开Acrobat或Adobe。

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

AcroRd32.exe /t path "printername" "drivername" "portname" -启动Adobe并打印一个文件,其path必须完全指定,同时取消“打印”对话框。

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

  • printername -打印机的名称。
  • drivername -打印机驱动程序的名称,因为它出现在打印机的属性中。
  • portname -打印机的端口.portname不能包含任何/字符;如果包含,输出将被路由到该打印机的默认端口。

Acrobat开发人员常见问题

票数 4
EN

Stack Overflow用户

发布于 2020-08-06 08:20:03

我就是这样做的:

pdf_print_sendkeys.vbs:

代码语言:javascript
复制
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

测试:

代码语言:javascript
复制
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

票数 2
EN

Stack Overflow用户

发布于 2020-08-06 09:32:14

ImageMagick可以将PDF文档的特定页面提取为图像,因此,如果要打印第3页,可以使用以下命令(请记住,它从页0中计数):

代码语言:javascript
复制
magick file.pdf[2] page.bmp
mspaint /pt page.bmp

或者,如果你对一条线有“嗜好”:

代码语言:javascript
复制
magick file.pdf[2] page.bmp && mspaint /pt page.bmp

如果分辨率太低/块状,请使用:

代码语言:javascript
复制
magick -density 144 file.pdf[2] page.bmp

如果您不喜欢MS-don,或者出于某种原因更喜欢PNG文件:

代码语言:javascript
复制
magick file.pdf[2] page.png
rundll32 C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo "page.png" "Fictional HP Printer"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38698411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档