SAP GUI Scripting - создание PDF с экрана печати в pywin32 - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь написать сценарий процесса SAP, который просматривает пользовательский отчет.Отчет можно «распечатать», а затем сохранить в формате PDF.Однако, как только вы укажете «LOCL» в качестве устройства вывода и установите флажок, он перейдет к экрану печати, который не включен в вывод сценариев GUI.

Кто-нибудь знает, как написать скрипт на vba или python для продолжения?Я приложил скриншот диалогового окна печати, которое всплывает, что я не могу понять, как работать в VBA или Python.Затем появляется второе диалоговое окно с запросом пути к файлу и имени файла.

Это должно быть возможно с pywin32, но я не могу понять это.enter image description here

enter image description here

1 Ответ

0 голосов
/ 27 сентября 2018

С pywinauto должно быть намного проще: pip install pywinauto.Код должен выглядеть так:

from pywinauto import Application

# handle Print dialog
app = Application(backend="win32").connect(title="Print") # timeout (in sec.) is optional
app.PrintDialog.OK.click() # or .click_input() for real click
app.PrintDialog.wait_not("visible") # to make sure it is closed

# handle Save dialog
app = Application(backend="win32").connect(title="Save Print Output As") # maybe not needed if it is the same process
app["Save Print Output As"].FileNameEdit.set_text(file_path) # or .type_keys(file_path, with_spaces=True)
app["Save Print Output As"].SaveButton.click() # or .click_input()
app["Save Print Output As"].wait_not("visible")
...