摘要:还在熬夜改PPT?标题怎么写、图表怎么摆、配色怎么搭,越想越头大?用Python调用AI,说清汇报主题和核心数据,5分钟就能生成逻辑清晰、颜值在线的PPT,再也不用对着空白幻灯片发呆。
还在熬夜改PPT?标题怎么写、图表怎么摆、配色怎么搭,越想越头大?用Python调用AI,说清汇报主题和核心数据,5分钟就能生成逻辑清晰、颜值在线的PPT,再也不用对着空白幻灯片发呆。
• 装工具:终端输 pip install openai python-pptx(OpenAI免费API密钥足够用,注册5分钟搞定,密钥在官网“API Keys”里创建);
• 核心代码:复制就能用,改2处就行——替换"你的API密钥"和"你的汇报需求":
import openai
from PPTx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
# 改1:替换成你的OpenAI API密钥
openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
def ai_gen_ppt_content(need):
"""让AI生成PPT的每页主题、内容、布局建议"""
prompt = f"""
你是职场PPT专家,帮我生成汇报PPT的结构和内容,格式如下:
1. 总页数:6-8页(适合10分钟汇报);
2. 每页内容:标题+核心文字(分点不超过3个,简洁易懂)+ 布局建议(比如“标题+左文右图”);
3. 主题:{need};
4. 风格:商务简约,数据优先,避免花哨。
只返回PPT内容结构,不用多余解释。
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0.3 # 保证内容逻辑严谨,不跑偏
)
return response.choices[0].message.content.strip
def create_ppt(content, save_path="AI生成汇报PPT.pptx"):
"""根据AI内容自动生成PPT文件"""
prs = Presentation
# 定义商务风配色(深蓝标题+灰色正文,显专业)
title_color = RGBColor(26, 59, 105)
content_color = RGBColor(51, 51, 51)
# 按AI生成的内容拆分每页(这里以AI返回的“第1页:标题页...”格式为例)
pages = [p for p in content.split("第") if p.strip]
for page in pages:
if "页:" not in page:
continue
# 提取每页标题和内容
page_info = page.split(":", 1)
if len(page_info)
continue
page_title = page_info[0].strip
page_content = page_info[1].strip
# 选择PPT布局(标题页用布局0,内容页用布局1)
if "标题页" in page_title:
slide_layout = prs.slide_layouts[0] # 标题页布局
else:
slide_layout = prs.slide_layouts[1] # 标题+内容布局
slide = prs.slides.add_slide(slide_layout)
# 设置标题(字体、颜色、大小)
title = slide.shapes.title
title.text = page_content.split("标题:")[-1].split("内容:")[0].strip
title.text_frame.paragraphs[0].font.color.rgb = title_color
title.text_frame.paragraphs[0].font.size = Pt(28)
# 设置正文(分点展示,避免大段文字)
if "内容:" in page_content:
content_text = page_content.split("内容:")[-1].split("布局建议:")[0].strip
content_placeholder = slide.placeholders[1]
tf = content_placeholder.text_frame
tf.clear
# 按分点拆分内容,逐行添加
for point in content_text.split(";"):
if point.strip:
p = tf.add_paragraph
p.text = point.strip
p.font.color.rgb = content_color
p.font.size = Pt(16)
p.space_after = Pt(12) # 段落间距,显清晰
prs.save(save_path)
print(f"PPT生成完成!保存路径:{save_path}")
# 改2:替换成你的汇报需求(越具体,AI生成越精准)
report_need = "市场部Q3活动汇报:1. 核心数据(3场活动总曝光500万,转化率2.3%);2. 问题(活动B获客成本超预算15%);3. Q4计划(聚焦短视频渠道,预算压缩10%)"
# 1. AI生成PPT内容结构
ppt_content = ai_gen_ppt_content(report_need)
print("AI生成的PPT结构:")
print(ppt_content)
# 2. 自动生成PPT文件
create_ppt(ppt_content)
以“市场部Q3活动汇报”为例,AI会自动生成8页PPT结构,逻辑超清晰:
1. 标题页:标题“市场部Q3活动执行与Q4规划汇报”+ 副标题“汇报人:XXX | 日期:2024.10”,布局“居中大标题”;
2. Q3核心数据页:标题“Q3活动核心成果”+ 内容“1. 总曝光500万(同比Q2+12%);2. 整体转化率2.3%(目标2%,超额完成);3. 获客成本平均85元/人”,布局“标题+左文右图”(AI会提示“建议插入折线图展示曝光趋势”);
3. 问题分析页:标题“Q3活动待优化点”+ 内容“1. 活动B获客成本102元/人(超预算15%);2. 图文渠道转化率仅1.1%(低于短视频渠道3.5%)”,布局“标题+两栏对比”;
...
4. 结束页:标题“总结与行动号召”+ 内容“1. Q3超额完成曝光与转化目标;2. Q4聚焦短视频,压缩10%预算;3. 下周一起启动渠道测试”,布局“居中总结+底部行动点”。
生成的PPT自带商务配色,文字分点清晰,不用你花时间想逻辑、调格式,只需要最后替换几张图表,5分钟就能交差。
1. 自动插图表:在create_ppt函数里加一段代码,让AI生成Excel数据后,自动用matplotlib画折线图/柱状图,插入PPT:
import matplotlib.pyplot as plt
# 生成示例数据(实际可让AI根据汇报需求生成)
x = ["7月", "8月", "9月"]
y = [150, 180, 170] # 每月曝光(单位:万)
# 画折线图
plt.figure(figsize=(6, 4))
plt.plot(x, y, marker='o', color='#1A365D')
plt.title("Q3活动曝光趋势")
plt.savefig("曝光趋势图.png", dpi=300, bbox_inches='tight')
# 插入PPT
slide.shapes.add_picture("曝光趋势图.png", Inches(3), Inches(1.5), width=Inches(3), height=Inches(2))
2. 换模板:把Presentation改成Presentation("你的模板.pptx"),用公司统一的PPT模板生成,风格更统一,不用后期调整格式。
上周我帮运营同事做“双11预热活动汇报”,她之前自己做PPT要1小时,还总纠结“数据放左边还是右边”;我用这个工具,输入需求后5分钟生成PPT,只换了3张图表,领导说“逻辑比之前清晰多了,重点很突出”——其实我没花多少心思,只是让AI帮我扛了“想结构、调格式”的活,把时间省下来盯核心数据。
需要我帮你补充“国内AI接口(比如文心一言)”的适配代码吗?这样没OpenAI账号的粉丝也能用,还能加“自动替换公司LOGO”的功能,让PPT更贴合职场场景,提升内容的实用性。
来源:绿叶菜