2016-11-28 113 views
1

我试图给我的幻灯片添加一个标题。我正在查阅文档here,它说:“设置幻灯片标题 几乎所有的幻灯片布局都有一个标题占位符,当应用布局时,基于布局的任何幻灯片都会继承它。访问幻灯片的标题是一种常见操作,在形树的专用属性吧:使用python-pptx将幻灯片标题添加到幻灯片上

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_picture,insert_table等插入表格,图片和图表等。但没有insert_text

如何添加文本?

+0

我想我明白了。只需通过索引访问占位符,然后有一个名为text的属性。以下是这样的:'title = slide.placeholders [11] title.text =“Hello,World!”'@scanny - 我应该删除这个问题吗? – vagabond

回答

1

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

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

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

placeholder.text = 'foobar' 

通常的方式做到这一点是有被预格式化为标准的标题看标题占位符和感觉。通常,标题占位符被放置在用于创建幻灯片的幻灯片布局上,这样通过演示文稿就可以一直显示。

使用标题占位符可确保其包含的文本用于标识大纲视图中的幻灯片以及其他几个位置。

+0

谢谢,绝对更全面。 – vagabond