pptx库ppt演示 python_通过python-pptx模块操作ppt文件的方法
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文件的方法相关推荐
- python中文字符串写入文件,python写入中英文字符串到文件的方法
python写入中英文字符串到文件的方法 本文实例讲述了python写入中英文字符串到文件的方法.分享给大家供大家参考.具体分析如下: python中如果使用系统默认的open方法打开的文件只能写入a ...
- python导入excel文件-python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- python怎么解压rar文件_用Python解压缩rar、zip文件的方法
玩蛇网本文为大家提供关于用Python解压缩rar.zip文件的方法源码.Python语言对文件方面的处理还是很方便的,例如以前有为大家介绍过Python读取分割压缩TXT文本文件的方法.Python ...
- python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...
一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...
- 计算机正确开关机教案ppt,信息技术计算机开关机的正确操作ppt课件.ppt
信息技术计算机开关机的正确操作ppt课件.ppt 第一节 计算机开关机操作 1.1.2 关机 1.1.3 重新启动 以下情况可能需要我们重新启动计算机: 当安装了某些新设备的驱动程序和新的软件,必须重 ...
- python 读取mat文件,python读取并写入mat文件的方法
先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); sav ...
- pptx库ppt演示 python_详解 Python 操作 PPT 的各种骚操作!
1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍. 这里提前做一个说明:python操作PPT,最好是我们提前设 ...
- python的pptx文档_通过python-pptx模块操作ppt文件
ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. 本文主要介绍python操作ppt的技巧,编程 ...
- 通过python-pptx模块操作ppt文件
欢迎关注"生信修炼手册"! ppt通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能.ppt的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程. ...
- 【Python学习 】Python的模块或py文件导入
目录 一.前言 二.python项目中导入模块(py文件)的几种方式 1.直接将py文件放到默认的库位置(特点:高效) 2.将文件放到创建的库位置(特点:方便管理) 3.将模块(模块包含很多py文件) ...
最新文章
- ios 如何改变UISegmentedControl文本的字体大小?
- AttributeError: ‘Tensor‘ object has no attribute ‘encoder‘
- 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3
- HNU 2015暑期新队员训练赛2 H Blanket
- 用计算机弹奏曲子童年,5.这首曲子使我想起了我的童年.十.书面表达现在.计算机游戏非常盛行.这是一件好事还是一件坏事?请你用英语写一篇短文来陈述自己的观点.并说明理由.字数:80-120....
- 机器学习系列——随机森林(五)
- 上岸 1 年后,重回大厂内卷
- 浅析百度搜索引擎白皮书
- 博科导向器升级固件-U盘
- MFC简易RTF编辑器
- 有道手机词典(安卓版)离线和发音包…
- MTK Combo Chip常用调试命令
- 微信PC端或将支持自动登录?网友直呼好家伙
- [C++] 内联函数inline 以及 auto关键字 -- C++入门(4)
- HDFS名字空间(NameSpace)
- SLAM学习资源分享
- python实现之初等函数三——三角函数
- HTML标签之文档结构标签
- 我死了,你还会娶别人吗
- 【论文阅读】PSPNet(Pyramid Scene Parsing Network)