Pythonのpython-pptxでスライド上の特定のテキストボックスを削除する方法について紹介したいと思います
関連記事:【Python】python-pptxでパワポの資料作成を自動化する
新規プレゼンテーション作成
まず、python-pptxパッケージをインポートします。
from pptx import Presentation prs = Presentation() #prs = Presentation(r"C:\Users\i~~~\○○.pptx")
スライド追加
# 最後のスライドデザインを指定
layout = prs.slide_layouts[1]
# 出力用スライド追加
slide = prs.slides.add_slide(layout)
# タイトルを追加
text_box = slide.shapes[0].text_frame
text_box.text = 'スライドタイトルXXXX'
# テキストが挿入されていない空白のスライドを削除する
for placeholder in slide.shapes.placeholders:
if placeholder.has_text_frame and placeholder.text_frame.text == "":
print("found one %s" % placeholder)
sp = placeholder._sp
sp.getparent().remove(sp)
このコードは、スライド上のすべてのシェイプを反復処理し、テキストフレームがあるかどうかを確認して、特定のテキストを含むテキストフレームを見つけます。その後、見つけたテキストボックスを削除し、スライドに保存します。
# 変更結果を保存する
prs.save('filename.pptx')
これにより、指定したテキストボックスが削除され、PowerPointファイルが更新されます。
まとめ
これらのステップを簡単にまとめると、次のようになります。
from pptx import Presentation
# Open PowerPoint presentation
prs = Presentation()
# Access slide object
slide = prs.slides[0]
# テキストが挿入されていない空白のスライドを削除する
for placeholder in slide.shapes.placeholders:
if placeholder.has_text_frame and placeholder.text_frame.text == "":
print("found one %s" % placeholder)
sp = placeholder._sp
sp.getparent().remove(sp)
# Save the updated presentation
prs.save('filename.pptx')
初心者でも理解しやすいように、上記のコードはコメントで詳細に説明されています。特定のテキストを見つけるための条件式の変更により、必要なテキストボックスを削除できます。
関連記事:python-pptxで既存スライドのテキストボックスを編集する方法
関連記事:【Python】python-pptxでパワポにエクセルのグラフを追加する
コメント