Python win32com和Powerpoint ExportAsFixedFormat

Python win32com和Powerpoint ExportAsFixedFormat,python,com,powerpoint,ole,win32com,Python,Com,Powerpoint,Ole,Win32com,我正在尝试使用python和win32com将.pptx文件转换为.pdf。我使用的代码如下所示: ppoint = win32.gencache.EnsureDispatch("Powerpoint.Application") ppoint.Visible = True pres = ppoint.Presentations.Open(PPT_FILE_NAME) pres.ExportAsFixedFormat(PDF_FILE_NAME, 2, 0, 0, 1, 1, False, 1,

我正在尝试使用python和win32com将.pptx文件转换为.pdf。我使用的代码如下所示:

ppoint = win32.gencache.EnsureDispatch("Powerpoint.Application")
ppoint.Visible = True
pres = ppoint.Presentations.Open(PPT_FILE_NAME)
pres.ExportAsFixedFormat(PDF_FILE_NAME, 2, 0, 0, 1, 1, False, 1, False, False, False,False)
问题是ExportAsFixedFormat引发错误:

回溯(最近一次呼叫最后一次): 文件“converter.py”,第30行,在 pres.ExportAsFixedFormat(PDF文件名2、2、0、0、1、1、False、1、False、Fal (错误,错误,错误) 文件“D:\applics\Python\lib\site packages\win32com\gen_py\91493440-5A91-11CF-8 700-00AA0060263Bx0x2x11_Presentation.py”,第112行,ExportAsFixed格式 ,KeepIRMSettings,docstructuretag,位图丢失字体,UseISO19005_1,Exte 勒克斯波特 文件“D:\applics\Python\lib\site packages\win32com\client\uuuuu init\uuuuuuuu.py”,第4行 59,在ApplyTypes中 self.oleobj.InvokeTypes(dispid、0、wFlags、retType、argTypes、*args), TypeError:无法将Python实例转换为COM对象

我知道我可以使用SaveAs作为解决方法,但它远不如ExportAsFixedFormat强大。所以问题是:如何解决上述错误

我确实在StackOverflow上遇到过,但是在那里发布的解决方案没有帮助

我使用的是Python 3.3.2和Office 2013,在Win7 x64下


谢谢大家!

这是PowerPoint API中的一个错误

解决方法:传递关键字参数PrintRange=None


有关详细信息,请参阅:

您使用的是Office 2013 32位还是64位?如果是64位,请在32位安装上尝试您的代码,看看它是否在那里工作。那将大大缩小范围。