Закрытие Adobe Acrobat PRO D C после печати PDF - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь создать скрипт, который печатает каждый существующий PDF-файл с указанным c драйвером принтера. Я работаю на Windows 10. Я подумал, что лучший способ - это изменить драйвер по умолчанию для каждого файла, например:

import win32print
import win32api

# print testfile1.pdf with copy 1 of the driver
# which has default "print on both sides"

win32print.SetDefaultPrinter('iR 5880C EUR(1)')
win32api.ShellExecute(0,'print','testfile1.pdf','.',None,0)


# print testfile2.pdf with copy 2 of the driver
# which has default "print on 1 side"

win32print.SetDefaultPrinter('iR 5880C EUR(2)')
win32api.ShellExecute(0,'print','testfile2.pdf','.',None,0)

Но когда печатается testfile1.pdf, печатается testfile2.pdf с тот же водитель. Причина в том, что файлы печатаются с использованием Adobe Acrobat PRO D C, который необходимо закрыть после печати testfile1.pdf, чтобы знать, что принтер по умолчанию был заменен. Есть ли способ закрыть Adobe Acrobat PRO D C после печати testfile1.pdf?

1 Ответ

0 голосов
/ 11 февраля 2020

Моя оценка будет заключаться в завершении процесса, связанного с Adobe Acrobat Pro, после каждого задания. Это может быть обработано через win32process.TerminateProcess. win32process.CreateProcess возвращает параметр PyHANDLE, необходимый для TerminateProcess. Надеюсь, что это поможет.

...