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

使用python(win32com.client)将图像插入powerpoint幻灯片,python,powerpoint,Python,Powerpoint,我的任务是在powerpoint中插入数百张图像并重新调整其大小。 我需要使用一个特定的源格式,类似于我们公司使用的其他电源点 我一直在使用activepython的win32comapi,我已经知道了如何打开一个文件并创建一个空白幻灯片 我的问题是如何插入图像并将其大小调整到所需的大小(图像将是每页上唯一的内容)。此外,我试图使用我的公司的背景和标题页的主题,但这不是重要的网页上的图像,并重新调整大小 任何帮助都将不胜感激,谢谢 首先,我会在插入之前使用PILpython图像库调整它们的大小。

我的任务是在powerpoint中插入数百张图像并重新调整其大小。 我需要使用一个特定的源格式,类似于我们公司使用的其他电源点

我一直在使用activepython的win32comapi,我已经知道了如何打开一个文件并创建一个空白幻灯片

我的问题是如何插入图像并将其大小调整到所需的大小(图像将是每页上唯一的内容)。此外,我试图使用我的公司的背景和标题页的主题,但这不是重要的网页上的图像,并重新调整大小


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

首先,我会在插入之前使用
PIL
python图像库调整它们的大小。总的来说,在办公室里搞任何图像处理对我来说都是可怕的,所以我不推荐这样做

其次,
VBA
中的对象模型示例可以在PowerPoint帮助或联机中找到,这些示例通常都是您需要的

根据记忆,插入非常简单-

ppt.slide.ImageFromFile("path")
然而,确切的位置我不记得了,我恐怕我没有ppt在这里尝试。如果我以后得到许可,我会发布一些推荐信


祝文档好运

您应该使用Shapes.AddPicture,如前所述(断开链接的存档版本):


请注意,“选择文件”选项生成的文件路径是“/”而不是“”,您可能需要将前者替换为后者。

我从Xavier提到的页面中得到了这一点:

Pict1 = Slide1.Shapes.AddPicture(FileName=pictName, LinkToFile=False, SaveWithDocument=True, Left=100, Top=100, Width=200, Height=200)
如果您的原始图像是方形的,那么这将起作用;否则,它将扭曲它们


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

我同意接受的答案。我想指出我需要在文件名字符串前面加一个“r”以将反斜杠视为文字字符。通过将单个反斜杠替换为双反斜杠来转义反斜杠也很有效。@Vesland这可能很有帮助

谢谢大家!非常有帮助,只需在不到一分钟的时间内处理了500多个图像。无论我如何尝试指定文件名(使用完整目录,或仅在指定工作目录后使用名称),我收到一条错误消息,说找不到文件。知道这是什么原因吗?目录是正确的,png图像在那里。我在windows上使用Python 3。
Pict1 = Slide1.Shapes.AddPicture(FileName=pictName, LinkToFile=False, SaveWithDocument=True, Left=100, Top=100, Width=200, Height=200)