Производительность экспорта видеопотока Powerpoint с использованием ResampleMediaTask

Я пытаюсь превратить файл .pptx в видеофайл .mp4, используя индикацию выполнения. Я использую Python 2.7.6 вместе с модулем win32com.client, чтобы автоматизировать несколько действий в Microsoft Powerpoint 2013.

Это мой код:

import win32com.client powerpoint = win32com.client.Dispatch("Powerpoint.Application") presentation = powerpoint.Presentations.Open(FileName='myFile.pptx', WithWindow=False) try: # May need a few other parameters as well presentation.CreateVideo('out.wmv') except: raise SystemExit 

Проблема в моем случае заключается в том, что я не вижу никаких указаний на прогресс экспорта в видео . Я знаю, что эта информация доступна, потому что сама PowerPoint показывает точный индикатор выполнения при экспорте в видео из приложения.

Единственной информацией, которую мне удалось получить до сих пор, является опрос атрибута CreateVideoStatus который только говорит мне, закончилось ли преобразование или нет.

 while presentation.CreateVideoStatus == 1: time.sleep(1) 

Однако, согласно этому сообщению Powerpoint 2013 – Progress для экспорта в видео , пользователь Стив Риндсберг предлагает нам использовать объект ResampleMediaTasks и его PercentComplete() для достижения прогресса.

Любые идеи о том, как я могу достичь этого в Python?

    Для использования ResampleMediaTasks вам необходимо создать свой COM-объект в Python и использовать его для получения процента от прогресса во время разговора. Полный пример: http://bit.ly/1iUbZKO

    Как видно из строки 8173, она преобразует файлы PPT и использует ResampleMediaTasks для достижения прогресса. Вы можете использовать весь пакет openlp из этого исходного проекта или использовать его части. Для загрузки всего проекта вам необходимо установить клиент BZR.