Python-pptx Slides

image

Slides對象

使用Presentation的slides屬性可以訪問Slides對象宏蛉。 它不打算直接構(gòu)造似谁。
class pptx.slide.Slides
屬于Presentation實例的幻燈片序列亏吝,具有訪問單個幻燈片的列表語義抗俄。
支持索引訪問,len()和迭代奢讨。

  • add_slide(slide_layout )

返回一個新添加的幻燈片稚叹,該幻燈片繼承了slide_layout的布局。

  • get(slide_id拿诸,default = None )

返回此演示文稿中由整數(shù)slide_id標識的幻燈片扒袖,如果找不到,則返回默認值亩码。

  • index(幻燈片)[來源]

將幻燈片映射到表示此幻燈片集合中從零開始的位置的整數(shù)季率。
在幻燈片上不存在時引發(fā)ValueError。

Slide對象

Slide通過索引從Slides或作為的返回值訪問單個對象add_slide()描沟。
class pptx.slide.Slide
滑動對象飒泻。提供對形狀和幻燈片級屬性的訪問鞭光。

  • background

_Background對象提供幻燈片背景屬性。
無論幻燈片是否覆蓋默認背景或繼承默認背景泞遗,此屬性都將返回_Background對象惰许。
確定這些條件中的哪一個適用于此幻燈片是使用follow_master_background屬性完成的。
每次調(diào)用同一幻燈片對象都返回相同的_Background對象史辙。

  • element

該對象代理的lxml元素汹买。

  • follow_master_background

如果此幻燈片繼承了幻燈片母版背景,則為true髓霞。
分配False會導致從主控的后臺繼承被中斷卦睹;
如果此幻燈片沒有自定義背景,則會添加默認背景方库。
如果此幻燈片已存在自定義背景结序,則將False賦值無效。
分配為True會導致刪除此幻燈片的所有自定義背景纵潦,并恢復從母版繼承的內(nèi)容徐鹤。

  • has_notes_slide

如果此幻燈片具有注釋幻燈片,則返回True邀层,否則返回False返敬。
注釋幻燈片由notes_slide創(chuàng)建(如果不存在);
使用此屬性可以測試筆記幻燈片寥院,而不會產(chǎn)生創(chuàng)建筆記幻燈片的副作用劲赠。

  • name

表示此幻燈片的內(nèi)部名稱的字符串。 如果未分配名稱秸谢,
則返回一個空字符串(‘’)凛澎。為該屬性分配空字符串或無將導致刪除任何名稱。

  • notes_slide

返回此幻燈片的NotesSlide實例估蹄。 如果幻燈片沒有便箋幻燈片塑煎,則會創(chuàng)建一個。
每次調(diào)用都返回相同的單個實例臭蚁。

  • placeholders

此幻燈片中包含占位符形狀序列的SlidePlaceholders實例最铁。

  • shapes

包含形狀對象序列的SlideShapes實例出現(xiàn)在此幻燈片上。

  • slide_id

在此演示文稿中唯一標識此幻燈片的整數(shù)值垮兑。 如果通過添加冷尉,
重新排列或刪除幻燈片來更改幻燈片序列中幻燈片的位置,則幻燈片ID不會更改系枪。

  • slide_layout

此幻燈片繼承其外觀的SlideLayout對象雀哨。

SlideLayouts對象

SlideLayouts對象是使用SlideMaster的slide_layouts屬性訪問的,通常是:

from pptx import Presentation
prs = Presentation()
slide_layouts = prs.slide_master.slide_layouts

為方便起見嗤无,由于大多數(shù)演示文稿只有一個幻燈片母版震束,
因此SlideLayouts可以直接從Presentation對象訪問第一個母版的集合 :

slide_layouts = prs.slide_layouts

此類不能直接構(gòu)造。

class pptx.slide.SlideLayouts
屬于幻燈片母版的幻燈片布局順序当犯。
支持索引訪問垢村,len(),迭代嚎卫,index()和remove()嘉栓。

  • get_by_name(name,default = None )

返回具有名稱或沒有找到的默認值的SlideLayout對象拓诸。

  • index(slide_layout )

在此集合中返回slide_layout的從零開始的索引侵佃。
如果此集合中不存在slide_layout,則引發(fā)ValueError奠支。

  • part

包含此對象的包裝部件

  • remove(slide_layout )

從集合中刪除slide_layout馋辈。
使用slide_layout時引發(fā)ValueError;
不能刪除作為一張或多張幻燈片的基礎(chǔ)的幻燈片布局倍谜。

SlideLayout對象

class pptx.slide.SlideLayout(element迈螟,part )
幻燈片布局對象。提供對占位符尔崔,常規(guī)形狀和幻燈片布局級別屬性的訪問答毫。

  • placeholders

在此幻燈片布局中包含占位符形狀序列的LayoutPlaceholders實例,按idx順序排序季春。

  • shapes

包含出現(xiàn)在此幻燈片布局上的形狀序列的LayoutShapes實例洗搂。

  • slide_master

此幻燈片版式將從其繼承屬性的幻燈片母版。

  • used_by_slides

基于此幻燈片布局的幻燈片對象的元組载弄。

  • SlideMasters對象

SlideMasters對象是通過slide_masters屬性來訪問的耘拇,通常是:

from pptx import Presentation
prs = Presentation()
slide_masters = prs.slide_masters

為方便起見,由于大多數(shù)演示文稿只有一個幻燈片母版侦锯,
因此可以直接從Presentation對象訪問第一個母版而無需索引集合:

slide_master = prs.slide_master

此類不能直接構(gòu)造驼鞭。

class pptx.slide.SlideMasters
SlideMaster屬于演示文稿的對象序列。
具有列表訪問語義尺碰,支持索引訪問挣棕,len()和迭代。

  • part

包含此對象的包裝部件

SlideMaster對象

class pptx.slide.SlideMaster(element亲桥,part )
滑動主對象洛心。提供對幻燈片布局的訪問。從繼承對占位符题篷,
常規(guī)形狀和幻燈片母版級屬性的訪問_BaseMaster词身。

  • slide_layouts

SlideLayouts對象,可以訪問此幻燈片母版的布局番枚。

SlidePlaceholders對象

class pptx.shapes.shapetree.SlidePlaceholders(element法严,parent )
幻燈片上占位符形狀的集合损敷。支持對其包含的占位符len()的idx值進行迭代, 和字典式查找深啤。

NotesSlide對象

class pptx.slide.NotesSlide(element拗馒,part )
注釋幻燈片對象∷萁郑可在注釋講義頁面上訪問幻燈片注釋占位符和其他形狀诱桂。

  • background

_Background對象提供幻燈片背景屬性。
無論幻燈片呈昔,母版或布局是否具有明確定義的背景挥等,此屬性都將返回_Background對象。
每次調(diào)用同一幻燈片對象都返回相同的_Background對象堤尾。

  • element

該對象代理的lxml元素肝劲。

  • name

表示此幻燈片的內(nèi)部名稱的字符串。如果未分配名稱郭宝,則返回一個空字符串('')涡相。
None為該屬性分配空字符串或 將導致刪除任何名稱。

  • notes_placeholder

返回此筆記幻燈片上的筆記占位符剩蟀,該形狀包含實際的筆記文本催蝗。
如果沒有注釋占位符,則返回None育特;否則返回false丙号。
盡管這可能很少見,但如果Notes主文件沒有正文占位符缰冤,
或者如果Notes占位符已從Notes幻燈片中刪除犬缨,則可能會發(fā)生這種情況。

  • notes_text_frame

返回此便箋幻燈片上便箋占位符的文本框架棉浸;如果沒有便箋占位符怀薛,則返回無。
這是一種快捷方式迷郑,可以適應將簡單的“注釋”文本添加到注釋“頁面”的常見情況枝恋。

  • part

包含此對象的包裝部件

  • placeholders

在此筆記幻燈片中包含占位符形狀序列的NotesSlidePlaceholders實例。

  • shapes

一個NotesSlideShapes實例嗡害,其中包含出現(xiàn)在此筆記幻燈片上的形狀對象序列焚碌。

Note

#!/usr/bin/python
#coding:utf-8
from pptx import Presentation

# 加載一個ppt文件
prs = Presentation('pptx/zf.pptx')

# 使用Presentation的slides屬性訪問slides對象
slides = prs.slides

# 返回一個新添加的幻燈片,該幻燈片繼承了slide_layout的布局霸妹。
addSlide = slides.add_slide

# 循環(huán)遍歷slides
for slide in slides:

    # 返回此演示文稿中由整數(shù)slide_id標識的幻燈片十电,如果找不到,則返回默認值。
    get_slide = slides.get(slide.slide_id)

    # 返回幻燈片映射到表示此幻燈片集合中從零開始的位置的整數(shù)
    index = slides.index(get_slide)

    pass

# 返回通過索引slides中的第一個對象
slide = slides[0]

# 返回幻燈片背景屬性的對象
background = slide.background

# 返回該對象代理的lxml元素
element = slide.element

# follow_master_background屬性可以確定哪些條件適用于此幻燈片
# True 如果此幻燈片繼承了幻燈片母版背景鹃骂。
# 分配False會導致從主控的后臺繼承中斷台盯。如果此幻燈片沒有自定義背景,則會添加默認背景畏线。
# 如果此幻燈片已存在自定義背景爷恳,則分配False無效。
# 分配True會導致刪除此幻燈片的所有自定義背景象踊,并恢復從母版的繼承。
follow_master_background = slide.follow_master_background

# 如果此幻燈片具有注釋幻燈片棚壁,則返回True杯矩,否則返回False。
# 一張便箋幻燈片是通過notes_slide不存在的幻燈片創(chuàng)建的袖外。
# 使用此屬性可以測試筆記幻燈片史隆,而不會產(chǎn)生創(chuàng)建筆記幻燈片的副作用。
has_notes_slide = slide.has_notes_slide

# 表示此幻燈片的內(nèi)部名稱的字符串曼验。如果未分配名稱泌射,則返回一個空字符串('')。
slide.name = 'HaI\'s name'
name = slide.name

# 返回NotesSlide此幻燈片的實例鬓照。
# 如果幻燈片沒有便箋幻燈片熔酷,則會創(chuàng)建一個。每次調(diào)用都返回相同的單個實例豺裆。
notes_slide = slide.notes_slide

# _Background 提供幻燈片背景屬性的對象拒秘。
# _Background無論幻燈片,母版或布局是否具有明確定義的背景臭猜,此屬性都將返回一個對象躺酒。
background = notes_slide.background

# 返回該對象代理的lxml元素。
element = notes_slide.element

# 表示此幻燈片的內(nèi)部名稱的字符串蔑歌。如果未分配名稱羹应,則返回一個空字符串('')。
# None為該屬性分配空字符串或 將導致刪除任何名稱次屠。
notes_slide.name = 'HaI\'s name'
name = notes_slide.name

# 返回此筆記幻燈片上的筆記占位符园匹,該形狀包含實際的筆記文本。
# 如果沒有注釋占位符劫灶,則返回None偎肃;
# 盡管這可能很少見,但如果Notes主文件沒有正文占位符浑此,或者如果Notes占位符已從Notes幻燈片中刪除累颂,則可能會發(fā)生這種情況。
notes_placeholder = notes_slide.notes_placeholder

# 返回此筆記幻燈片上筆記占位符的文本框架,或者None如果沒有筆記占位符紊馏,則返回該文本框料饥。
# 這是一種快捷方式,可以適應將簡單的“注釋”文本添加到注釋“頁面”的常見情況朱监。
notes_text_frame = notes_slide.notes_text_frame

# 包含此對象的包裝部件
part = notes_slide.part

# notesslideplaceholder的一個實例岸啡,其中包含了本注釋幻燈片中占位符形狀的序列。
placeholders = notes_slide.placeholders

# NotesSlideShapes的一個實例赫编,其中包含出現(xiàn)在這張notes幻燈片上的形狀對象的序列巡蘸。
shapes = notes_slide.shapes

# 返回幻燈片中包含占位符形狀序列的slideplaceholder實例。
placeholders = slide.placeholders

# 返回包含出現(xiàn)在此幻燈片上的形狀對象序列的幻燈片幻燈片實例擂送。
shapes = slide.shapes

# 返回在此演示文稿中唯一標識此幻燈片的整數(shù)值悦荒。
# 如果通過添加,重新排列或刪除幻燈片來更改幻燈片序列中幻燈片的位置嘹吨,則幻燈片ID不會更改搬味。
slide_id = slide.slide_id

# 返回此幻燈片繼承外觀的對象。
slide_layout = slide.slide_layout

# SlideLayouts對象是使用SlideMaster的slide_layouts屬性訪問的
slide_layouts = prs.slide_master.slide_layouts

# 由于大多數(shù)演示文稿只有一個幻燈片母版蟀拷,因此SlideLayouts可以直接從Presentation對象訪問第一個母版的集合 :
slide_layouts = prs.slide_layouts

# 循環(huán)遍歷slide_layouts
for slide_layout in slide_layouts:

    # 返回具有名稱或沒有找到的默認值的 SlideLayout對象碰纬。
    get_by_name = slide_layouts.get_by_name(slide_layout.name)
    
    # 返回在此集合中返回slide_layout的從零開始的索引。
    # 如果此集合中不存在slide_layout问芬,則引發(fā)ValueError 悦析。
    index = slide_layouts.index(slide_layout)
    
    # 返回包含此對象的包裝部件
    part = slide_layout.part

    # 返回包含此對象的包裝部件
    # 使用slide_layout時引發(fā)ValueError;不能刪除作為一張或多張幻燈片的基礎(chǔ)的幻燈片布局。
    # 這里因引發(fā)ValueError錯誤此衅,先注釋
    # remove = slide_layouts.remove(slide_layout)

    # 返回包含此幻燈片布局中占位符形狀序列的layoutplaceholder實例她按,按idx順序排序。
    placeholders = slide_layout.placeholders

    # 返回包含此幻燈片布局中出現(xiàn)的形狀序列的LayoutShapes實例炕柔。
    shapes = slide_layout.shapes

    # 此幻燈片版式將從其繼承屬性的幻燈片母版酌泰。
    slide_master = slide_layout.slide_master

    # 基于此幻燈片布局的幻燈片對象的元組。
    used_by_slides = slide_layout.used_by_slides

    pass

# SlideMasters對象是通過slide_masters屬性來訪問的
slide_masters = prs.slide_masters

# 由于大多數(shù)演示文稿只有一個幻燈片母版匕累,因此可以直接從Presentation對象訪問第一個母版而無需索引集合:
slide_master = prs.slide_master

# 返回包含此對象的包裝部件
part = slide_master.part

# SlideLayouts對象陵刹,提供對該幻燈片主布局的訪問。
slide_layouts = slide_master.slide_layouts
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欢嘿,一起剝皮案震驚了整個濱河市衰琐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌炼蹦,老刑警劉巖羡宙,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掐隐,居然都是意外死亡狗热,警方通過查閱死者的電腦和手機钞馁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匿刮,“玉大人僧凰,你說我怎么就攤上這事∈焱瑁” “怎么了训措?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長光羞。 經(jīng)常有香客問我绩鸣,道長,這世上最難降的妖魔是什么纱兑? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任呀闻,我火速辦了婚禮,結(jié)果婚禮上萍启,老公的妹妹穿的比我還像新娘。我一直安慰自己屏鳍,他們只是感情好勘纯,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钓瞭,像睡著了一般驳遵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上山涡,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天堤结,我揣著相機與錄音,去河邊找鬼鸭丛。 笑死竞穷,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的鳞溉。 我是一名探鬼主播瘾带,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼熟菲!你這毒婦竟也來了看政?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抄罕,失蹤者是張志新(化名)和其女友劉穎允蚣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呆贿,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡嚷兔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谴垫。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡章母,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出翩剪,到底是詐尸還是另有隱情乳怎,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布前弯,位于F島的核電站蚪缀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏恕出。R本人自食惡果不足惜询枚,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浙巫。 院中可真熱鬧金蜀,春花似錦、人聲如沸的畴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧裁。三九已至护桦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間煎娇,已是汗流浹背二庵。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缓呛,地道東北人催享。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像哟绊,于是被迫代替她去往敵國和親睡陪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354