首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
引言:Python操作PPT
新建和保存PPT
打开PPT文档
ppt与pptx格式转换
设置长度单位
操作幻灯片
幻灯片布局
新建幻灯片
幻灯片位置
获取幻灯片
删除幻灯片
PPT中的形状介绍
获取形状
添加形状
形状填充色
形状边框
占位符介绍
获取占位符
占位符类型
填充占位符
操作文本介绍
获取文本框
添加文本框
添加文本
段落样式
Run样式
文本框样式
添加图表
柱状图
折线图
散点图
饼图
占位符图表
操作表格
插入表格
读取表格
占位符表格
表格对象
行列对象
访问单元格
单元格文本
单元格样式
合并单元格
拆分单元格
操作图片
当前位置:
首页>>
技术小册>>
Python与办公-玩转PPT
小册名称:Python与办公-玩转PPT
我简单阅读了一下python-pptx的源码,并没有发现它提供删除幻灯片的相关方法,但我们可以从添加幻灯片的方法找到突破口。先看看add_slide()方法的源码: ```bash def add_slide(self,slide_layout): """ Return a newly added slide that inherits layout from *slide_ layout*. """ rId,slide = self.part.add_slide(slide_layout) slide.shapes.clone_layout_placeholders(slide_layout) self._sldIdLst.add_sldId(rId) return slide ``` 可以发现添加一个Slide对象,实际上在创建完Slide对象之后会把它添加到_sldIdLst这个容器里面,是不是意味着我们只要把它从_sldIdLst里删除了就相当于删除幻灯片了呢?是的,不过需要操作元素标签,应该还记得在python-docx那里介绍过怎么删除段落吧,就是通过标签的remove()方法,这里删除页面的方法也差不多,我还是先上代码吧: ```bash from pptx import Presentation ppt = Presentation("./ppt_ files/测试文档1.pptx") sld_list = list(ppt.slides._sldIdLst) for i in [1,2]: slide_el = sld_list[i] ppt.slides._sldIdLst.remove(slide_el) ppt.save("./ppt_ files/test.pptx") ``` 在代码中,我通过list()把_sldIdLst这个容器强转成一个list对象,因为它本来是CT_SlideIdList类型,我们没办法通过下标获取对应的幻灯片对象,转成list对象之后就可以使用索引获取元素了,之后再使用remove()方法删除元素即可。我在代码中删除的是索引为1和2的元素,也就是删除掉第2和第3张幻灯片,代码执行完之后,打开PPT文档看看就清楚了。
上一篇:
获取幻灯片
下一篇:
PPT中的形状介绍
该分类下的相关小册推荐:
Python合辑9-判断和循环
Python数据分析与挖掘实战(上)
Python机器学习实战
Python编程轻松进阶(二)
Python合辑7-集合、列表与元组
Python神经网络入门与实践
Python机器学习基础教程(上)
Python与办公-玩转PDF
Python面试指南
Python爬虫入门与实战开发(下)
Python数据分析与挖掘实战(下)
Python合辑3-字符串用法深度总结