python-pptx
ライブラリで使用される主要オブジェクト・メソッド・プロパティを、用途別に体系的に解説します。
目次
🔷 1. 基本構成
Presentation(プレゼンテーション) ├── slides(スライドのリスト) │ └── Slide(各スライド) │ ├── shapes(図形:タイトル、テキストボックス、画像など) │ ├── placeholders(プレースホルダー) │ └── slide_layout(レイアウト) └── slide_layouts(レイアウトテンプレートのリスト)
🔸 2. 主なオブジェクトとメソッド・プロパティ
🧾 Presentation
オブジェクト
prs = Presentation()
新しいPowerPointファイルを作成。prs = Presentation("template.pptx")
既存のPowerPointファイルを読み込み。prs.slides
スライドのリスト(Slide
オブジェクト)。prs.slide_layouts
レイアウトのリスト(0:タイトル、1:タイトルと本文…)。prs.save("filename.pptx")
ファイル保存。
📄 Slide
オブジェクト
slide = prs.slides.add_slide(layout)
レイアウトを指定してスライド追加。slide.shapes
スライド内の図形(タイトル、テキスト、画像など)へのアクセス。slide.placeholders
レイアウトに定義されたプレースホルダー(タイトル、本文など)。
🧩 Shape
オブジェクト(図形全般)
shape.text
テキスト図形のテキストにアクセス/設定。shape.name
図形の名前。shape.shape_type
図形の種類(TextBox, Picture など)。shape.text_frame
テキスト図形の中身全体(段落、文字列)。
✏️ TextFrame
と Paragraph
shape.text_frame.text = "Hello"
テキストを丸ごと設定。text_frame.paragraphs
段落のリスト。paragraph.runs
文字列単位のリスト(フォント設定が可能)。paragraph.alignment
左右中央揃え(PP_ALIGN.CENTER
など)。
🖼️ 画像の追加
slide.shapes.add_picture("image.jpg", left, top, width, height)
- 単位は
Inches()
やCm()
(from pptx.util import Inches
)
🔹 3. 使用例まとめ
タイトルスライドを作る
from pptx import Presentation prs = Presentation() layout = prs.slide_layouts[0] # タイトルスライド slide = prs.slides.add_slide(layout) # タイトルとサブタイトル slide.shapes.title.text = "こんにちは" slide.placeholders[1].text = "python-pptxから作成"
テキストボックス追加
from pptx.util import Inches txBox = slide.shapes.add_textbox(Inches(1), Inches(2), Inches(4), Inches(1)) frame = txBox.text_frame frame.text = "これはテキストボックスです"
段落や書式
p = frame.add_paragraph() p.text = "新しい段落" p.font.bold = True p.font.size = Pt(20)
🧠 補足:よく使うユーティリティ
from pptx.util import Inches, Pt from pptx.enum.text import PP_ALIGN
✅ まとめ表(主要メンバー)
オブジェクト | メソッド・プロパティ | 説明 |
---|---|---|
Presentation | .slides , .slide_layouts , .save() | スライド全体・保存など |
Slide | .shapes , .placeholders | スライド内の要素アクセス |
Shape | .text , .name , .text_frame | 図形のテキストや名前など |
TextFrame | .text , .paragraphs | テキスト内容・段落 |
Paragraph | .runs , .alignment | 段落ごとの書式設定 |
Run | .text , .font.bold , .font.size | フォント書式(太字・サイズ) |