【问题标题】:Can not add a pic to an open ppt file using python无法使用python将图片添加到打开的ppt文件中
【发布时间】:2022-01-05 19:31:02
【问题描述】:

test.pptx 是一个已经打开的 pptx 文件,我想在它的第一页添加图片。以下代码可以正常运行,但是不能添加图片

from pptx import Presentation
from pptx.util import Inches
img_path = 'image_000.png'
f = open('test.pptx','rb')
prs = Presentation(f)
slide = prs.slides[0]
left = Inches(5)
height = Inches(5.5)
pic = slide.shapes.add_picture(img_path, left, top, height=height)

【问题讨论】:

  • 是的,但不使用pptx 模块。这实际上是读取和写入文件本身。要影响打开的文件,您需要使用 COM 来驱动 PowerPoint 应用程序的对象模型。它不会这么简单,所以你可能会考虑你有多需要它。
  • 谢谢蒂姆。你能给我一些资源,我可以学习如何使用 COM 来做这件事吗?
  • 最容易开始的地方是弄清楚如何在 VBA 中做你想做的事情,因为你可以直接在 PPT 中进行测试。然后使用 COM 将相同的命令传递给 PPT。我不使用 Python,所以无法准确告诉您如何通过 COM 访问 PPT 对象。也许其他人可以提供帮助。

标签: python powerpoint


【解决方案1】:

我用下面的来编辑正在运行的ppt文件

import win32com.client
PPTApp = win32com.client.gencache.EnsureDispatch("PowerPoint.Application")
PPTApp.Visible = True
Presentation = PPTApp.ActivePresentation
#
slidenr = Presentation.Slides.Count   
slidenr =  slidenr +1
Slide1 = Presentation.Slides.Add(slidenr,12)
# 
img_path ='myImg.png'

top = 1
left =  0

#print(top)

Pict1 = Slide1.Shapes.AddPicture(FileName=img_path,LinkToFile=False,SaveWithDocument=True, Left=left, Top=top, Width=-1, Height = -1)


Presentation.Slides(slidenr).Select()
del Presentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多