从VBscript或命令行打印PDF而不使用acrobat.exe

时间:2013-10-23 12:53:57

标签: windows pdf printing vbscript silent

是否可以在没有AcroRd32.exe的情况下将pdf文档打印到vbscript内的默认打印机或命令行?

理想情况下,如果将pdf发送到打印机并且不需要其他程序就好了。

  • 或 -

是否有第三方.exe程序可以在没有对话的情况下打印pdf而无需打开且不在Windows任务栏中显示?

.exe需要独立(因此不需要Windows安装过程)。

我可以为.exe支付高达100美元,只要它可以在另一个应用程序内部分发。免费也很棒。

这让我很难过。

2 个答案:

答案 0 :(得分:5)

我认为您不能单独使用VBScript打印PDF。但是,SumatraPDF应该可以做你想要的。它是一个独立的可执行文件,您可以使用-print-to-default选项将PDF打印到默认打印机:

filename = "C:\path\to\some.pdf"

Set sh = CreateObject("WScript.Shell")
sh.Run "sumatrapdf.exe -print-to-default """ & filename & """", 0, True

有关详细信息,请参阅manual

答案 1 :(得分:1)

这个怎么样:

Option Explicit

Const FILE_TO_PRINT = "C:\full\path\to\your\file.pdf"
Dim shl
Dim fldr
Dim files,file

Set shl = CreateObject("Shell.Application")
Set fldr = shl.Namespace("C:\full\path\to\your\")
Set files = fldr.Items


For Each file in files
  If LCase(file.Path) = LCase(FILE_TO_PRINT) Then
    file.InvokeVerbEx("Print")
  End If

Next

Set shl = Nothing
Set fldr = Nothing
Set files = Nothing
WScript.Quit

Shell.Application对象需要文件所在的文件夹,常量FILE_TO_PRINT需要文件的完整路径。

InvokeVerbEx("Print")打开相关程序中的文件,如Foxit Reader或Acrobat,并将其发送到默认打印机。

与右键单击资源管理器中的文件并单击“打印”

具有相同的效果