python-pptxライブラリの使用方法
# python-pptx ライブラリからPresentation クラスを取得します。
from pptx import Presentation
# 「ppt.pptx」ファイルを開いてPresentationオブジェクトを作成し、prs変数に保存します。
prs = Presentation('ppt.pptx')
# レイアウトを選択します。
# slide_layoutsでスライドマスターで作成したレイアウトを選択します。
# 複数のレイアウトからインデックスで好きなものを選択するだけです。
# 「ppt.pptx」にはレイアウトが1つしかないため、slide_layouts[0]を選択します。
slide_layout = prs.slide_layouts[0]
# add_slideで選択したレイアウトを使用して新しいスライドを追加します。
slide = prs.slides.add_slide(slide_layout)
# スライド内のすべてのオブジェクトを取得します。
shapes = slide.shapes
# スライド内の各図形に対して、オブジェクトのフレームのインデックスと名前を出力します。
for shape in shapes:
# shape.placeholder_format.idxはオブジェクトフレームのインデックスを表します。
# shape。nameはオブジェクトフレームの名前を示します。
print(shape.placeholder_format.idx, shape.name)
from pptx import Presentation
prs = Presentation('ppt.pptx')
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
shapes = slide.shapes
# placeholdersにスライドにある複数のオブジェクトのフレームが保存されています。
# placeholdersでインデックスでテキストオブジェクトの枠を選択し、textで文字を変えます。
slide.placeholders[13].text = '田中太郎'
# 「ppt_new.pptx」で保存します。
prs.save('ppt_new.pptx')
from pptx import Presentation
prs = Presentation('ppt.pptx')
slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(slide_layout)
shapes = slide.shapes
slide.placeholders[13].text('田中太郎')
# insert_picture(経路)で写真を入れます。
slide.placeholders[14].insert_picture('1.png')
prs.save('ppt_new.pptx')