2

我正在尝试使用 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 抛出错误:

Traceback(最近一次调用最后一次):文件“converter.py”,第 30 行,在 pres.ExportAsFixedFormat(PDF_FILE_NAME2, 2, 0, 0, 1, 1, False, 1, False, False, False,False) 文件“ D:\applics\Python\lib\site-packages\win32com\gen_py\91493440-5A91-11CF-8 700-00AA0060263Bx0x2x11_Presentation.py”,第 112 行,在 ExportAsFixedFormat,KeepIRMSettings,DocStructureTags,BitmapMissingFonts,UseISO19005_1,Exte :\applics\Python\lib\site-packages\win32com\client__init__.py",第 4 59 行,在ApplyTypes self. oleobj .InvokeTypes(dispid, 0, wFlags, retType, argTypes, *args), TypeError: Python 实例无法转换为 COM 对象

我知道我可以使用 SaveAs 作为解决方法,但它的功能远不如 ExportAsFixedFormat。所以问题是:我该如何解决上面的错误?

我确实在 StackOverflow 上遇到了类似的问题,但那里发布的解决方案没有帮助。

我在 Win7 x64 下使用 Python 3.3.2 和 Office 2013。

谢谢!

4

1 回答 1

2

这是 PowerPoint API 中的错误。

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

详情见:https ://sourceforge.net/p/pywin32/bugs/339/

于 2013-08-28T16:50:10.527 回答