从VBscript或命令行打印PDF,无需杂技.exe



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

理想情况下,如果只是将pdf发送到打印机而不需要其他程序会很好。

  • 或-

是否有第三方.exe程序可以在没有对话框、没有打开的情况下打印 pdf 任务栏中?

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

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

这让我很困惑。

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

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

有关更多详细信息,请参阅手册。

这个怎么样:

Option Explicit
Const FILE_TO_PRINT = "C:fullpathtoyourfile.pdf"
Dim shl
Dim fldr
Dim files,file
Set shl = CreateObject("Shell.Application")
Set fldr = shl.Namespace("C:fullpathtoyour")
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")在关联的程序(如福昕阅读器或Acrobat)中打开文件,并将其发送到默认打印机。

它与在资源管理器中右键单击文件并单击"打印"具有相同的效果

最新更新