Pythonでパワポ資料(スライド)作成を自動化しよう!

この記事ではPythonをの用いて、Microsoft-Officeの「PowerPoint」を自動で生成する内容に関して解説します。

本記事ではプログラムの詳細は割愛しますが、スライドを自動で作成するための大枠が理解できますので、この記事を参考に、プログラムをカスタマイズしてご自身の業務等に活用してみてください。

このサイトは、Pythonや生成AIなどを学べるオンラインプログラミングスクール AI Academy Bootcampが運営しています。

python-pptxとは

python-pptxとは、プレゼンテーション形式ファイル(.pptx)を作成できるpythonライブラリです。

インストール

pipを用いてインストールできます。

pip install python-pptx

Jupyter Notebookで実行する場合は、先頭に「!」をつけて実行ください。

!pip install python-pptx

python-pptxでパワポスライドを自動で作成してみよう

コードの詳細は割愛しますが、pptxから「Presentation」クラスを読み込み、このクラスから生成されたオブジェクトから、様々なメソッドを適用していきます。

from pptx import Presentation
from pptx.util import Inches, Pt, Cm

import datetime


now = datetime.datetime.now() # 現在時刻の取得
today = now.strftime('%Y年%m月%d日') # 現在時刻を年月曜日で表示

save_name = 'test.pptx' # 保存用のパワポのファイル名
prs = Presentation() # Presentationクラスをインスタンス化

# 1枚目
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Pythonでパワポを作成してみた"
subtitle.text = today

# 2枚目
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "目次"
body_shape = slide.placeholders[1]

p = body_shape.text_frame.add_paragraph()
p.text = '1. pythonでパワポを作るために'
p.level = 1
p = body_shape.text_frame.add_paragraph()
p.text = '2. 必要なライブラリのインストール'
p.level = 1
p = body_shape.text_frame.add_paragraph()
p.text = '3. 動作確認'
p.level = 1
p = body_shape.text_frame.add_paragraph()
p.text = '4. まとめ'
p.level = 1

# 3枚目
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = "pythonでパワポを作るために"

body_shape = slide.placeholders[1]
p = body_shape.text_frame.add_paragraph()
p.text = '1. python-pptxを使えば実現可能!'
p.level = 1

# 4枚目
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "2. 必要なライブラリのインストール"
body_shape = slide.placeholders[1]
p = body_shape.text_frame.add_paragraph()
p.text = '次のコマンドをターミナルにて実行'
# p.level = 2
p = body_shape.text_frame.add_paragraph()
p.text = 'pip install python-pptx'
p.level = 1

# 5枚目
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = "3. 動作確認"
body_shape = slide.placeholders[1]

p = body_shape.text_frame.add_paragraph()
p.text = "プログラムを動かしてみよう!"
p.level = 1
p.font.bold = True

# 6枚目
title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "4. まとめ"
body_shape = slide.placeholders[1]
subtitle.text = "python-pptxを使えば、簡単にパワポが作れちゃう!!"

prs.save(save_name)
print("ファイルの書き出し完了しました")

実行すると、「test.pptx」という名称のパワポファイルが作成されます。

(写真は、Mac OS環境のデスクトップに保存された場合の写真)

test.pptxを起動すると、以下のように中身が作成されていることが確認できます。

スライドに画像を差し込む

add_picture()を用いることで、画像をスライドに追加することが出来ます。

add_picture()関数には、3つ引数を渡します。

第一引数には、スライドに表示させたい(埋め込みたい)画像のパスを渡します。

第二引数には、width、第三引数にはheightを渡せます。両方がNoneの場合、そのままの画像サイズが用いられます。

title_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
title.text = "7. 画像を追加する"
# 画像をスライドに追加
img_path = "sample.png"
slide.shapes.add_picture(img_path, Inches(1.5), Inches(2))

prs.save(save_name)
print("ファイルの書き出し完了しました")

✨LINE友だち限定:特別な「動画プラン」受講お申込み受付中!

2025年に向けて、未来への投資をしませんか? AI Academy Bootcamp LINE公式 では、期間限定で通常の「動画プラン」に 「生成AIコース」 を追加したスペシャルプランをご用意!さらにお得な割引クーポンもプレゼントしています!

単独で学ぶより、全コースを一気に学ぶことで得られる「学習シナジー効果」が特長。
基礎から応用まで、データ分析とAI開発のスキルを効率よく身につけられます。

「動画プラン」のおすすめポイントを以下の動画で紹介しています!

動画プランを受講された方のリアルなレビューです。受講をご検討中の方、ぜひチェックしてみてください!

🎁ちょっとひと息 ! 業務や学習に役立つライブラリーをプレゼント !

オンラインプログラミングスクールのAI Academy Bootcamp LINE公式のライブラリーでは無料動画、講座、最新技術資料など、学習や業務に役立つ秀逸な教材や実践的なリソースを豊富に取り揃えています!毎週新しいコンテンツも更新中です。LINE友だち登録でプレゼントします。ぜひご活用ください!

LINE Libraryで人気 の🎁です。

【プロンプトを自動生成するGPTsPythonでのパワポ資料作成をさらに効率良く!プロンプト自動生成GPTsを使えば、『スライド内容を自動生成するプロンプト』や『データをもとに要約文を作成するプロンプト』を簡単に作成できます。業務で役立つAI Academyオリジナルプロンプト付です。

AI Academy Bootcamp ではAI・データサイエンス、機械学習の実践力を高める全4コース40時間以上の動画が見放題!AIの学習に必須のPythonの学習から始まり、データサイエンス・機械学習など、目的に応じた幅広い分野をカバーしています。