使用AcroRd32.exe和Powershell无法打印PDF

问题描述

我正在尝试使用powershell和AcroRd32.exe打印PDF,但现在遇到了我自己无法解决的问题。 如果我正在执行代码,并且Acrobat Reader打开,但是没有生成打印作业。我什至可以在最新使用的文件中看到我的pdf。

这是我的代码

$file = "C:\temp\file.pdf"
$adobe = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
$driver = "HP Universal Printing PCL 6"
$port = "10.200.1.63:3910"

$printer = "\\pserver\printer07"
$arglist = "/s /t $($file) $($printer) $($driver) $($port)"
start-process $adobe -argumentlist $arglist -wait

我尝试了以下操作:

  1. 检查我要打印的文件是否存在并且可以访问[是]
  2. 试图通过对话框进行打印:参数“ -p $($ filename)[WORKS]
  3. 检查计算机是否可以访问打印机[是]
  4. 再次检查打印机名称,驱动程序和端口... [是]

即使没有驱动程序和端口,我也无法通过此代码打印文件

有人有解决此问题的有用提示或建议吗?

解决方法

这可能是导致问题的原因,还是不是导致问题的原因,但是$driver中有空格,因此,您绝对需要在命令行中添加引号(为防万一,我对所有变量都加了引号):

$arglist = "/s /t `"$file`" `"$printer`" `"$driver`" `"$port`""