Управление PowerPoint с Win32com Python. Как получить доступ к опции «Сохранить как» программно

1

Я пытаюсь открыть powerpoint через python, а затем сохранить презентацию слайдов в виде pdf-листов (три на страницу). После небольшого количества поисковых запросов я наткнулся на это. Очень похожий вопрос. однако я не могу заставить его работать. Я думаю, что я могу неправильно переводить VB в Python.

Оглядываясь на документы MSDN здесь, я попытался заполнить два обязательных аргумента в качестве отправной точки. Хотя кажется, что он принимает path, он выдает ошибку с помощью FixedFormatType.

Мой код выглядит следующим образом.

import win32com.client, sys, os

app = win32com.client.Dispatch("PowerPoint.Application")
app.Visible = True

names = []
for i in os.listdir(os.getcwd()):
    if i[-1] == 't':
        tmp = os.getcwd() + '\\' + i
        names.append(tmp)
        tmp = ''



presentation = app.Presentations.Open(names[0])
presentation.ExportAsFixedFormat(os.getcwd() + '\\test.pdf', 'PpFixedFormatType')

Я пробовал много вариантов аргумента ppFixdFormatType. ppFixedFormatTypePDF, win32com.ppFixedFormatTypePDF, win32com.client.constants.ppFixedFormatTypePDF и т.д., но все они win32com.client.constants.ppFixedFormatTypePDF ошибку того или иного типа. Большинство из них аналогичны: ValueError: invalid literal for int() with base 10: 'PpFixedFormatType'

  • 0
    Я не знаю Python, но попробуйте эту presentation.ExportAsFixedFormat(os.getcwd() + '\\test.pdf', 2)
  • 0
    @SiddharthRout - Не повезло :( Я получил следующую ошибку: TypeError: The Python instance can not be converted to a COM object
Показать ещё 6 комментариев
Теги:
client
win32com
powerpoint

1 ответ

1

Возможно, вы столкнулись с этой ошибкой в PowerPoint API: введите несоответствие при использовании функции экспорта PowerPoint 2007. Решение состоит в том, чтобы указать параметр PrintRange для вызова ExportAsFixedFormat().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню