生财背景
源于一位行友的疑问,下载了一个300页的PPT,格式全都不对,如果要是一个个手动调整的话,可能会疯掉。类似这种需求也在很多PPT兼职群(qq群搜索就可以查到)里能遇到,如果会Python来自动批量操作PPT调整格式,那接单岂不是来者不拒? 为了给大家增加一个赚钱的小机会,行哥这里给大家分享一下Python操作PPT的用法
用法大纲如下:
安装工具包
首先用pip安装python工具包,如果觉得慢的话可以使用Python国内镜像进行下载
pip install python-pptx pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-pptx
1.创建PPT
创建PPT只需要3步:导包、实例化、保存。当然这样创建的PPT只是一张空白的ppt,连一张幻灯片都没有如果想调用已经存在的ppt,只需要在实例化中填入已经存在的ppt的文件地址即可
from pptx import Presentation prs = Presentation() prs.save('一行.pptx')
2.选择模版
该模块提供了10个不同的ppt模版,新建模版的时候在slide_layouts[模版序列]中填上参数即可以更换模版样式
title_slide_layout = prs.slide_layouts[1]
3.新建幻灯片
设置完模版样式,使用实例化对象的slides.add_slide函数便可以新建一张幻灯片
slide = prs.slides.add_slide(title_slide_layout)
当然如果使用for循环来迭代模版的序号新建幻灯片,可以查看所有模版的样式,如下图
for i in range(1,11): # 设置模版 1-10 title_slide_layout = prs.slide_layouts[i] try: # 新建一页幻灯片 slide = prs.slides.add_slide(title_slide_layout) # 根据placeholdes 索引获取一页幻灯片中的元素 body_shape= slide.shapes.placeholders # body_shape为本页ppt中所有shapes body_shape[0].text = '一行01' body_shape[1].text = '一行02' except: print(i)
4.编辑幻灯片元素
PPT里的文字可以自己设置,设置字体的内容、粗体、 斜体、大小和下划线都可以通过代码设置来实现
body_shape= slide.shapes.placeholders # 获取标题 title_shape= slide.shapes.title # 获取本页ppt的title元素 title_shape.text= '一行数据' # 新增内容 new_paragraph= body_shape[1].text_frame.add_paragraph() # 在第二个shape中的文本框中添加新段落 new_paragraph.text= 'add_paragraph'#新段落中的文字 new_paragraph.font.bold= True # 文字加粗 new_paragraph.font.italic= True # 文字斜体 from pptx.util import Pt #设置文字大小必须引入pptx.util中的Pt new_paragraph.font.size= Pt(30) # 文字大小 new_paragraph.font.underline= True # 文字下划线new_paragraph.level = 1 # 新段落的级别
5.新增幻灯片元素
5.1 插入文本框
文本框的加入需要先设置文本框位置元素,然后设置文本框的文字内容,最后使用add_paragraph()函数即可添加到PPT界面当中
# 新增文本框 from pptx.util import Inches left= top= width= height= Inches(3) # 预设位置及大小 textbox = slide.shapes.add_textbox(left,top,width,height) # left,top为相对位置,width,height为文本框大小 textbox.text= '公众号:一行数据' # 文本框中文字 new_para= textbox.text_frame.add_paragraph() # 在新文本框中添加段落 new_para.text= 'you can really dance'
5.1 添加图片
图片的设置方法需要先设置图片路径和图片位置,再通过add_picture函数将图片增加上去
from pptx.util import Inches # 新增图片 img_path= '杨超越_1.jpeg' # 文件路径 left, top, width, height= Inches(3), Inches(4.5), Inches(2), Inches(2) # 预设位置及大小 pic= slide.shapes.add_picture(img_path, left, top, width, height)
5.3 添加表格
表格的添加也是一样,需要设置位置信息,但是注意表格多了行数和列数的参数需要设置,最后通过add_table函数加入到PPT中
rows, cols, left, top, width, height = 2,2,Inches(3.5), Inches(4.5), Inches(6), Inches(0.8) table= slide.shapes.add_table(rows, cols, left, top, width, height).table # 添加表格,并取表格类 table.columns[0].width=Inches(2.0) # 第一纵列宽度 table.columns[1].width=Inches(4.0) # 第二纵列宽度 table.cell(0,0).text= '一行00' # 指定位置写入文本 table.cell(0,1).text= '一行01' table.cell(1,0).text= '一行10' table.cell(1, 1).text= '一行11'
以上是所有介绍的python操作ppt的用法,未来凡是重复性的工作都可以用代码来实现,只是有人还不会,这就出现了赚钱的机会。那么还愣着干嘛,学会赶紧去兼职群瞅瞅啊。