■ 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が推奨されている。