前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python自动化系列之python操作pptx文件

python自动化系列之python操作pptx文件

原创
作者头像
JQ实验室
发布2022-07-22 09:09:14
1.8K0
发布2022-07-22 09:09:14
举报
文章被收录于专栏:实用技术

ppt文档是日常办公中经常用到的工具,好的ppt文档需要大量的时间和精力去写,但是简单的ppt文档,可以使用python批量生成;

python-pptx介绍

python-pptx是用于创建和更新PowerPoint文件的python库。可以用于添加幻灯片,填充文本占位符,添加图像、文本框,添加操作图形、标题、主题属性,流程图等以及在表格中添加幻灯片等等。

python-pptx的使用可以参考官方文档:文档地址

python-pptx的简单使用:

  • 安装与引入 安装python-pptx推荐是使用pip方式,直接在终端执行命令: >pip install python-pptx
代码语言:txt
复制
引入库,引入库的名称不是安装时的python-pptx,而是:

import pptx

  • 需要了解的一些基本概念: PPT基本结构在python分别是什么含义: Slide:幻灯片,就是演示文稿中每一页的页面。 Shape:方框,在每页幻灯片内插入的方框,可以是形状,也可以是文本框。 Run:文字块,一般为较少字符。 Paragraph:段落,通常有序号ㆍ、1.等。
  • 写操作 1、初始化ppt:from pptx import Presentation from pptx.util import Inches,Pt ppt = Presentation()
代码语言:txt
复制
2、插入ppt页面

slide_1 = ppt.slides.add_slide(ppt.slide_layouts0) 插入一页幻灯片,使用布局0

代码语言:txt
复制
shape_1 = slide_1.shapes.placeholders   # 获取此页ppt的所有占位符
代码语言:txt
复制
shape_1[0].text = '占位符'   # 对shape[0]写入内容
代码语言:txt
复制
shape_1[1].text = 'Python操作PPT'   # 对shape[1]写入内容
代码语言:txt
复制
3、保存文件:
代码语言:txt
复制
>ppt.save('python.pptx')
代码语言:txt
复制
完整代码:
代码语言:txt
复制
```
代码语言:txt
复制
def create():
代码语言:txt
复制
'''创建ppt'''
代码语言:txt
复制
from pptx import Presentation
代码语言:txt
复制
from pptx.util import Inches,Pt
代码语言:txt
复制
ppt = Presentation()   # 初始化ppt
代码语言:txt
复制
#------------------# 第一页PPT
代码语言:txt
复制
slide_1 = ppt.slides.add_slide(ppt.slide_layouts[0])   # 插入一页幻灯片,使用布局0
代码语言:txt
复制
shape_1 = slide_1.shapes.placeholders   # 获取此页ppt的所有占位符
代码语言:txt
复制
shape_1[0].text = '占位符'   # 对shape[0]写入内容
代码语言:txt
复制
shape_1[1].text = 'Python操作PPT'   # 对shape[1]写入内容
代码语言:txt
复制
#------------------#
代码语言:txt
复制
#------------------# 第二页PPT
代码语言:txt
复制
slide_3 = ppt.slides.add_slide(ppt.slide_layouts[5])   # 插入一页幻灯片,使用布局5
代码语言:txt
复制
slide_3.shapes.placeholders[0].text = 'test'   # 对第三页PPT的第一个shape写入内容
代码语言:txt
复制
picture = slide_3.shapes.add_picture('picture.jpg',left=Inches(3.2),top=Inches(2),width=Inches(3.5),height=Inches(5))   # 插入图片
代码语言:txt
复制
#------------------#
代码语言:txt
复制
#------------------# 第四页PPT
代码语言:txt
复制
slide_4 = ppt.slides.add_slide(ppt.slide_layouts[6])   # 插入一页幻灯片,使用布局6
代码语言:txt
复制
table = slide_4.shapes.add_table(rows=2,cols=2,left=Inches(2),top=Inches(2),width=Inches(5),height=Inches(2)).table   # 插入表格
代码语言:txt
复制
table.columns[0].width = Inches(2)   # 设置第0列的宽度
代码语言:txt
复制
table.columns[1].width = Inches(3)   # 设置第1列的宽度
代码语言:txt
复制
#添加内容
代码语言:txt
复制
table.cell(0,0).text = 'ppt'
代码语言:txt
复制
table.cell(0,1).text = '对应库'
代码语言:txt
复制
table.cell(1,0).text = 'Python'
代码语言:txt
复制
table.cell(1,1).text = 'python-pptx'
代码语言:txt
复制
#------------------#
代码语言:txt
复制
ppt.save('python.pptx')
代码语言:txt
复制
```
  • 更新操作: 先创建好一个ppt,调整好格式,然后通过python修改
    image.png
    image.png
  • 获取各种占位符的方法集合获取此页ppt的所有占位符:shape = slide.shapes.placeholders # 占位符:placeholders 对shapenum写入内容:shapenum.text = 'xx' 获取此页ppt标题的shape:title_shape = slide.shapes.title 对标题shape写入内容:title_shape.text = 'xx' 在shapenum添加段落:para = shapenum.text_frame.add_paragraph() 对段落写入内容:para.text = 'xx' 设置段落字体是否粗体:para.font.blod = True 设置段落字体大小:para.font.size = Pt(num) 设置段落是否添加字体下划线:para.font.underline = True 插入文本框:textBox = slide.shapes.add_textbox(left,top,width,height) 插入图片:picture = slide.shapes.add_picture('图片',left,top,width,height) 插入表格:table = slide.shapes.add_table(rows=num,cols=num,left,top,width,height).table 设置表格第n列的宽度:table.columnsn.width = Inches(num) 表格单元格写入内容:table.cell(x,y).text = 'xx'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python-pptx介绍
  • python-pptx的简单使用:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档