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

你可能感兴趣的:(Python-pptx Slides)