如何在 python-pptx 上的 'slide_layouts' 上放置多个布局主题

How to put multiple layout themes on 'slide_layouts' on python-pptx

我一直在尝试在 python-pptx prs 上使用一些自定义布局,但是当我调用 prs.slide_layouts 方法时,它 return 只有一些布局,仅来自其中一个布局主题。我正在使用的演示文稿有将近 100 个布局,但是当我调用以下代码时,它会打印 12 个数字(按顺序,从 1 到 11)。

from pptx import Presentation
from pptx.util import Inches, Pt

for slide_layout in prs.slide_layouts:
    print(prs.slide_layouts.index(slide_layout))

输出:

0
1
2
3
4
5
6
7
8
9
10
11

如何访问 python-pptx 上的所有布局主题?谢谢。

每个幻灯片版式属于唯一一个幻灯片母版。

prs.slide_layoutsprs.slide_masters[0].slide_layouts 的便捷快捷方式;方便,因为大多数演示文稿只有一个幻灯片母版。

如果您有多个 个幻灯片母版,那么您需要明确说明要从哪个母版中提取。可能是这样的:

def iter_all_layouts(prs):
    """Generate each slide layout in the presentation, across all slide masters."""
    for master in prs.slide_masters:
        for layout in master.slide_layouts:
            yield layout

或者如果你知道你想要第二主控的第三布局:

prs.slide_masters[1].slide_layouts[2]