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()メソッドを使って文字列連結時に改行を入れているコードです。

最終更新日時:2020-02-28 04:15

[スポンサードリンク]

Home » Python » python-pptxの使用例とか » python-pptxでプレースホルダーに改行を

TrackBack:0

TrackBack URL

Home » Python » python-pptxの使用例とか » python-pptxでプレースホルダーに改行を

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

.