Python-pptx Slides

作者: Yohann丶blog | 来源:发表于2019-10-17 17:23 被阅读0次
    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

        本文链接:https://www.haomeiwen.com/subject/pljvmctx.html