Python-pptx Presentations

image

使用Presentation()函数打开一个演示文稿,该函数直接由pptx包提供:

from pptx import Presentation

该函数返回一个Presentation对象,该对象是包含构成表示的组件的图形的根,
例如 幻灯片,形状等。通过遍历图形来引用所有现有的表示组件,
并通过在对象的容器上调用方法来将新对象添加到图形中。
因此,通常不会直接构造python-pptx对象。
例:

# 加载一个ppt文件
prs = Presentation('pptx/zf.pptx')

# 第一张幻灯片中的第一个形状
sp = prs.slides[0].shapes[0]

# 向第一张幻灯片中添加图片形状
pic = prs.slides[0].shapes.add_picture('image/bg2.jpg', 100, 100, 100, 100)

Presentation功能

此功能是使用演示文件必须导入的唯一参考。典型用法与许多其他类进行交互,
但是由于使用其包含对象的属性或方法访问它们时,无需构造它们。
class pptx.Presentation(pptx = None )
返回Presentation从pptx加载的对象,其中pptx可以是.pptx文件(字符串)的路径,
也可以是类似文件的对象。如果 缺少pptx或None,则将加载内置的默认演示文稿“模板”。

Presentation对象

class pptx.presentation.Presentation
PresentationML(PML)演示文稿。不打算直接构造。
使用pptx.Presentation()打开或创建演示文稿。

  • core_properties

拥有此演示文稿的读取/写入Dublin Core文档属性的CoreProperty实例。

  • notes_master

此演示文稿的NotesMaster实例。如果演示文稿没有便笺母版,
则从默认模板创建一个便笺本并将其返回。每次调用都返回相同的单个实例。

  • save(file )

将此演示文稿保存到file,其中file可以是文件的路径(字符串)或类似文件的对象。

  • slide_height

本演示文稿中的幻灯片高度,以英制公制(EMU)为单位。
如果未定义幻灯片宽度,则返回None。读/写。

  • slide_layouts

属于此演示文稿的第一个SlideMaster的SlideLayout实例的序列。
一个演示文稿可以有多个幻灯片母版,每个母版都有自己的一组布局。
对于演示文稿只有一个幻灯片母版的常见情况,此属性很方便。

  • slide_master

属于此演示文稿的第一个SlideMaster对象。
通常,演示文稿只有一个幻灯片母版。
在这种常见情况下,此属性提供了更简单的访问。

  • slide_masters

属于此演示文稿的SlideMaster对象的序列

  • slide_width

本演示文稿中的幻灯片宽度,以英语公制单位(EMU)为单位。
如果未定义幻灯片宽度,则返回None。读/写。

  • slides

slides对象,其中包含此演示文稿中的幻灯片

CoreProperties对象

每个Presentation对象都有一个CoreProperties通过其core_properties属性访问的对象,
该属性提供对文档的所谓核心属性的读/写访问。
核心属性是作者,类别,评论,content_status,已创建,标识符,关键字,语言,
last_modified_by,last_printed,modified,修订,主题,标题和版本。

每个属性是str,datetime.datetime或int这三种类型之一。
字符串属性的长度限制为255个字符,如果未设置,则返回一个空字符串(‘’)。
日期属性被分配并作为没有时区的datetime.datetime对象返回,即在UTC中。
任何时区转换均由客户负责。 如果未设置,日期属性将返回无。

python-pptx不会自动设置任何文档核心属性,
除非将核心属性部分添加到不包含该属性的演示文稿中(非常少见)。
如果python-pptx添加了核心属性部分,则它包含标题,last_modified_by,
修订版和修改后属性的默认值。如果需要该行为,
客户端代码应显式更改诸如revend和last_modified_by之类的属性。

class pptx.opc.coreprops.CoreProperties

  • author

string –主要负责制作资源内容的实体。

  • category

string –此软件包内容的分类。值示例包括:简历,信函,财务预测,提案或技术演示。

  • comments

string –资源内容的帐户。

  • content_status

string –文档的完成状态,例如“草稿”

  • created

datetime –最初创建文档的时间

  • identifier

string –在给定上下文(例如ISBN)中对资源的明确引用。

  • keywords

string –描述性词或短短语可能会用作本文档的搜索词

  • language

string -文档所用的语言

  • last_modified_by

string –上次修改文档的人的姓名或其他标识符(例如电子邮件地址)

  • last_printed

datetime –文档上次打印的时间

  • modified

datetime –文档上次修改的时间

  • revision

int –此修订版的编号,每次保存文档时,PowerPoint®客户端将其递增一次。
但是请注意,版本号不会由python-pptx自动增加。

  • subject

string –资源内容的主题。

  • title

string –给资源的名称。

  • version

string –自由格式的字符串

Note

# !/usr/bin/python
# coding:utf-8
from pptx import Presentation
import sys
# 加载一个ppt文件
prs = Presentation('pptx/zf.pptx')

# 在第一张幻灯片中获得对第一个形状的引用
sp = prs.slides[0].shapes[0]

# 向第一张幻灯片中添加图片形状
pic = prs.slides[0].shapes.add_picture('image/bg2.jpg', 100, 100, 100, 100)

# 此演示文稿的NotesMaster实例。如果演示文稿没有便笺母版,
则从默认模板创建一个便笺本并将其返回。每次调用都返回相同的单个实例。
note = prs.notes_master

# 本演示文稿中的幻灯片高度,以英制公制(EMU)为单位。
None如果未定义幻灯片宽度,则返回。读/写。
height = prs.slide_height

# 属于此演示文稿的第一个SlideMaster的SlideLayout实例的序列。 
一个演示文稿可以有多个幻灯片母版,每个母版都有自己的一组布局。 
对于演示文稿只有一个幻灯片母版的常见情况,此属性很方便。
layouts = prs.slide_layouts

# 属于此演示文稿的第一个SlideMaster对象。 
通常,演示文稿只有一个幻灯片母版。 
在这种常见情况下,此属性提供了更简单的访问。
master = prs.slide_master

# 属于此演示文稿的SlideMaster对象的序列
masters = prs.slide_masters

# 本演示文稿中的幻灯片宽度,以英语公制单位(EMU)为单位。
如果未定义幻灯片宽度,则返回None。读/写。
width = prs.slide_width

# slides对象,其中包含此演示文稿中的幻灯片
slides = prs.slides

# 每个Presentation对象都有一个CoreProperties通过其core_properties属性访问的对象,
该属性提供对文档的所谓核心属性的读/写访问
core_properties = prs.core_properties

core_properties.author = 'HaI'
core_properties.category = 'python-pptx'
core_properties.comments = 'HaI\'s comments'
core_properties.content_status = "draft"
core_properties.identifier = 'HaI\'s identifier'
core_properties.keywords = 'HaI\'s keywords'
core_properties.language = 'utf-8'
core_properties.last_modified_by = 'HaI\'s last_modified_by'
core_properties.subject = 'HaI\'s subject'
core_properties.title = 'HaI\'s title'
core_properties.version = 'v1.0.0'

# string –主要负责制作资源内容的作者。
author = core_properties.author
# string –此软件包内容的分类。值示例包括:简历,信函,财务预测,提案或技术演示。
category = core_properties.category
# string –资源内容的帐户。
comments = core_properties.comments
# string –文档的完成状态,例如“草稿”
content_status = core_properties.content_status
# datetime –最初创建文档的时间
created = core_properties.created
# string –在给定上下文(例如ISBN)中对资源的明确引用。
identifier = core_properties.identifier
# string –描述性词或短短语可能会用作本文档的搜索词
keywords = core_properties.keywords
# string -文档所用的语言
language = core_properties.language
# string –上次修改文档的人的姓名或其他标识符(例如电子邮件地址)
last_modified_by = core_properties.last_modified_by
# datetime –文档上次打印的时间
last_printed = core_properties.last_printed
# datetime –文档上次修改的时间
modified = core_properties.modified
# int –此修订版的编号,每次保存文档时,PowerPoint®客户端将其递增一次。
# 但是请注意,版本号不会由python-pptx自动增加。
revision = core_properties.revision
# string –资源内容的主题。
subject = core_properties.subject
# string –给资源的名称。
title = core_properties.title
# string –自由格式的字符串
version = core_properties.version

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

推荐阅读更多精彩内容

  • Slides对象 使用Presentation的slides属性可以访问Slides对象。 它不打算直接构造。cl...
    Yohann丶blog阅读 4,309评论 0 3
  • ■在PPT演示文稿内复制幻灯片 要复制演示文稿中的幻灯片,请先在普通视图的“大纲”或“幻灯片”选项中,选择要复制的...
    jxowltlnwc阅读 2,073评论 0 0
  • 前言:此教程献给正在使用,或者准备使用和学习PPT的朋友,希望对您有所帮助。 ■在PPT演示文稿内复制幻灯片 要复...
    米粮me阅读 2,079评论 0 2
  • 没有云云时,我就很喜欢压马路。上海有那么多名人故居,有那么多独特的小马路,真是逛也逛不完。可惜老公是个不解风情的人...
    丑小鸭tyy阅读 228评论 0 0
  • 今天第一次见(Justine)纪思婷,她给我的第一印象就是漂亮,高高的个子,着装很是休闲,深褐色的头发婉在头的后上...
    丙由甲桂花儿阅读 131评论 0 0