是否可以使用python-pptx编辑现有演示文稿的页眉和页脚?我想要设置的值如附件图像所示。谢谢。

发布于 2021-08-10 12:47:05
我很久以前就问过这个问题,但是我想不起来在哪里也找不到了。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。
请注意,如果您要将占位符用于其他任务,则将页脚占位符添加到占位符列表可能会产生不可预见的后果。
https://stackoverflow.com/questions/39206303
复制相似问题