使用 WIN32API 打开 Powerpoint 演示文稿,另存为 PDF 并关闭应用程序

Opening a Powerpoint presentation, Saving as PDF and closing the application using WIN32APIs

我写了一个小脚本来打开 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()

我想出了一个解决方法,我没有使用 ppSaveAsPDF,而是使用它的常量值“32”,并将 PRESENTATION 和 APPLICATION 都设置为 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