使用python-pptx在幻灯片上添加文本/幻灯片标题到占位符

时间:2016-11-28 20:57:20

标签: python-2.7 powerpoint python-pptx

我正在尝试为幻灯片添加标题。我正在查找文档here,并说“设置幻灯片标题 几乎所有幻灯片布局都有一个标题占位符,在应用布局时,任何基于布局的幻灯片都会继承。访问幻灯片的标题是一种常见操作,并且形状树上有一个专用属性:

title_placeholder = slide.shapes.title
title_placeholder.text = 'Air-speed Velocity of Unladen Swallows'

实际上我的幻灯片布局没有title_placeholder。

我运行此代码以找出我拥有的占位符:

for shape in slide.placeholders:
...     print('%d %s' % (shape.placeholder_format.idx, shape.name))

得到了:

11 Text Placeholder 3
12 Text Placeholder 4
13 Text Placeholder 2
15 Text Placeholder 1

所以现在我想给这些占位符添加文本 - 其中一个是标题 - 我会找出哪一个。

该文档介绍了如何使用insert_pictureinsert_table等在占位符中插入表格,图片和图表。但是没有insert_text

如何添加文字?

1 个答案:

答案 0 :(得分:2)

python-pptx中,占位符是Shape(自动形状)的子类。因此,常规形状(如矩形)的所有属性都可以在占位符上使用,特别是.text.text_frame

http://python-pptx.readthedocs.io/en/latest/api/shapes.html#shape-objects-autoshapes

因此,要更改占位符的文本,只需使用:

placeholder.text = 'foobar'

通常的做法是使标题占位符预先格式化为标准标题外观。通常,标题占位符放置在用于创建幻灯片的幻灯片布局上,这样就可以通过演示文稿一致地显示。

使用标题占位符可确保其中包含的文本用于在大纲视图和其他一些位置标识幻灯片。