ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程。

本文主要介绍python操作ppt的技巧,编程的优势在于处理速度,对于高大上的ppt设计,还是需要"以人为本", 所以该模块的使用场景主要是ppt基本元素的提取和添加,适合大量内容的转化,比如word转ppt, 减少大量繁琐的人工操作,尽管提供了一些基本的样式设计,但是并不能满足日常办公对ppt美观性的要求。

在该模块中,将ppt拆分为了以下多个元素

1. presentations, 表示整个ppt文档

2. sliders. 表示ppt文档的每一页

3. shapes

4. placeholders

上述分类对应的常用操作如下

1. presentations

用于打开,创建,保存ppt文档,用法如下

>>> from pptx import Presentation

# 创建新的ppt文档

>>> prs = Presentation()

# 打开一个ppt文档

>>> prs = Presentation('input.pptx')

# 保存ppt文档

>>> prs.save('test.pptx')

2. slides

在创建一页ppt时,需要指定对应的布局,在该模块中, 内置了以下9种布局

1. Title

2. Title and Content

3. Section Header

4. Two Content

5. Comparison

6. Title Only

7. Blank

8. Content with Caption

9. Picture with Caption

通过数字下标0到9来访问,指定布局添加一页ppt的用法如下

>>> title_slide_layout = prs.slide_layouts[0]

>>> slide = prs.slides.add_slide(title_slide_layout)

3. shapes

shapes表示容器,在制作ppt时,各种基本元素,比如文本框,表格,图片等都占据了ppt的一个部分,或者矩形区域,或者其他各种自定义的形状。shapes表示所有基本元素的和, 通过如下方式来访问对应的shapes

shapes = slide.shapes

对于shapes而言,我们可以获取和设置其各种属性,比如最常用的text属性,用法如下

>>> shapes.text = 'hello world'

还可以通过add系列方法来添加各种元素,添加文本框的方法如下

>>> from pptx.util import Inches, Pt

>>> left = top = width = height = Inches(1)

>>> txBox = slide.shapes.add_textbox(left, top, width, height)

>>> tf = txBox.text_frame

>>> tf.text = "first paragraph"

>>> p = tf.add_paragraph()

>>> p.text = "second paragraph"

添加表格的方法如下

>>> rows = cols = 2

>>> left = top = Inches(2.0)

>>> width = Inches(6.0)

>>> height = Inches(0.8)

>>> table = shapes.add_table(rows, cols, left, top, width, height).table

>>> table.columns[0].width = Inches(2.0)

>>> table.columns[1].width = Inches(4.0)

>>> # write column headings

>>> table.cell(0, 0).text = 'Foo'

>>> table.cell(0, 1).text = 'Bar'

4. placeholders

shapes表示所有基本元素的总和,而placeholders则表示每一个具体的元素,所以placeholders是shapes的子集, 通过数字下标来访问对应的placeholder,用法如下

>>> slide.placeholders[1]

>>> slide.placeholders[1].placeholder_format.idx

1

>>> slide.placeholders[1].name

'Subtitle 2'

placeholders是页面上已有的元素,获取对应的placeholders之后,可以通过insert系列方法来向其中新添元素。

了解上述层级结构,有助于我们对ppt的读写操作。除了写操作之外,也可以通过读操作来批量提取ppt中的特定元素,以文字为例,提取方式如下

from pptx import Presentation

prs = Presentation(path_to_presentation)

text_runs = []

for slide in prs.slides:

for shape in slide.shapes:

if not shape.has_text_frame:

continue

for paragraph in shape.text_frame.paragraphs:

for run in paragraph.runs:

text_runs.append(run.text)

通过该模块,可以快速搭建ppt的基本框架,也可以批量提取ppt中的特定元素,比如提取文字转换成word, 或者提取表格转换成excel文件。总而言之,该模块适合替代大量繁琐的人工复制粘贴操作。

到此这篇关于通过python-pptx模块操作ppt文件的方法的文章就介绍到这了,更多相关python-pptx模块操作ppt文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

pptx库ppt演示 python_通过python-pptx模块操作ppt文件的方法相关推荐

  1. python中文字符串写入文件,python写入中英文字符串到文件的方法

    python写入中英文字符串到文件的方法 本文实例讲述了python写入中英文字符串到文件的方法.分享给大家供大家参考.具体分析如下: python中如果使用系统默认的open方法打开的文件只能写入a ...

  2. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  3. python怎么解压rar文件_用Python解压缩rar、zip文件的方法

    玩蛇网本文为大家提供关于用Python解压缩rar.zip文件的方法源码.Python语言对文件方面的处理还是很方便的,例如以前有为大家介绍过Python读取分割压缩TXT文本文件的方法.Python ...

  4. python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...

    一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...

  5. 计算机正确开关机教案ppt,信息技术计算机开关机的正确操作ppt课件.ppt

    信息技术计算机开关机的正确操作ppt课件.ppt 第一节 计算机开关机操作 1.1.2 关机 1.1.3 重新启动 以下情况可能需要我们重新启动计算机: 当安装了某些新设备的驱动程序和新的软件,必须重 ...

  6. python 读取mat文件,python读取并写入mat文件的方法

    先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); sav ...

  7. pptx库ppt演示 python_详解 Python 操作 PPT 的各种骚操作!

    1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍. 这里提前做一个说明:python操作PPT,最好是我们提前设 ...

  8. python的pptx文档_通过python-pptx模块操作ppt文件

    ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. 本文主要介绍python操作ppt的技巧,编程 ...

  9. 通过python-pptx模块操作ppt文件

    欢迎关注"生信修炼手册"! ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. ...

  10. 【Python学习 】Python的模块或py文件导入

    目录 一.前言 二.python项目中导入模块(py文件)的几种方式 1.直接将py文件放到默认的库位置(特点:高效) 2.将文件放到创建的库位置(特点:方便管理) 3.将模块(模块包含很多py文件) ...

最新文章

  1. ios 如何改变UISegmentedControl文本的字体大小?
  2. AttributeError: ‘Tensor‘ object has no attribute ‘encoder‘
  3. 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3
  4. HNU 2015暑期新队员训练赛2 H Blanket
  5. 用计算机弹奏曲子童年,5.这首曲子使我想起了我的童年.十.书面表达现在.计算机游戏非常盛行.这是一件好事还是一件坏事?请你用英语写一篇短文来陈述自己的观点.并说明理由.字数:80-120....
  6. 机器学习系列——随机森林(五)
  7. 上岸 1 年后,重回大厂内卷
  8. 浅析百度搜索引擎白皮书
  9. 博科导向器升级固件-U盘
  10. MFC简易RTF编辑器
  11. 有道手机词典(安卓版)离线和发音包…
  12. MTK Combo Chip常用调试命令
  13. 微信PC端或将支持自动登录?网友直呼好家伙
  14. [C++] 内联函数inline 以及 auto关键字 -- C++入门(4)
  15. HDFS名字空间(NameSpace)
  16. SLAM学习资源分享
  17. python实现之初等函数三——三角函数
  18. HTML标签之文档结构标签
  19. 我死了,你还会娶别人吗
  20. 【论文阅读】PSPNet(Pyramid Scene Parsing Network)

热门文章

  1. DEDE标签调用说明
  2. 2020牛客多校九J-The Escape Plan of Groundhog
  3. AUTOSAR 基础知识简介
  4. 【spring】 官网文档手册(附中文网址)
  5. Caffe Blobs
  6. java二维数组货柜,装箱布局三维可视化控件开发sup*/sup
  7. C++实现视频格式转换PC客户端工具(支持多任务,暂停,断点续转,删除等基本功能)
  8. 让GitHub沸腾的阿里内部神作Java并发原理JDK源码手册,现已开源
  9. dubbo中的group与version的存在意义
  10. 个人愚见: React 和 Vue 区别