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属性访问的,通常是:

1
2
3
from pptx import Presentation
prs = Presentation()
slide_layouts = prs.slide_master.slide_layouts

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

1
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属性来访问的,通常是:

    1
    2
    3
    from pptx import Presentation
    prs = Presentation()
    slide_masters = prs.slide_masters

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

    1
    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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# !/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
-------------本文结束感谢您的阅读-------------
0%