python编程知识python-PPTX

Python-pptx Presentations

2019-10-16  本文已影响0人  Yohann丶blog
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()打开或创建演示文稿。

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

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

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

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

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

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

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

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

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

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

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

string –资源内容的帐户。

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

datetime –最初创建文档的时间

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

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

string -文档所用的语言

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

datetime –文档上次打印的时间

datetime –文档上次修改的时间

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

string –资源内容的主题。

string –给资源的名称。

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')
上一篇下一篇

猜你喜欢

热点阅读