Python-pptx Slides

image

Slides对象

使用Presentation的slides属性可以访问Slides对象。 它不打算直接构造。
class pptx.slide.Slides
属于Presentation实例的幻灯片序列,具有访问单个幻灯片的列表语义。
支持索引访问,len()和迭代。

  • add_slide(slide_layout )

返回一个新添加的幻灯片,该幻灯片继承了slide_layout的布局。

  • get(slide_id,default = None )

返回此演示文稿中由整数slide_id标识的幻灯片,如果找不到,则返回默认值。

  • index(幻灯片)[来源]

将幻灯片映射到表示此幻灯片集合中从零开始的位置的整数。
在幻灯片上不存在时引发ValueError。

Slide对象

Slide通过索引从Slides或作为的返回值访问单个对象add_slide()。
class pptx.slide.Slide
滑动对象。提供对形状和幻灯片级属性的访问。

  • background

_Background对象提供幻灯片背景属性。
无论幻灯片是否覆盖默认背景或继承默认背景,此属性都将返回_Background对象。
确定这些条件中的哪一个适用于此幻灯片是使用follow_master_background属性完成的。
每次调用同一幻灯片对象都返回相同的_Background对象。

  • element

该对象代理的lxml元素。

  • follow_master_background

如果此幻灯片继承了幻灯片母版背景,则为true。
分配False会导致从主控的后台继承被中断;
如果此幻灯片没有自定义背景,则会添加默认背景。
如果此幻灯片已存在自定义背景,则将False赋值无效。
分配为True会导致删除此幻灯片的所有自定义背景,并恢复从母版继承的内容。

  • has_notes_slide

如果此幻灯片具有注释幻灯片,则返回True,否则返回False。
注释幻灯片由notes_slide创建(如果不存在);
使用此属性可以测试笔记幻灯片,而不会产生创建笔记幻灯片的副作用。

  • name

表示此幻灯片的内部名称的字符串。 如果未分配名称,
则返回一个空字符串(‘’)。为该属性分配空字符串或无将导致删除任何名称。

  • notes_slide

返回此幻灯片的NotesSlide实例。 如果幻灯片没有便笺幻灯片,则会创建一个。
每次调用都返回相同的单个实例。

  • placeholders

此幻灯片中包含占位符形状序列的SlidePlaceholders实例。

  • shapes

包含形状对象序列的SlideShapes实例出现在此幻灯片上。

  • slide_id

在此演示文稿中唯一标识此幻灯片的整数值。 如果通过添加,
重新排列或删除幻灯片来更改幻灯片序列中幻灯片的位置,则幻灯片ID不会更改。

  • slide_layout

此幻灯片继承其外观的SlideLayout对象。

SlideLayouts对象

SlideLayouts对象是使用SlideMaster的slide_layouts属性访问的,通常是:

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

为方便起见,由于大多数演示文稿只有一个幻灯片母版,
因此SlideLayouts可以直接从Presentation对象访问第一个母版的集合 :

slide_layouts = prs.slide_layouts

此类不能直接构造。

class pptx.slide.SlideLayouts
属于幻灯片母版的幻灯片布局顺序。
支持索引访问,len(),迭代,index()和remove()。

  • get_by_name(name,default = None )

返回具有名称或没有找到的默认值的SlideLayout对象。

  • index(slide_layout )

在此集合中返回slide_layout的从零开始的索引。
如果此集合中不存在slide_layout,则引发ValueError。

  • part

包含此对象的包装部件

  • remove(slide_layout )

从集合中删除slide_layout。
使用slide_layout时引发ValueError;
不能删除作为一张或多张幻灯片的基础的幻灯片布局。

SlideLayout对象

class pptx.slide.SlideLayout(element,part )
幻灯片布局对象。提供对占位符,常规形状和幻灯片布局级别属性的访问。

  • placeholders

在此幻灯片布局中包含占位符形状序列的LayoutPlaceholders实例,按idx顺序排序。

  • shapes

包含出现在此幻灯片布局上的形状序列的LayoutShapes实例。

  • slide_master

此幻灯片版式将从其继承属性的幻灯片母版。

  • used_by_slides

基于此幻灯片布局的幻灯片对象的元组。

  • SlideMasters对象

SlideMasters对象是通过slide_masters属性来访问的,通常是:

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

为方便起见,由于大多数演示文稿只有一个幻灯片母版,
因此可以直接从Presentation对象访问第一个母版而无需索引集合:

slide_master = prs.slide_master

此类不能直接构造。

class pptx.slide.SlideMasters
SlideMaster属于演示文稿的对象序列。
具有列表访问语义,支持索引访问,len()和迭代。

  • part

包含此对象的包装部件

SlideMaster对象

class pptx.slide.SlideMaster(element,part )
滑动主对象。提供对幻灯片布局的访问。从继承对占位符,
常规形状和幻灯片母版级属性的访问_BaseMaster。

  • slide_layouts

SlideLayouts对象,可以访问此幻灯片母版的布局。

SlidePlaceholders对象

class pptx.shapes.shapetree.SlidePlaceholders(element,parent )
幻灯片上占位符形状的集合。支持对其包含的占位符len()的idx值进行迭代, 和字典式查找。

NotesSlide对象

class pptx.slide.NotesSlide(element,part )
注释幻灯片对象。可在注释讲义页面上访问幻灯片注释占位符和其他形状。

  • background

_Background对象提供幻灯片背景属性。
无论幻灯片,母版或布局是否具有明确定义的背景,此属性都将返回_Background对象。
每次调用同一幻灯片对象都返回相同的_Background对象。

  • element

该对象代理的lxml元素。

  • name

表示此幻灯片的内部名称的字符串。如果未分配名称,则返回一个空字符串('')。
None为该属性分配空字符串或 将导致删除任何名称。

  • notes_placeholder

返回此笔记幻灯片上的笔记占位符,该形状包含实际的笔记文本。
如果没有注释占位符,则返回None;否则返回false。
尽管这可能很少见,但如果Notes主文件没有正文占位符,
或者如果Notes占位符已从Notes幻灯片中删除,则可能会发生这种情况。

  • notes_text_frame

返回此便笺幻灯片上便笺占位符的文本框架;如果没有便笺占位符,则返回无。
这是一种快捷方式,可以适应将简单的“注释”文本添加到注释“页面”的常见情况。

  • part

包含此对象的包装部件

  • placeholders

在此笔记幻灯片中包含占位符形状序列的NotesSlidePlaceholders实例。

  • shapes

一个NotesSlideShapes实例,其中包含出现在此笔记幻灯片上的形状对象序列。

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

# 循环遍历slides
for slide in slides:

    # 返回此演示文稿中由整数slide_id标识的幻灯片,如果找不到,则返回默认值。
    get_slide = slides.get(slide.slide_id)

    # 返回幻灯片映射到表示此幻灯片集合中从零开始的位置的整数
    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不存在的幻灯片创建的。
# 使用此属性可以测试笔记幻灯片,而不会产生创建笔记幻灯片的副作用。
has_notes_slide = slide.has_notes_slide

# 表示此幻灯片的内部名称的字符串。如果未分配名称,则返回一个空字符串('')。
slide.name = 'HaI\'s name'
name = slide.name

# 返回NotesSlide此幻灯片的实例。
# 如果幻灯片没有便笺幻灯片,则会创建一个。每次调用都返回相同的单个实例。
notes_slide = slide.notes_slide

# _Background 提供幻灯片背景属性的对象。
# _Background无论幻灯片,母版或布局是否具有明确定义的背景,此属性都将返回一个对象。
background = notes_slide.background

# 返回该对象代理的lxml元素。
element = notes_slide.element

# 表示此幻灯片的内部名称的字符串。如果未分配名称,则返回一个空字符串('')。
# None为该属性分配空字符串或 将导致删除任何名称。
notes_slide.name = 'HaI\'s name'
name = notes_slide.name

# 返回此笔记幻灯片上的笔记占位符,该形状包含实际的笔记文本。
# 如果没有注释占位符,则返回None;
# 尽管这可能很少见,但如果Notes主文件没有正文占位符,或者如果Notes占位符已从Notes幻灯片中删除,则可能会发生这种情况。
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的一个实例,其中包含出现在这张notes幻灯片上的形状对象的序列。
shapes = notes_slide.shapes

# 返回幻灯片中包含占位符形状序列的slideplaceholder实例。
placeholders = slide.placeholders

# 返回包含出现在此幻灯片上的形状对象序列的幻灯片幻灯片实例。
shapes = slide.shapes

# 返回在此演示文稿中唯一标识此幻灯片的整数值。
# 如果通过添加,重新排列或删除幻灯片来更改幻灯片序列中幻灯片的位置,则幻灯片ID不会更改。
slide_id = slide.slide_id

# 返回此幻灯片继承外观的对象。
slide_layout = slide.slide_layout

# SlideLayouts对象是使用SlideMaster的slide_layouts属性访问的
slide_layouts = prs.slide_master.slide_layouts

# 由于大多数演示文稿只有一个幻灯片母版,因此SlideLayouts可以直接从Presentation对象访问第一个母版的集合 :
slide_layouts = prs.slide_layouts

# 循环遍历slide_layouts
for slide_layout in slide_layouts:

    # 返回具有名称或没有找到的默认值的 SlideLayout对象。
    get_by_name = slide_layouts.get_by_name(slide_layout.name)
    
    # 返回在此集合中返回slide_layout的从零开始的索引。
    # 如果此集合中不存在slide_layout,则引发ValueError 。
    index = slide_layouts.index(slide_layout)
    
    # 返回包含此对象的包装部件
    part = slide_layout.part

    # 返回包含此对象的包装部件
    # 使用slide_layout时引发ValueError;不能删除作为一张或多张幻灯片的基础的幻灯片布局。
    # 这里因引发ValueError错误,先注释
    # remove = slide_layouts.remove(slide_layout)

    # 返回包含此幻灯片布局中占位符形状序列的layoutplaceholder实例,按idx顺序排序。
    placeholders = slide_layout.placeholders

    # 返回包含此幻灯片布局中出现的形状序列的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

# 由于大多数演示文稿只有一个幻灯片母版,因此可以直接从Presentation对象访问第一个母版而无需索引集合:
slide_master = prs.slide_master

# 返回包含此对象的包装部件
part = slide_master.part

# SlideLayouts对象,提供对该幻灯片主布局的访问。
slide_layouts = slide_master.slide_layouts
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,313评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,369评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,916评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,333评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,425评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,481评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,491评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,268评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,719评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,004评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,179评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,832评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,510评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,153评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,402评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,045评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,071评论 2 352