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