Home » Python » python-pptxの使い方 » python-pptxでプレースホルダーに改行を

python-pptxでプレースホルダーに改行を

動作検証バージョン:64bit Windows 10 Pro + Python 3.8.0 + python-pptx 0.6.18

「python-pptx プレースホルダー 改行」
という検索キーワードでアクセスがありました。

python-pptxを使って、改行を含む文字列をプレースホルダーに入れるには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

[スポンサードリンク]

プレースホルダーに改行を含む文字列を入力するサンプル

以下のスクリプトを実行すると、プレースホルダーに改行を含む文字列の入力されたプレゼンテーションファイルsample.pptxが、Cドライブtempフォルダーに作成されます。

import pptx

prs = pptx.Presentation()
layout = prs.slide_layouts[1]
sld = prs.slides.add_slide(layout)

sld.placeholders[0].text = 'タイトル\nプレースホルダー'

items = ['項目1', '項目2' ,'項目3']
sld.placeholders[1].text = '\n'.join(items)

prs.save(r'C:\temp\sample.pptx')

スクリプトで行っている処理について

最初に、プレゼンテーションファイルを新規に作成して、
  prs = pptx.Presentation()

[タイトルとコンテンツ]レイアウトのスライドを挿入しています。
  layout = prs.slide_layouts[1]
  sld = prs.slides.add_slide(layout)

続いて、1つ目のプレースホルダー(タイトルプレースホルダー)に、「タイトル」の次にエスケープシーケンス「\n」で改行された「タイトルプレースホルダー」という文字列を入力しています。
  sld.placeholders[0].text = 'タイトル\nプレースホルダー'

2つ目のプレースホルダー(コンテンツプレースホルダー)には、文字列「項目1」「項目2」「項目3」を箇条書きしています。
  items = ['項目1', '項目2' ,'項目3']
  sld.placeholders[1].text = '\n'.join(items)

右辺の「'\n'.join(items)」は、str.joinメソッドを使って文字列連結時に改行を入れているコードです。

最終更新日時:2021-05-05 06:39

[スポンサードリンク]

Home » Python » python-pptxの使い方 » python-pptxでプレースホルダーに改行を

「python-pptxの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.