乐于分享
好东西不私藏

Openclaw 自动生成 PPT ,so easy!

Openclaw 自动生成 PPT ,so easy!

用 Python 自动生成 PPT 并发送到聊天窗口

在日常工作中,我们经常需要制作 PPT。如果能通过代码自动生成 PPT,不仅效率翻倍,还能实现批量化和模板化。今天就教大家如何用 Python 自动生成 PPT 并发送到聊天窗口。


一、为什么选择 Python 生成 PPT

Python 有丰富的第三方库支持办公自动化,其中最强大的就是 python-pptx 库。它可以:

  • • 精确控制每一页的内容和布局
  • • 自动生成图表、表格
  • • 批量制作模板化 PPT
  • • 与其他办公系统无缝集成

相比手动制作,代码生成的优势在于:

  1. 1. 可重复:一次代码,随时生成
  2. 2. 可定制:参数化设置,想改就改
  3. 3. 可扩展:可以对接 AI 自动生成内容

二、环境准备

首先需要安装 python-pptx 库:

pip install python-pptx

如果你使用的是虚拟环境(推荐),可以这样操作:

python3 -m venv venv
source
 venv/bin/activate
pip install python-pptx

三、代码实战

下面是一个完整的 5 页 PPT 生成示例:

from pptx import Presentation
from
 pptx.util import Inches, Pt
from
 pptx.enum.text import PP_ALIGN
from
 pptx.dml.color import RGBColor

prs = Presentation()
prs.slide_width = Inches(10)
prs.slide_height = Inches(7.5)

def
 add_title_slide(prs, title, subtitle=""):
    slide_layout = prs.slide_layouts[6]  # blank
    slide = prs.slides.add_slide(slide_layout)
    
    # 标题

    title_box = slide.shapes.add_textbox(Inches(1), Inches(2.5), Inches(8), Inches(1.5))
    tf = title_box.text_frame
    p = tf.paragraphs[0]
    p.text = title
    p.font.size = Pt(44)
    p.font.bold = True
    p.font.color.rgb = RGBColor(0, 102, 204)
    p.alignment = PP_ALIGN.CENTER
    
    # 副标题

    if
 subtitle:
        sub_box = slide.shapes.add_textbox(Inches(1), Inches(4.2), Inches(8), Inches(1))
        tf = sub_box.text_frame
        p = tf.paragraphs[0]
        p.text = subtitle
        p.font.size = Pt(24)
        p.alignment = PP_ALIGN.CENTER
    
    return
 slide

def
 add_content_slide(prs, title, bullets):
    slide_layout = prs.slide_layouts[6]
    slide = prs.slides.add_slide(slide_layout)
    
    # 标题

    title_box = slide.shapes.add_textbox(Inches(0.5), Inches(0.5), Inches(9), Inches(0.8))
    tf = title_box.text_frame
    p = tf.paragraphs[0]
    p.text = title
    p.font.size = Pt(32)
    p.font.bold = True
    p.font.color.rgb = RGBColor(0, 102, 204)
    
    # 内容

    content_box = slide.shapes.add_textbox(Inches(0.8), Inches(1.5), Inches(8.5), Inches(5))
    tf = content_box.text_frame
    tf.word_wrap = True
    
    for
 i, bullet in enumerate(bullets):
        if
 i == 0:
            p = tf.paragraphs[0]
        else
:
            p = tf.add_paragraph()
        p.text = "• " + bullet
        p.font.size = Pt(22)
        p.space_after = Pt(12)
    
    return
 slide

# 第1页:封面

add_title_slide(prs, "OpenClaw", "你的个人 AI 操作系统\n开源 · 自托管 · 可扩展")

# 第2页:内容页

add_content_slide(prs, "什么是 OpenClaw", [
    "在自有服务器上运行的 AI 助手"
,
    "与 ChatGPT 对比:"
,
    "  • 交互模式:你问我答 → 自主执行任务"
,
    "  • 运行环境:网页/App → 自托管服务器"

])

# 保存文件

prs.save("output.pptx")
print
("PPT 创建成功!")

四、关键技巧

1. 页面尺寸设置

prs.slide_width = Inches(10)   # 宽度 10 英寸
prs.slide_height = Inches(7.5) # 高度 7.5 英寸(16:9)

2. 字体和颜色

p.font.size = Pt(32)           # 字体大小
p.font.bold = True              # 加粗
p.font.color.rgb = RGBColor(0, 102, 204)  # 蓝色

3. 文本框定位

slide.shapes.add_textbox(left, top, width, height)
# left: 左边距

# top: 上边距

# width: 宽度

# height: 高度

所有单位都是 Inches(英寸)。


五、发送到通信工具

生成 PPT 后,如何发送到聊天窗口?这里有两种方式:

方式一:飞书/钉钉机器人

通过消息机器人 API,可以直接将文件发送到群聊或私聊。

方式二:文件托管服务

如果需要公网访问,可以上传到文件托管服务,获取下载链接后发送。


六、进阶应用

学会了基础用法后,可以尝试这些进阶功能:

  1. 1. 批量生成:循环生成多页 PPT
  2. 2. 模板套用:读取现有 PPT 模板,修改内容
  3. 3. AI 结合:让 AI 生成 PPT 内容,代码负责排版
  4. 4. 数据驱动:从 Excel 读取数据,批量生成报表

总结

用 Python 生成 PPT 的核心就是 python-pptx 库。掌握以下几点就能上手:

  • • 安装:pip install python-pptx
  • • 创建空白 PPT:用 slide_layouts[6]
  • • 添加文本框:用 shapes.add_textbox()
  • • 保存:用 prs.save()

学会了这招,办公效率提升不止一点点!


相关文章

  • • Python 办公自动化实战
  • • 如何用 Python 操作 Excel
  • • Python 数据可视化指南

如果你对这个话题感兴趣,欢迎关注我,持续分享办公自动化干货!

作者:小飞飞