ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Day 09 · PPT 自动生成:文字大纲变演示文稿

2026/8/7 10:45:59 拓冰建站 浏览量
Day 09 · PPT 自动生成:文字大纲变演示文稿 「AI Python 系列」第 01 栏 · AI 时代的 Python 办公自动化全栏 18 篇 · 零成本跟完 品牌梅雅达编程笔记摘要做PPT是很多人的噩梦——建幻灯片、调格式、想内容一套下来半天没了。本篇用python-pptx创建幻灯片用AI生成大纲和内容输入一段项目信息就自动出整套PPT。三个实战覆盖项目汇报、产品介绍、培训课件附配色和排版方案。开篇 · 做 PPT 的真实痛点你有没有遇到过这些活场景传统做法痛点项目周报PPT打开PPT → 建幻灯片 → 想内容 → 调格式一份汇报PPT做2小时产品介绍PPT找模板 → 填内容 → 调样式 → 改了又改好看的不实用实用的不好看培训课件PPT写大纲 → 逐页做 → 补示例20页课件做一个下午共同特征格式重复内容费脑。框架都差不多但每次都要从头来。今天用python-pptx AI 解决——AI 生成大纲内容python-pptx负责排版出文件。一、传统做法 vs AI 时代做法传统做法python-pptx手动建幻灯片frompptximportPresentation prsPresentation()slideprs.slides.add_slide(prs.slide_layouts[0])# 标题版式slide.shapes.title.text项目汇报slide.placeholders[1].text2026年7月prs.save(report.pptx)能力边界✅ 创建幻灯片、添加文字、表格、图片✅ 控制字体、颜色、大小、位置✅ 套用内置模板和版式❌ 不知道每页该写什么内容❌ 不会根据项目信息自动组织结构❌ 想不出有吸引力的表述AI 时代做法AI 生成大纲 →python-pptx创建# AI 生成大纲JSONoutlineclient.chat_json(根据以下项目信息生成PPT大纲...)# python-pptx 根据大纲创建PPTcreate_ppt(outline,项目汇报.pptx)组合优势AI 负责内容生成大纲、组织结构、写要点文案python-pptx负责格式创建幻灯片、设置字体颜色、控制布局输入一段项目信息输出一套完整 PPT二、python-pptx速查安装pipinstallpython-pptx创建幻灯片frompptximportPresentationfrompptx.utilimportInches,Pt,Emufrompptx.dml.colorimportRGBColorfrompptx.enum.textimportPP_ALIGNfrompptx.enum.shapesimportMSO_SHAPE prsPresentation()# 16:9 宽屏prs.slide_widthInches(13.333)prs.slide_heightInches(7.5)# 添加空白幻灯片slideprs.slides.add_slide(prs.slide_layouts[6])# 6 blank# 设置背景色bgslide.background bg.fill.solid()bg.fill.fore_color.rgbRGBColor(0xF4,0xF6,0xFA)# 浅灰# 添加装饰矩形无边框rectslide.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(0),Inches(0),Inches(13.333),Inches(1.0))rect.fill.solid()rect.fill.fore_color.rgbRGBColor(0x15,0x65,0xC0)# 深蓝rect.line.fill.background()# 去掉边框# 添加文本框txBoxslide.shapes.add_textbox(Inches(1),Inches(2),# 位置左, 上Inches(11),Inches(2)# 大小宽, 高)tftxBox.text_frame tf.word_wrapTrue# 自动换行ptf.paragraphs[0]p.text项目汇报p.font.sizePt(40)# 字号p.font.boldTrue# 加粗p.font.nameMicrosoft YaHei# 指定字体p.font.color.rgbRGBColor(0x1F,0x29,0x37)# 深色p.alignmentPP_ALIGN.LEFT# 左对齐prs.save(test.pptx)添加多段落tftxBox.text_frame tf.word_wrapTrueitems[第一点,第二点,第三点]fori,iteminenumerate(items):ptf.paragraphs[0]ifi0elsetf.add_paragraph()p.alignmentPP_ALIGN.LEFT p.space_afterPt(16)# 段后间距p.space_beforePt(4)# 段前间距# 彩色装饰圆点用 ▌ 字符实现run0p.add_run()run0.text▌ run0.font.sizePt(16)run0.font.boldTruerun0.font.nameMicrosoft YaHeirun0.font.color.rgbRGBColor(0x15,0x65,0xC0)# 深蓝# 正文runp.add_run()run.textitem run.font.sizePt(18)run.font.nameMicrosoft YaHeirun.font.color.rgbRGBColor(0x1F,0x29,0x37)# 深色关键概念slide_layouts[6]是空白版式完全自定义。slide_layouts[0]是标题版式slide_layouts[1]是标题内容版式。本篇用空白版式做完全自定义控制。三、实战 1项目汇报 PPT场景输入一段散装的项目信息AI 自动组织成 PPT 大纲python-pptx生成.pptx文件。核心流程项目信息 → AI生成大纲(JSON) → python-pptx创建幻灯片 → .pptx文件关键代码fromllm_clientimportLLMClientimportjson clientLLMClient(providerglm)project_info项目名称智能客服系统 项目周期2026年4月-7月 团队规模4人 当前进度已完成80% 本周成果完成了知识库模块、优化了对话引擎、修复了12个bug 下周计划上线压力测试、完成API文档、准备验收材料 风险项第三方短信接口延迟较高promptf请根据以下项目信息生成一份项目汇报PPT的大纲输出JSON。 项目信息{project_info}输出格式 {{ slides: [ {{type: title, title: ..., subtitle: ...}}, {{type: content, title: ..., content: [要点1, 要点2]}}, {{type: section, title: ...}}, ... ] }}resultclient.chat_json(prompt,temperature0.4)outlinejson.loads(result)AI 输出的大纲示例{slides:[{type:title,title:智能客服系统,subtitle:项目周报 · 2026年7月},{type:content,title:项目概况,content:[周期4月-7月,团队4人,进度80%]},{type:content,title:本周成果,content:[完成知识库模块,优化对话引擎,修复12个bug]},{type:content,title:下周计划,content:[上线压力测试,完成API文档,准备验收材料]},{type:content,title:风险提示,content:[第三方短信接口延迟较高,可能影响验证码功能]}]}python-pptx 根据大纲创建 PPTfrompptximportPresentationfrompptx.utilimportInches,Ptfrompptx.dml.colorimportRGBColorfrompptx.enum.textimportPP_ALIGNfrompptx.enum.shapesimportMSO_SHAPE# 配色C_PRIMARYRGBColor(0x15,0x65,0xC0)C_DARKRGBColor(0x1F,0x29,0x37)C_GRAYRGBColor(0x6B,0x72,0x80)C_GOLDRGBColor(0xD4,0xA8,0x53)C_WHITERGBColor(0xFF,0xFF,0xFF)prsPresentation()prs.slide_widthInches(13.333)prs.slide_heightInches(7.5)forslide_datainoutline[slides]:slideprs.slides.add_slide(prs.slide_layouts[6])ifslide_data[type]title:# 封面页深蓝背景 金色装饰线bgslide.background bg.fill.solid()bg.fill.fore_color.rgbRGBColor(0x0D,0x47,0x8A)# 左侧大色块rectslide.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(0),Inches(0),Inches(5.3),Inches(7.5))rect.fill.solid()rect.fill.fore_color.rgbC_PRIMARY rect.line.fill.background()# 主标题在右侧浅色区域tbslide.shapes.add_textbox(Inches(6.2),Inches(2.4),Inches(6.5),Inches(2.5))ptb.text_frame.paragraphs[0]p.textslide_data[title]p.font.sizePt(44)p.font.boldTruep.font.color.rgbC_DARK p.alignmentPP_ALIGN.LEFTelifslide_data[type]content:# 内容页顶部 Banner 彩色要点# 顶部 Bannerrectslide.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(0),Inches(0),Inches(13.333),Inches(1.0))rect.fill.solid()rect.fill.fore_color.rgbC_PRIMARY rect.line.fill.background()# 标题白色在 Banner 上tbslide.shapes.add_textbox(Inches(0.8),Inches(0.15),Inches(11),Inches(0.75))ptb.text_frame.paragraphs[0]p.textslide_data[title]p.font.sizePt(26)p.font.boldTruep.font.color.rgbC_WHITE# 内容列表tbslide.shapes.add_textbox(Inches(0.9),Inches(1.6),Inches(11.5),Inches(5.2))tftb.text_framefori,iteminenumerate(slide_data[content]):ptf.paragraphs[0]ifi0elsetf.add_paragraph()p.alignmentPP_ALIGN.LEFT p.space_afterPt(16)# 彩色方块标记r0p.add_run()r0.text▌ r0.font.sizePt(16)r0.font.boldTruer0.font.color.rgbC_PRIMARY rp.add_run()r.textitem r.font.sizePt(18)r.font.color.rgbC_DARK prs.save(项目汇报.pptx)四、实战 2产品介绍 PPT场景输入产品信息AI 生成有吸引力的产品介绍 PPT。适合销售/市场团队快速产出介绍材料。关键代码product_info产品名称梅雅达智能客服Pro 定位面向中小企业的AI客服解决方案 核心功能7×24小时自动应答、多轮对话、知识库管理、工单流转、数据分析 目标客户电商、教育、金融行业年营收500万-5000万的企业 定价基础版9800元/年专业版29800元/年promptf请根据以下产品信息生成一份产品介绍PPT的大纲输出JSON。 内容要突出产品卖点语气专业但有吸引力。 产品信息{product_info}输出格式 {{ slides: [ {{type: title, title: ..., subtitle: ...}}, {{type: content, title: ..., content: [要点1, 要点2]}}, ... ] }}resultclient.chat_json(prompt,temperature0.5)为什么temperature0.5产品介绍需要一点营销感比纯信息提取0.1有创意但比写诗0.9要收敛。五、实战 3培训课件 PPT场景输入培训主题和受众信息AI 生成课件大纲自动创建适合授课的 PPT。关键代码topicPython数据分析入门从零开始处理Excel数据audience公司内部员工有基本Python基础没用过Pandaspromptf请根据以下信息生成一份培训课件PPT的大纲输出JSON。 内容要循序渐进适合初学者。用section类型做章节分隔。 主题{topic}目标受众{audience}输出格式 {{ slides: [ {{type: title, title: ..., subtitle: ...}}, {{type: section, title: 第一部分 ...}}, {{type: content, title: ..., content: [要点1, 要点2]}}, ... ] }}resultclient.chat_json(prompt,temperature0.5)新增section类型章节分隔页用于课程分模块。视觉效果为浅灰背景 左侧主色竖条 超大半透明编号 深色左对齐标题跟内容页的白色 Banner 风格形成鲜明对比。完整代码评论区留言领取运行方式# 安装依赖pipinstallpython-pptx# 运行python ppt_ai_generator.py预期输出截选 PPT AI 自动生成演示文稿 ✅ 已生成项目汇报.pptx5页 ✅ 已生成产品介绍.pptx6页 ✅ 已生成培训课件.pptx8页 全部完成打开 day09_code 目录查看 .pptx 文件。注意生成的.pptx文件可以用PowerPoint/WPS/Keynote打开。AI 生成的大纲可能每次略有不同temperature越低越稳定。 本篇成本透明栏项目数值API 调用次数约 3 次3个实战各1次消耗 Token约 8,000 tokens成本¥0GLM-4.5-Air 永久免费免费额度是否够✅ 够用商用估算¥0GLM/ 约¥0.02DeepSeek/ 约¥0.03Qwen生成3份PPT预估约 30 秒成本 ¥0练手改造题改造 1基础给封面页加上公司 Logo——在左上角添加一个小的品牌标识文字或图片。提示用_add_textbox添加品牌名或用slide.shapes.add_picture()插入 logo 图片。改造 2进阶给 PPT 加目录页——AI 生成大纲时自动在封面后插入一页列出所有章节标题。提示在create_ppt遍历 slides 时检查是否有section类型的页面收集标题后生成目录。改造 3挑战写一个多主题PPT生成器——用户输入主题关键词AI 先判断适合的 PPT 类型汇报/介绍/培训/方案再生成对应大纲和内容。提示先用client.chat()让 AI 输出{type: 汇报/介绍/培训, title: ...}再根据类型选择不同的 Prompt 模板和配色方案。下期预告Day 10 · 邮件 AI智能分类与自动回复Office 三件套Excel / Word / PPT / PDF都搞定了接下来换赛道——邮件处理。用 AI 自动分类收件箱生成回复草稿做个邮件摘要日报。 资源与工具文末合规集中python-pptx 官方文档https://python-pptx.readthedocs.io/python-pptx 中文教程https://python-pptx.readthedocs.io/en/stable/智谱开放平台GLM免费 API Keyhttps://open.bigmodel.cn/GLM 模型文档https://docs.bigmodel.cn/本专栏配套代码CSDN 下载区每篇更新 作者的话梅雅达编程笔记专注 Python AI 办公自动化实战教程。PPT AI 的核心思路跟前面几篇一脉相承——AI 管内容工具管格式。AI 生成大纲和文案python-pptx负责创建幻灯片和排版。这个模式熟练了做一套 10 页 PPT 也就 30 秒的事。往期回顾Day 01 · 为什么 2026 年办公自动化得“AI 化“了Day 02 · 环境搭建一套装备打天下Day 03 · Prompt 工程 5 大心法Day 04 · LLM API 横评 已被AI编程社区收录Day 05 · 让 AI 输出结构化数据告别“偶尔给你一段散文“Day 06 · Excel AI让电子表格变“聪明“Day 07 · Word AI自动生成文档Day 08 · PDF 智能提取让 AI 读懂合同、发票、简历专栏推荐「AI Python 系列」第 01 栏 · AI办公自动化连载中「AI Python 系列」第 02 栏 · AI数据可视化连载中「AI Python 系列」第 03 栏 · Python 爬虫实战连载中资源领取关注作者获取本栏完整代码和数据集原创声明本文为梅雅达编程笔记原创作品未经允许不得转载。