Закрытие Adobe Acrobat PRO DC после печати PDF

Я пытаюсь создать скрипт, который печатает каждый существующий PDF с определенным драйвером принтера. Я работаю в 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 DC, который необходимо закрыть после печати testfile1.pdf, чтобы знать, что принтер по умолчанию изменился. Есть ли способ закрыть Adobe Acrobat PRO DC после печати testfile1.pdf?

Всего 1 ответ


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