接上文Python开发从零开始-50.25-Office 文档处理,本文小编与大家分享 Python 处理 Office 文档的相关知识。
三、PPT 文件处理
Python 处理 PPT 文档,最常用的库是 python-pptx 第三方库(用于处理 .pptx 等较新版的 PPT 文件格式)。与前文介绍的 openpyxl 库类似,它专注于 Office Open XML 格式,能够以编程方式生成包含文本、图表、表格、图片及复杂排版的演示文稿。
(一)python-pptx 库简介
python-pptx 库的主要功能:
幻灯片管理:支持创建新演示文稿、添加 / 删除幻灯片、应用内置或自定义版式;
内容元素操作:精准控制文本框、形状、图片、表格及图表的位置、大小与样式;
占位符处理:能够识别并填充 PowerPoint 模板中的占位符,实现基于模板的批量报告生成;
图表集成:支持创建柱状图、折线图、饼图等常见图表,并可绑定数据源进行动态更新。
python-pptx 库的官方文档地址:
https://python-pptx.readthedocs.io/en/latest/user/intro.html |
(二)python-pptx 库常用对象及关系
1、python-pptx 库常用对象
(1)pptx.presentation.Presentation 对象
整个 .pptx 文档的根对象,用于创建和保存 PPT 文档,并管理全局资源。使用该对象的默认构造函数创建;
(2)pptx.slide.SlideMaster 对象
幻灯片母版,用于定义演示文稿的全局样式模板(字体、配色、背景、占位符布局及公共元素),其下属的版式被幻灯片继承以维持视觉统一。通常使用 Presentation 对象的 slide_master 属性(返回文档中的第一个母版。若文档包含多个母版可使用 slide_masters 获取所有母版集合)获取;
(3)pptx.slide.SlideLayouts 对象
版式集合,存储当前母版下所有版式对象,通常使用 SlideMaster 对象的 slide_layouts 属性获取,不可直接实例化创建;
(4)pptx.slide.SlideLayout 对象
版式对象,用于指定单页幻灯片的排版样式;通常使用 SlideLayouts 对象的索引,或者 SlideLayouts 对象的 get_by_name() 方法 获取,不可直接实例化创建;
(5)pptx.slide.Slides 对象
文档中所有幻灯片集合,通常使用 Presentation 对象的 slides 属性获取,不可直接实例化创建;
(6)pptx.slide.Slide 对象
单张幻灯片,用于访问和操作该页的布局、形状(文本/图片/图表等)、背景及注释等内容;通常通过 Slides 对象的索引,或者 Slides 对象的 add_slide() 方法获取;
(7)pptx.shapes.shapetree.SlideShapes 对象
单张幻灯片顶层形状集合,用于访问、遍历和添加该幻灯片上的所有直接子形状(如文本框、图片、图表、组合等)。通常使用 Slide 对象的 shapes 属性获取;
(8)pptx.shapes.autoshape.Shape 对象
代表自动形状(AutoShape)的,用于操作矩形、椭圆、箭头、文本框等预设矢量图形及其内部文本。通常使用 Shapes 对象的 add_shape()方法获取;
(9)pptx.shapes.base.BaseShape 对象
幻灯片形状对象的抽象基类,定义了形状共有的位置、大小、层级及交互属性,用于子类继承。主要子类包括:
pptx.shapes.picture.Picture 对象:图片对象,通常使用 SlideShapes 对象的 add_picture() 方法获取;
pptx.shapes.placeholder.Placeholder 对象:占位符对象,专门用于在基于 SlideLayout 对象创建的幻灯片中预定义内容的位置和样式;Slides 对象的 add_slide() 方法添加幻灯片时,系统会根据所选布局自动实例化对应的占位符集合;
(10)其他常用对象:
pptx.table.Table 对象:表格对象,通常使用 SlideShapes对象的 add_table() 方法获取;
pptx.chart.chart.Chart 对象:图表对象,通常使用 SlideShapes 对象的 add_chart() 方法获取;
pptx.text.text.TextFrame 对象:文本段落,内部嵌套段落和运行,通常使用形状对象的 text_frame 属性获取(适用于文本框、占位符、表格单元格等);
受文章篇幅所限,下文将继续介绍 Python 处理 Office 文件的相关知识。
夜雨聆风