■ python-pptxとは
pptx(プレゼンテーション形式ファイル)を作成できるpythonライブラリ。
以下、公式のAPI Documentationから抜粋。
# -*- coding: utf-8 -*-
from pptx import Presentation
SLD_LAYOUT_TITLE_AND_CONTENT = 0
# Presentaitonインスタンスの作成
# デフォルトではC:\Python27\Lib\site-packages\pptx\templates\default.pptxを読み取る
prs = Presentation()
# レイアウトの決定
slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]
# スライド作成(Slide)
slide = prs.slides.add_slide(slide_layout)
## テキストの設定(placeholders)
slide.shapes.title.text = "placeholders[0]"
slide.placeholders[1].text = "placeholders[1]"
print type(slide)
print "len(slide.placeholders) : " + str(len(slide.placeholders))
print slide.placeholders[0].text
print slide.placeholders[1].text
print
print type(slide.shapes.placeholders[1].text_frame)
print slide.shapes.placeholders[0].text_frame.text
print slide.shapes.placeholders[1].text_frame.text
### プレースホルダ内にテキストを追加(TextFrame)
text_frame = slide.shapes.placeholders[1].text_frame
paragraph = text_frame.add_paragraph()
paragraph.text = "add_paragraph text"
#### 段落のレベル
paragraph.level = 1
paragraph = slide.shapes.placeholders[1].text_frame.add_paragraph()
paragraph.text = "add_paragraph text2"
paragraph.level = 8
text_frame.fit_text(font_family='Calibri', max_size=33, bold=True, italic=True, font_file=None)
### プレースホルダを削除
#text_frame.clear()
# スライド追加
slide = prs.slides.add_slide(slide_layout)
## テキストの設定
slide.shapes.title.text = "placeholders[0]"
slide.placeholders[1].text = "placeholders[1]"
# スライドの保存
prs.save('python.pptx')
■ Presentation オブジェクト
core_properties
著者、コメントなどのプレゼンテーションファイルのプロパティ情報を持つオブジェクトslide_layouts
最初のSlideMasterに属するSlideLayoutのインスタンス。slidelayouts
非推奨。 .slide_layoutsが公式推奨。slide_master
最初のSlideMasterのオブジェクト。slidemaster
非推奨。 .slide_masterが公式推奨。slide_masters
SlideMasterのリスト型のオブジェクト。slidemasters
非推奨。 .slide_mastersが公式推奨。slide_height
スライドの高さ。単位はEnglish Metric Units (EMU)slide_width
スライドの幅。単位はEnglish Metric Units (EMU)slides
プレゼンテーションファイル内のスライドからなる_Slidesのオブジェクトsave(file)
プレゼンテーションファイルの保存をするメソッド。
引数は、ファイルパス(string型)かfile オブジェクトを使用する。
■ CoreProperties オブジェクト
著者、コメントなどのプレゼンテーションファイルのプロパティ情報をメンバに持つ。
author
string型。著者名。category
string型。 レジュメ、提案書、手紙などの文書の分類。comments
string型。文書に設定する吹き出し。content_status
string型。文書の完了状況。例 (draft ※下書き)。created
datetime型。 文書の初期作成時間。identifier
string型。 何らかの識別子? 例 (ISBN)keywords
string型。ドキュメントの検索条件に使用するキーワード。language
string型。文書内使用言語。last_modified_by
string型。文書を最後に編集した人の名前やメールアドレスなど。last_printed
datetime型。文書が最後に印刷された時間。modified
datetime型。文書を最後に編集した時間。revision
int型。文書が保存されるたびに加算される文書の改正バージョン。
python-pptxを使用した場合、自動的には加算されない。subject
string型。 プレゼンテーション内容のテーマ。title
string型。 プレゼンテーションの題名。version
string型。 フォーマットフリーのバージョン文字列。
■ _Slides(sldIdLst, prs)オブジェクト
class pptx.parts.presentation._Slides(sldIdLst, prs)
プレゼンテーションファイル内のスライドのリスト。
- add_slide(slidelayout) スライドを追加するメソッド。 レイアウトは引数で指定したレイアウトに従う。
■ Slideオブジェクト
class pptx.parts.slide.Slide(partname, content_type, element, package=None)
add_chart_part(chart_type, chart_data)[source]
スライドにchartを追加するメソッド。get_image(rId)
引数で指定したIDの画像を取得する。get_or_add_image_part(image_file)
画像オブジェクトとそれに対応するIDを返す。name
スライドの内部名。partname
部分名。(例 :/ppt/slides/slide1.xml)placeholders
_SlidePlaceholders クラスのインスタンス。
スライド内のプレースホルダを示す。
http://allabout.co.jp/gm/gc/298109/shapes
SlideShapeTree のインスタンス。
スライド内の図形を表す。slide_layout
スライドのレイアウト。slidelayout
非推奨。
.slide_layoutが推奨されている。
- spTree スライドの への参照。
■ SlideLayout objects
class pptx.parts.slidelayout.SlideLayout(partname, content_type, element, package=None)
placeholders
スライドレイアウト内のプレースホルダ。shapes
スライドレイアウト中の図形。slide_master
スライドマスター。slidemaster
非推奨。 .slide_masterが推奨されている。
■ SlideMaster objects
class pptx.parts.slidemaster.SlideMaster(partname, content_type, element, package=None)
placeholders
スライドレイアウト内のプレースホルダ。shapes
スライドレイアウト中の図形。slide_layouts
スライドレイアウトslidelayouts
非推奨。slide_layoutsが推奨されている。