2016-11-28 10 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 ="こんにちは、世界! "@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

関連する問題