【Python实战】AI自动生成PPT:3个步骤让我效率提升18倍,完整代码
·
作为一个程序员+自媒体人,我经常要做PPT汇报。以前3小时做一份,现在用Python+AI,10分钟搞定。分享完整代码。
一、核心思路
用Python调用AI API,自动生成PPT大纲和内容,再用python-pptx库生成PPT文件。
二、完整代码
```python
# auto_ppt.py
import openai
from pptx import Presentation
from pptx.util import Inches, Pt
import os
class AutoPPT:
def __init__(self):
self.client = openai.OpenAI(
api_key=os.getenv("DEEPSEEK_KEY"),
base_url="https://api.deepseek.com/v1"
)
def generate_outline(self, topic):
"""AI生成PPT大纲"""
response = self.client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是PPT制作专家"},
{"role": "user", "content": f"为'{topic}'生成PPT大纲,包含5页:封面、目录、内容1、内容2、总结"}
],
temperature=0.7
)
return response.choices[0].message.content
def create_ppt(self, topic, outline, output_file):
"""生成PPT文件"""
prs = Presentation()
# 封面
title_slide = prs.slides.add_slide(prs.slide_layouts[0])
title_slide.shapes.title.text = topic
title_slide.placeholders[1].text = "AI自动生成"
# 内容页
for i, content in enumerate(outline.split('\n')[1:]):
if content.strip():
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = f"第{i+1}页"
slide.placeholders[1].text = content
prs.save(output_file)
print(f"PPT已保存:{output_file}")
# 使用示例
if __name__ == "__main__":
ppt = AutoPPT()
topic = "季度销售汇报"
# 生成大纲
outline = ppt.generate_outline(topic)
print("大纲:", outline)
# 生成PPT
ppt.create_ppt(topic, outline, "output.pptx")
三、运行效果
$ python auto_ppt.py
大纲: 1. 封面:季度销售汇报
2. 目录:销售数据、增长分析、下季度计划
3. 内容1:Q3销售额增长35%
4. 内容2:新品贡献60%增长
5. 总结:Q4目标与策略
PPT已保存:output.pptx
用时:10分钟(以前3小时)
效率提升:18倍
四、踩坑记录
| 坑 | 解决 |
|---|---|
| API调用失败 | 加异常处理,本地缓存 |
| PPT格式乱 | 用模板,固定布局 |
| 内容太泛 | AI生成后人工改30% |
五、优化建议
1、加模板:用公司统一模板
2、加图表:用AI生成数据,Python画图插入
3、人工审核:AI生成后必检查
完整代码已开源,需要的话评论区留言。
完整代码已开源,需要的话评论区留言。
更多推荐

所有评论(0)