我正在使用 shell_exec() 使用以下 PHP 代码(全部在一行上)通过 Adobe Reader 将存储在 LAN 上的 PDF 自动打印到 LAN 上的打印机:
shell_exec("'C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe'
/t \\hnurensp01\RepairTickets\179694.pdf \\hnurenfp01\Accounts_FS-1128MFP");
我希望这样做是打开 adobe reader,在网络上打开 PDF 并打印到网络打印机。使用此行运行 PHP 脚本时,它不会打开 adobe reader 或打印它。但是,当我复制该代码并在命令提示符(客户端)中执行时,它可以工作并打印。对命令行只有轻微的修改(都在一行上):
"C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe"
/t \\hnurensp01\RepairTickets\179694.pdf \\hnurenfp01\Accounts_FS-1128MFP
它与在服务器端执行的 PHP 脚本有关吗?我试过在服务器上运行相同的命令行,它也可以工作。似乎只是当它通过 PHP 时,它什么也没做。
我的最终结果必须是打印出一个服务器端 PDF,而最终用户的交互尽可能少。注意:这是一个 WAMP 环境。
有任何想法吗?
谢谢。
更新:
尝试将代码放入批处理文件并以这种方式调用它,但仍然无效。尝试使用exec()
,shell_exec()
但仍然没有乐趣。出于某种原因,当我通过双击运行批处理文件时,它工作正常。当我使用 PHP 调用它时,它除了打开两个未关闭的 acrord32.exe 实例之外什么都不做,因此 PHP 脚本似乎永远不会完成。我好糊涂...