プログラミング

Pythonでpptxのスライド内のタイトル、サブタイトルを編集する方法

Pythonでpptx内のスライド内のタイトル、サブタイトルを編集する方法

今回はPythonでパワーポイントファイル(pptx)のスライド内のタイトル、サブタイトルを編集していきます。ライブラリとして、python-pptxを使用します。スライド内のタイトルを編集して資料作成を自動化していきましょう。

例えばこんな方にお薦め

  • 最近Pythonを使い始めて、どんなことができるか試してみたい
  • 写真やグラフをパワポで見やすい形で整理しておきたい
  • パワポで定型的で定期的な報告資料を求められてしまった、そして資料作成というルーチン作業が増えてしまった
前準備として、python-pptxライブラリのインストールを済ませておきます。説明には下記のコードを使います。

今回のコード

import pptx
from pptx.enum.text import PP_ALIGN
import os

cd = os.getcwd()
prs = pptx.Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])

title = slide.shapes.title
title.text = "Title text"
title.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

subtitle = slide.placeholders[1]
subtitle.text = "Subtitle text"

prs.save(cd + '/test.pptx')
上記のコードを実行すると、.pyファイルと同じディレクトリに"test.pptx" というパワポファイルができています。test.pptxができている
title, subtitle
ファイルを開くと次のようなレイアウトのファイルができています。今回はスライドレイアウト0を使いました。レイアウトについては過去記事のこちらを参照してください。レイアウト0 のスライドにあらかじめ用意されたタイトルとサブタイトルに指定したテキストが入力されていることがわかります。

コードの解説

それではコードの解説をしていきます。

import pptx

pptxモジュールをインポートします。パワポを操作するのに使用します。

from pptx.enum.text import PP_ALIGN

テーブル内のテキストの位置指定に使用します。

import os

osモジュールをインポートします。現在のディレクトリを取得するのに使用します。

cd = os.getcwd()

cd変数に現在のディレクトリを格納します。

prs = pptx.Presentation()

pptx.Presentation() をprsという変数で表します。以降、毎回pptx.Presentation と記述しなくてもprsと書いて省略することができます。

slide = prs.slides.add_slide(prs.slide_layouts[0])

全行で記述したパワポ prs にスライドを追加します。また、引数でスライドのレイアウトを指定しています。今回は白紙のレイアウト0を選択しています。レイアウトの解説についてはこちら(Pythonでpptxファイルを作成する方法)を参照してください。

title = slide.shapes.title

スライド内のタイトルを指定します。

title.text = "Title text"

指定したタイトルにテキスト"Title text" を入力します。

title.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

タイトルに入力した"Title text" のテキストを中央揃えにします。

subtitle = slide.placeholders[1]

スライド内のプレースホルダ(サブタイトル)を指定します。

subtitle.text = "Subtitle text"

指定したサブタイトルにテキスト"Subtitle text" を入力します。

prs.save(cd + '/test.pptx')

prs.save() でこれまでのprsへの作業内容を保存します。開いてみると、上記で指定してきたスライド内の位置に"graph.png" が貼り付けられていることがわかります。

まとめ

今回は、Pythonを使ってスライド内のタイトルとサブタイトルに文字を入力して編集してみました。スライド内に文字を表示する方法にはこの他にテキストボックスがありますがこちらの編集方法については次回以降で解説したいと思います。

-プログラミング
-, , , , , , , , , , , , , ,

© 2024 jitanブログ Powered by AFFINGER5