使用python-pptx编辑页眉和页脚

时间:2016-08-29 12:25:04

标签: python powerpoint python-pptx

我可以编辑标题&使用python-pptx的现有演示文稿的页脚?我想设置的值如附图所示。感谢。

Powerpoint Header and Footer

1 个答案:

答案 0 :(得分:0)

我很久以前问过这个问题,但我不记得在哪里并且在 SO 上找不到它。 Scanny 回答了这个问题,所以我在这里转发他的回答(可能很糟糕)。

默认情况下,Python-pptx 在列出幻灯片占位符时不包括页脚或页码占位符。通常的做法是在需要时建议插入文本框,但这在处理多个模板或布局时没有用。

您需要在某处添加的第一件事是补丁,以便包含占位符:

def footer_patch(self):
    for ph in self.placeholders:
        yield ph

SlideLayout.iter_cloneable_placeholders = footer_patch

然后,您应该能够通过简单的方法从占位符中获取页脚:

footer_copy = "Hi, it's me, the footer"
elif "FOOTER" in str(shape.placeholder_format.type):
    footer = slide.placeholders[shape.placeholder_format.idx]
    footer_text_frame = footer.text_frame
    insert_text(footer_copy, footer_text_frame)

以上是旧代码,可能是如何执行此操作的一个糟糕示例,但我希望它提供了一个起点。类似的方法应该适用于您在此处列出的其他值。某些值(如页码)可能需要额外的 XML 编辑,which you can read about in another post where Scanny was my savior

请注意,如果您将占位符用于其他任务,将页脚占位符添加到占位符列表中可能会产生不可预见的后果。