Python-PPTX:如何访问幻灯片上的自动形状?

时间:2018-03-29 13:36:32

标签: python python-pptx

我有一个带有在Powerpoint中手动创建的矩形的slide_layout(插入>形状>矩形)。由于它是一个矩形,它必须是一个自动形状。

当我尝试列出由该slide_layout制作的幻灯片上的形状时,我找不到列出的矩形形状。我正在使用以下脚本列出形状:

prs = Presentation('./Template.pptx')
slide = prs.slides.add_slide(prs.slide_layouts[idx])

for shape in slide.shapes:
    print(str(shape.shape_id) + " : " + str(shape.shape_type))

我希望能够访问手动添加的自动形状,以便在不需要时删除它们。它们目前只是我的slide_layout上的UI元素。

1 个答案:

答案 0 :(得分:0)

布局上的非占位符项目(在视觉上)显示在从该布局创建的幻灯片上,但幻灯片上实际上不存在此类形状。您可以在PowerPoint中通过尝试选择布局创建的幻灯片上的矩形来查看此内容。无法选择或删除这样的“形状”。

有一个“显示背景图形”的选项(格式>幻灯片背景>隐藏背景图形),如果关闭,它将隐藏这些东西;但这是全有或全无。您无法选择可见的背景形状。

您可以考虑创建两个布局,一个包含矩形,另一个没有,在幻灯片创建时选择适当的布局。否则,您需要将每个幻灯片上的矩形放置为自己的形状。