如何基于slide_id Python pptx编辑幻灯片

时间:2019-12-10 03:27:31

标签: python python-3.x python-pptx

问题 我一直在寻找解决方案,但找不到足够的文档来解决。我正在尝试编辑复制到目录中的幻灯片。 (我确保只清除留下一些徽标的所有数据)我所做的是我打印了幻灯片ID,并尝试按其ID访问幻灯片,并希望为首发。但是,我不断得到

File "masterScript_2.2.py", line 7385, in <module>
title.text = "Hello, World!"
AttributeError: 'NoneType' object has no attribute 'text' 

问题 有什么解决办法吗?谢谢,不胜感激。

代码

pptxDst = os.getcwd() + "/" + "test.pptx"
# Load the powerpoint in the respective month folder
prs = Presentation(pptxDst)


for slide in prs.slides:
    print(slide.slide_id)

# Get the slide by id to access it
slide_1 = prs.slides.get(256)
print(slide_1)
title = slide_1.shapes.title

title.text = "Hello, World!"
prs.save("test.pptx")

1 个答案:

答案 0 :(得分:1)

似乎您已经很好地访问了幻灯片,但是幻灯片没有标题占位符。

Shapes.title返回标题占位符(如果有的话),或者None(如果幻灯片没有标题)。如果您删除了除徽标以外的所有形状,将找不到标题占位符。

这将使违规行等同于:

None.text = "Hello, World!"

哪个会解释您的错误消息AttributeError: 'NoneType' object has no attribute 'text'