首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
引言:Python操作PPT
新建和保存PPT
打开PPT文档
ppt与pptx格式转换
设置长度单位
操作幻灯片
幻灯片布局
新建幻灯片
幻灯片位置
获取幻灯片
删除幻灯片
PPT中的形状介绍
获取形状
添加形状
形状填充色
形状边框
占位符介绍
获取占位符
占位符类型
填充占位符
操作文本介绍
获取文本框
添加文本框
添加文本
段落样式
Run样式
文本框样式
添加图表
柱状图
折线图
散点图
饼图
占位符图表
操作表格
插入表格
读取表格
占位符表格
表格对象
行列对象
访问单元格
单元格文本
单元格样式
合并单元格
拆分单元格
操作图片
当前位置:
首页>>
技术小册>>
Python与办公-玩转PPT
小册名称:Python与办公-玩转PPT
占位符的作用不就是等待被内容填充吗?现在我们已经能获取到占位符并且知道怎么判断它们的类型了,那就顺便把它填充了呗。填充之前首先要判断该占位符是哪种类型,不要填错了,比如说是文本类型的就填充文本,图片类型的就填充图片,代码如下: ```bash from pptx import Presentation from pptx.enum.shapes import PP_PLACEHOLDER_TYPE ppt = Presentation() slide = ppt.slides.add_slide(ppt.slide_layouts[8]) for placeholder in slide.placeholders: phf = placeholder.placeholder_format if phf.type == PP_PLACEHOLDER_TYPE.TITLE: placeholder.text = "这是标题" elif phf.type == PP_PLACEHOLDER_TYPE.BODY: placeholder.text = "这是正文" ppt.save("./ppt_ files/test.pptx") ``` Shape对象有一个text属性是用来控制形状的文本内容的,我们可以直接给它赋值达到填充文本的目的,但是要注意,即使该Shape不是文本类型的占位符,也可以使用文本进行填充,但不太推荐,填充对应的类型可以避免给自己带来不必要的麻烦,上面的代码判断了是TITLE和BODY这两种占位符类型才修改text属性。还需要特别注意,text属性只能接收字符串类型的数据,如果是整型或者其他类型的数据,应该先将数据强转成字符串类型再赋值,不然是会报错的。 如果占位符是图片类型,那它会是一个PicturePlaceholder对象,想要填充图片,可以直接调用insert_picture()方法,把图片路径传进去就可以了,代码如下: ```bash from pptx import Presentation from pptx.enum.shapes import PP_PLACEHOLDER_TYPE ppt = Presentation() slide = ppt.slides.add_slide(ppt.slide_layouts[8]) for placeholder in slide.placeholders: phf = placeholder.placeholder_format if phf.type == PP_PLACEHOLDER_TYPE.PICTURE: picture = placeholder.insert_picture("./ppt_ files/images/ test.jpg") ppt.save("./ppt_ files/test.pptx") ``` 当占位符的长宽比例固定的时候,用一张图片去填充它,如果图片的长宽比例与占位符的比例不匹配,则它会在保持图片长宽比(让图片不被拉伸)的前提下,默认适配图片的最短边尽可能展示更多图片像素,这也意味着图片多余的部分会被裁减掉。如果你想手动控制被裁减的部分,可以调用PicturePlaceholder对象的crop_left()、crop_right()、crop_top()、crop_bottom()这四个方法,分别表示图片左边、右边、上边、下边被裁减掉的比例,比如说我们把图片的上边和下边都裁掉10%,左边和右边都裁掉20%,代码如下: ```bash from pptx import Presentation from pptx.enum.shapes import PP_PLACEHOLDER_TYPE ppt = Presentation() slide = ppt.slides.add_slide(ppt.slide_layouts[8]) for placeholder in slide.placeholders: phf = placeholder.placeholder_format if phf.type == PP_PLACEHOLDER_TYPE.PICTURE: picture = placeholder.insert_picture("./ppt_ files/images/ test.jpg") picture.crop_left = 0.2 picture.crop_right = 0.2 picture.crop_top = 0.1 picture.crop_bottom = 0.1 ppt.save("./ppt_ files/test.pptx") ``` ![](/uploads/images/20231205/883cb77b2e2f3b751305a34c44d45556.png) 除了图片类型的占位符,其实还有其他的几种类型,比如说表示表格类型的TablePlaceholder、表示图表类型的ChartPlaceholder等,但由于我们现在还没学到如何添加和操作表格和图表,所以暂时先不做演示,后面会进行补充。
上一篇:
占位符类型
下一篇:
操作文本介绍
该分类下的相关小册推荐:
Python甚础Django与爬虫
Python神经网络入门与实践
Python数据分析与挖掘实战(下)
Python合辑12-面向对象
Python与办公-玩转Word
Python合辑13-面向对象编程案例(上)
Python合辑7-集合、列表与元组
Python编程轻松进阶(五)
Python编程轻松进阶(一)
剑指Python(万变不离其宗)
Python爬虫入门与实战开发(下)
Python数据分析与挖掘实战(上)