Python实现自动化办公(三):Python对PPT文档的基本操作(python

您所在的位置:网站首页 python生成ppt表格 Python实现自动化办公(三):Python对PPT文档的基本操作(python

Python实现自动化办公(三):Python对PPT文档的基本操作(python

2024-01-22 09:13| 来源: 网络整理| 查看: 265

Python对PPT文档的基本操作

文章目录 Python对PPT文档的基本操作一、pptx模块1、官方文档2、安装pptx模块 二、基本函数的使用方法三、使用案例1、修改ppt内容2、写入内容

一、pptx模块 1、官方文档

pptx库官方文档:python-pptx 0.6.21 documentation

2、安装pptx模块 pip3 install python-pptx 二、基本函数的使用方法

初始化ppt:ppt = Presentation() 插入一页幻灯片,使用布局num:slide = ppt.slides.add_slide(ppt.slide_layouts[num])

布局num的对应如下图所示:

在这里插入图片描述 获取此页ppt的所有占位符:shape = slide.shapes.placeholders # 占位符:placeholders 对shape[num]写入内容:shape[num].text = 'xx' 获取此页ppt标题的shape:title_shape = slide.shapes.title 对标题shape写入内容:title_shape.text = 'xx' 在shape[num]添加段落:para = shape[num].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.columns[n].width = Inches(num) 表格单元格写入内容:table.cell(x,y).text = 'xx'

边距:left = Inches(num) top = Inches(num) 宽高度:width = Inches(num) height = Inches(num) 表格的操作可参考Python实现自动化办公(一):Python对Excel的基本操作(openpyxl),也可直接参考下方案例第四页PPT。

保存ppt:ppt.save('xx.pptx')

三、使用案例 1、修改ppt内容

首先,有一个这样子的PPT: 在这里插入图片描述 通过如下代码:

from pptx import Presentation from pptx.util import Inches,Pt ppt = Presentation('python_ppt.pptx') # 初始化ppt slide = ppt.slides[0] # 定位到ppt的第一张幻灯片 print('slide: ',slide,'\n') shapes = slide.shapes # 获取所有的shape print('shapes: ',shapes,'\n') print(shapes[0].text_frame.paragraphs[0].text) # 打印出shape[0]第一段的内容 print(shapes[1].text_frame.paragraphs[0].text) # 打印出shape[1]第一段的内容 #进行修改 shapes[0].text_frame.paragraphs[0].text = '人生苦短' # 修改shape[0]第一段的内容 shapes[1].text_frame.paragraphs[0].runs[0].text = '我学python' # 修改shape[1]第一段第一行的内容 ppt.save('python_ppt.pptx')

修改成: 在这里插入图片描述 修改流程: 首先定位要修改的页面的文本框,然后再定位到段落或段落的行,再对齐内容进行修改,上方修改的代码处的runs即为其段落的所有行。 关于run可参考:Python实现自动化办公(二):Python对Word文档的基本操作(python-docx)的 二、基本函数的使用方法 和 三、使用案例的 1、读取段落和行。

2、写入内容 from pptx import Presentation from pptx.util import Inches,Pt ppt = Presentation() # 初始化ppt #------------------# 第一页PPT slide_1 = ppt.slides.add_slide(ppt.slide_layouts[0]) # 插入一页幻灯片,使用布局0 shape_1 = slide_1.shapes.placeholders # 获取此页ppt的所有占位符 shape_1[0].text = 'CSDN' # 对shape[0]写入内容 shape_1[1].text = 'Python操作PPT' # 对shape[1]写入内容 #------------------# #------------------# 第二页PPT slide_2 = ppt.slides.add_slide(ppt.slide_layouts[1]) # 插入一页幻灯片,使用布局1 title_shape = slide_2.shapes.title # 获取此页ppt标题的shape title_shape.text = '我 ♥ Python' # 对标题shape写入内容 shape_2 = slide_2.shapes.placeholders # 获取此页ppt的所有占位符 para_1 = shape_2[1].text_frame.add_paragraph() # 在shape[1]添加段落 para_1.text = '人生苦短' # 对para_1写入内容 para_1.font.size = Pt(30) # 设置段落字体大小 para_1.font.underline = True # 设置段落是否添加字体下划线 para_2 = shape_2[1].text_frame.add_paragraph() # 在shape[1]添加段落 para_2.text = '我学Python' # 对para_2写入内容 para_2.font.size = Pt(50) # 设置段落字体大小 para_2.font.blod = True # 设置段落字体是否粗体 #设置边距 left = Inches(3) top = Inches(6) width = Inches(6) height = Inches(6) textBox = slide_2.shapes.add_textbox(left=Inches(3.5),top=Inches(6),width=Inches(6),height=Inches(6)) # 插入新的文本框 textBox.text = '加个⭐的文本框' # 添加内容 #------------------# #------------------# 第三页PPT slide_3 = ppt.slides.add_slide(ppt.slide_layouts[5]) # 插入一页幻灯片,使用布局5 slide_3.shapes.placeholders[0].text = '笠li笠' # 对第三页PPT的第一个shape写入内容 picture = slide_3.shapes.add_picture('picture.jpg',left=Inches(3.2),top=Inches(2),width=Inches(3.5),height=Inches(5)) # 插入图片 #------------------# #------------------# 第四页PPT slide_4 = ppt.slides.add_slide(ppt.slide_layouts[6]) # 插入一页幻灯片,使用布局6 table = slide_4.shapes.add_table(rows=2,cols=2,left=Inches(2),top=Inches(2),width=Inches(5),height=Inches(2)).table # 插入表格 table.columns[0].width = Inches(2) # 设置第0列的宽度 table.columns[1].width = Inches(3) # 设置第1列的宽度 #添加内容 table.cell(0,0).text = 'ppt' table.cell(0,1).text = '对应库' table.cell(1,0).text = 'Python' table.cell(1,1).text = 'python-pptx' #------------------# ppt.save('python.pptx')

效果如下图所示: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 视频效果如下:

python制作PPT

本人是一名学生,目前正在学习中,本篇文章是我的学习笔记,如有错误的话还请指正。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3