Открытие презентации Powerpoint, сохранение в формате PDF и закрытие приложения с помощью WIN32APIs

#python-3.x #pywin32

#python-3.x #pywin32

Вопрос:

Я написал небольшой скрипт для открытия файла powerpoint, сохранения его в формате PDF и закрытия powerpoint. Похоже, что команда ppSaveAsPDF не распознается.

В нем говорится NameError: name 'ppSaveAsPDF' is not defined

Может кто-нибудь, пожалуйста, сказать мне, почему я не могу сохранить файл в формате pdf и закрыть приложение?

Более того, когда я удаляю команду ppSaveAsPDF, она сохраняет PDF-файл, но он поврежден, и я не могу его открыть.

Я включил свой код ниже:

 import win32com.client, sys    

FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"   
APPLICATION = win32com.client.Dispatch("PowerPoint.Application")    

PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf",  ppSaveAsPDF)   

APPLICATION.Quit()
  

Ответ №1:

Я придумал обходной путь для этого, вместо использования ppSaveAsPDF я использую его постоянное значение, равное «32», и установка для ПРЕЗЕНТАЦИИ и ПРИЛОЖЕНИЯ значения NONE фактически закрывает powerpoint. Вот обновленный код.

 import win32com.client, sys

FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"

APPLICATION = win32com.client.Dispatch("PowerPoint.Application")

PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf", 32)

APPLICATION.Quit()

PRESENTATION =  None
APPLICATION = None