pptx库ppt演示 python_Python处理PPT文件的实用姿势

本文介绍了使用Python的pptx库处理PPT文件的技巧,包括批量生成图片、提取表格数据、制作流程图和图表。重点讨论了基本元素如幻灯片、形状和文本的使用,以及如何导出素材和数据。虽然不支持SmartArt和动画,但pptx库为自动化处理提供了便利。
摘要由CSDN通过智能技术生成

好看的皮囊千篇一律,有趣的灵魂两百多斤。

和Word、Excel承载数据的能力相比,PPT的应用重点在于表演。

比如一场发布会、一场演说、一次产品展示、一次客户沟通……

正常情况下,用PowerPoint等软件制作PPT是明智的选择,简单实用。

但如果需要批量或者自动化处理PPT文件时,用Python就能节省很多时间。比如:

  • 用PPT批量生成一些发布会风格的图片

  • 从大量PPT中提取表格数据

  • 用PPT批量制作简单动画

处理PPT的Python库,主要有两类:

  • pywin32,调用操作系统上已装好的PPT软件。

  • python-pptx,根据OpenXML规范解析XML文件。

日常处理推荐使用python-pptx模块,它基于PIL处理图片,基于xlsxwriter处理图表。

但如果需要批量转换PPT文件格式,如导出成PDF,那就得用pywin32,而且只能在Windows操作系统上操作。

本文主要介绍python-pptx用法,模块安装:pip install python-pptx

注意:python-pptx暂时还不支持SmartArt和动画。如果需要批量生成,就得自己操作XML文件中对应内容。

基本使用

PPT中基本元素包括:

  • slide(幻灯片):一个PPT由一系列slide构成。

  • slide_master(幻灯片母版):母版可定义主题样式基准。

  • slide_layouts(模版):创建幻灯片时可选择的模版。

  • shape(形状):包含一切可视元素,通过slide.shapes可访问slide内元素。

  • placeholder(占位符):在模板中占据位置,如图片、文字等。

  • paragraph(段落):文本段,可以直接设置整段文本样式。

  • text(文本):段落内的文本,通过paragraph.add_run()生成。

 import pathlibfrom pptx import Presentationfrom pptx.enum.dml import MSO_THEME_COLORfrom pptx.util import Inches, Ptpath = list(pathlib.Path.cwd().parents)[1].joinpath('data/automate/005ppt')out_path = path.joinpath('005ppt_basic.pptx')prs = Presentation()# 查看所有布局for lo in prs.slide_layouts:    print(lo.name)# 创建标题页title_slide_layout = prs.slide_layouts[0]print(w, h, lo, ma)slide = prs.slides.add_slide(title_slide_layout)title = slide.shapes.titlesubtitle = slide.placeholders[1]title.text = '只差一个程序员了'subtitle.text = '程一初'# 设置背景色fill = slide.shapes[0].fillfill.solid()fill.fore_color.theme_color = MSO_THEME_COLOR.ACCENT_1fill.fore_color.brightness = -0.25# 创建第一页内容bullet_slide_layout = prs.slide_layouts[1]slide = prs.slides.add_slide(bullet_slide_layout)shapes = slide.shapestitle_shape = shapes.titlebody_shape = shapes.placeholders[1]title_shape.text = 'Python1024'tf = body_shape.text_frametf.text = '第一级内容'p = tf.add_paragraph()p.text = '第一级段落内容'p.level = 1p = tf.add_paragraph()p.text = '第二级段落内容'p.level = 2run = p.add_run()# 与`python-docx`里的用法类似,但内容设置在`text`中run.text = '自定义字体'run.font.name = '微软雅黑'run.font.size = Pt(25)run.font.bold = Trueprint(tf.paragraphs[0].text)# 从一个空白页开始创建内容bl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值