【发布时间】:2020-05-21 04:51:00
【问题描述】:
我正在尝试通过 python 打开 powerpoint,然后将幻灯片演示文稿保存为 pdf 讲义(三到一页)。经过一番谷歌搜索,我偶然发现了this。一个非常相似的问题。但是,我似乎无法让它运行。我想我可能错误地将VB“翻译”成Python。
查看 MSDN 文档here,我尝试填写两个必需的参数作为起点。虽然它似乎接受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 等。但都会引发一种或另一种类型的错误。大部分是这样的:ValueError: invalid literal for int() with base 10: 'PpFixedFormatType'
【问题讨论】:
-
我不知道python但是试试这个
presentation.ExportAsFixedFormat(os.getcwd() + '\\test.pdf', 2) -
@SiddharthRout -- 不走运 :( 我收到以下错误:
TypeError: The Python instance can not be converted to a COM object -
其余参数如何?
presentation.ExportAsFixedFormat(os.getcwd() + '\\test.pdf', 2, 0, 0, 1, 1, False, 1, False, False, False,False)这只是一个例子。根据您的要求进行更改。 -
@Siddharth Rout -- 仍然没有运气。抛出相同的 COM 对象错误。
-
您是否尝试过在 Google 中搜索
The Python instance cannot be converted to a COM object?
标签: python vba client powerpoint win32com