在Acrobat中从命令行打印PDF

时间:2019-03-27 16:57:43

标签: python pdf printing acrobat

我正在处理的项目将.pdf打印作业发送到负载平衡的打印机设置。

最初,我使用的是win32api.ShellExecute,但在保持pdf文件页面布局/小册子方向方面存在问题。通过测试,我发现使用以下命令通过外壳直接发送pdf时不存在此问题:

"C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe" /N /T "testfile.pdf" "\\testprinter\"

我正在考虑使用subprocess.run()执行命令,因为它在Python 3.7上。 subprocess.run()将执行我的命令以将打印作业发送到打印队列中,但是问题是由于Acrobat保持打开状态,除非我杀死Acrobat,否则子进程永远不会完成运行。我可以添加一个超时参数,但这似乎并不是一个很好的解决方案。

这是我的子流程的示例:

import subprocess

acrobat = r"C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
pdf_file = "test.pdf"
printer = r"\\testprinter\"

result = run([acrobat, "/N", "/T", pdf_file, printer], stdout=PIPE)
result.stdout.decode("utf-8")

0 个答案:

没有答案