使用python将图像插入powerpoint幻灯片(win32com.client)

时间:2011-09-02 14:06:45

标签: python powerpoint

我的任务是将数百张图像插入并重新调整为powerpoint。 我需要使用与我们公司使用的其他电源点类似的特定源格式。

我一直在使用activepython的win32com API,我已经找到了如何打开文件并创建空白幻灯片。

我的问题是如何插入图像并将其调整为我需要的任何尺寸(图像将是每页上唯一的图像)。此外,我正在尝试将我公司的主题用于背景和标题页,但这并不像在页面上获取图像并重新调整大小那样重要。

任何帮助将不胜感激,谢谢!

4 个答案:

答案 0 :(得分:2)

您应该使用此处所述的Shapes.AddPicture http://www.gossamer-threads.com/lists/python/python/754236

答案 1 :(得分:2)

我从Xavier提到的页面得到了这个:

Pict1 = Slide1.Shapes.AddPicture(FileName=pictName, LinkToFile=False, SaveWithDocument=True, Left=100, Top=100, Width=200, Height=200)

如果您的原始图像是方形的,那将会有效;否则,它会扭曲它们。

最好为宽度和高度指定-1。然后PPT将以“自然”大小插入它们(无论PPT可能决定......对于目前的目的而言并不重要)。然后你可以读取形状的大小来确定它的宽高比,并确保在你改变大小时保持不变,或者你可以将形状的.LockAspectRatio属性设置为true并调整高度或宽度,另一个将自动调整以保持方面比。

答案 2 :(得分:1)

首先,我会在使用PIL python成像库插入之前先调整它们的大小。总的来说,任何办公室图像处理的混乱对我来说都是非常糟糕的,所以我不推荐它

其次,在PowerPoint帮助或在线中找到的vba中的对象模型示例通常只需要很长的路径

从记忆中插入很容易 -

ppt.slide.ImageFromFile( “路径”)

然而,我不记得确切的定位,我担心我没有ppt在这里尝试。如果我稍后获得achance,我将发布一些参考文献

祝你好运

答案 3 :(得分:0)

我同意接受的答案。我想指出的是,我需要在FileName字符串前面添加一个“ r”,以将反斜杠视为原义字符。通过将单反斜杠替换为双反斜杠来转义反斜杠也是可行的。 @vestland这可能会有帮助