Печать PDF из командной строки в Acrobat - PullRequest
0 голосов
/ 27 марта 2019

Проект, над которым я работаю, отправляет задания печати .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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...