---
name: "pptx"
description: "演示文稿设计与制作"
---

# 演示文稿设计与制作

## 适用场景
需要面向高管汇报、技术分享、投融资路演或学术会议快速制作专业且高审美演示文稿（PowerPoint `.pptx`）时，指导 AI 基于金字塔原理、统一配色、排版网格和视觉焦点引导进行内容结构化和自动化生成。

## 功能说明
> 告别千篇一律的密密麻麻大段文字，用结构化视觉叙事、高对比信息卡片、对比图表和数据看板，打造媲美顶尖咨询顾问（MBB）的高影响力演示文稿。

## 这个案例能帮你做什么
- 将散乱的业务观点重构为“结论先行、以上统下、分类清楚、逻辑递进”的金字塔幻灯片结构。
- 生成基于 `python-pptx` 的精确排版代码，支持自动计算卡片坐标、阴影、圆角与图标容器。
- 自动生成 4 类高频页面：执行摘要（Executive Summary）、架构全景（Architecture Blueprint）、多维对比（Comparison Matrix）、里程碑路线图（Milestone Roadmap）。
- 保证 16:9 现代宽屏标准，字体与色板全局一致，绝无元素重叠与文字溢出。

## 你需要的 Skills（按类型）

| 类型 | Skill / 工具 | 用途 | 来源 |
|---|---|---|---|
| 核心工具 | `python-pptx` | 精确坐标与图形对象注入 | Python Package |
| 设计辅助 | `matplotlib` / `svg2png` | 高清矢量图标与图表生成 | Python Package |
| 内置 | `filesystem` | 读取素材与输出 `.pptx` | Built-in |

## 快速体验版（先跑一轮）

```text
你是我的麦肯锡级演示文稿架构师。
我需要做一份关于“AI Agent 本地化部署与业务提效”的 5 页高管汇报 Deck：
第 1 页：封面（大标题、极简深色背景、作者与日期）
第 2 页：现状与核心痛点（3 栏卡片：数据孤岛、云端成本失控、响应延迟）
第 3 页：解决方案与架构总览（左右分栏：左侧 3 大核心支柱，右侧端到端流程）
第 4 页：业务量化收益（3 个大型 KPI 关键数字指标：ROI 提升 320%、延迟下降 80%、安全零违规）
第 5 页：落地路线图（3 阶段：概念验证 -> 灰度试点 -> 全面推广）
请提供具体的文案框架与基于 python-pptx 的核心生成代码。
```

## 稳定自动版（可长期运行）

### 1) 自动化 Python 生成脚本 (`build_deck.py`)

```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.enum.shapes import MSO_SHAPE

def create_executive_deck(output_file):
    prs = Presentation()
    # 强制设置为 16:9 比例 (13.333 x 7.5 英寸)
    prs.slide_width = Inches(13.333)
    prs.slide_height = Inches(7.5)
    blank_layout = prs.slide_layouts[6]
    
    # 品牌配色
    C_DARK = RGBColor(0x0F, 0x17, 0x2A)       # 沉稳深蓝灰
    C_ACCENT = RGBColor(0x25, 0x63, 0xEB)     # 科技亮蓝
    C_MUTED = RGBColor(0x64, 0x74, 0x8B)      # 辅助灰
    C_CARD_BG = RGBColor(0xF8, 0xFA, 0xFC)    # 卡片浅底
    C_WHITE = RGBColor(0xFF, 0xFF, 0xFF)
    
    # Slide 1: 封面
    slide1 = prs.slides.add_slide(blank_layout)
    bg1 = slide1.shapes.add_shape(MSO_SHAPE.RECTANGLE, 0, 0, Inches(13.333), Inches(7.5))
    bg1.fill.solid()
    bg1.fill.fore_color.rgb = C_DARK
    bg1.line.color.rgb = C_DARK
    
    tb1 = slide1.shapes.add_textbox(Inches(1.5), Inches(2.5), Inches(10.3), Inches(2.5))
    tf1 = tb1.text_frame
    tf1.word_wrap = True
    p1 = tf1.paragraphs[0]
    p1.text = "新一代自主智能体生态架构"
    p1.font.size = Pt(40)
    p1.font.bold = True
    p1.font.color.rgb = C_WHITE
    
    p2 = tf1.add_paragraph()
    p2.text = "企业智能化转型技术战略与实施路线图 (2026)"
    p2.font.size = Pt(20)
    p2.font.color.rgb = RGBColor(0x94, 0xA3, 0xB8)
    p2.space_before = Pt(16)
    
    # Slide 2: 三栏卡片对比页 (3-Column Framework)
    slide2 = prs.slides.add_slide(blank_layout)
    # 标题栏
    tb2 = slide2.shapes.add_textbox(Inches(1.0), Inches(0.8), Inches(11.3), Inches(1.2))
    tf2 = tb2.text_frame
    p_h = tf2.paragraphs[0]
    p_h.text = "核心业务支柱与战略解耦"
    p_h.font.size = Pt(28)
    p_h.font.bold = True
    p_h.font.color.rgb = C_DARK
    
    # 绘制 3 个并列卡片
    cards = [
        ("01. 自主调度", "多 Agent 任务协同", "实现高并发子代理拆解，降低 75% 的复杂任务等待时间。"),
        ("02. 安全沙箱", "边界防御与密钥保护", "全流程本地离线调用与凭据隔离，杜绝外部提示词外溢风险。"),
        ("03. 敏捷迭代", "热更新与技能市场", "支持即插即用式 SKILL 挂载，业务逻辑无需重启主进程。")
    ]
    card_width = Inches(3.5)
    card_height = Inches(4.2)
    start_x = Inches(1.0)
    spacing = Inches(0.41)
    
    for i, (tag, c_title, desc) in enumerate(cards):
        x = start_x + i * (card_width + spacing)
        card_box = slide2.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE, x, Inches(2.2), card_width, card_height)
        card_box.fill.solid()
        card_box.fill.fore_color.rgb = C_CARD_BG
        card_box.line.color.rgb = RGBColor(0xE2, 0xE8, 0xF0)
        
        c_text = slide2.shapes.add_textbox(x + Inches(0.3), Inches(2.5), card_width - Inches(0.6), card_height - Inches(0.8))
        ctf = c_text.text_frame
        ctf.word_wrap = True
        
        ptag = ctf.paragraphs[0]
        ptag.text = tag
        ptag.font.size = Pt(14)
        ptag.font.bold = True
        ptag.font.color.rgb = C_ACCENT
        
        ptitle = ctf.add_paragraph()
        ptitle.text = c_title
        ptitle.font.size = Pt(18)
        ptitle.font.bold = True
        ptitle.font.color.rgb = C_DARK
        ptitle.space_before = Pt(8)
        
        pdesc = ctf.add_paragraph()
        pdesc.text = desc
        pdesc.font.size = Pt(13)
        pdesc.font.color.rgb = C_MUTED
        pdesc.space_before = Pt(12)
        
    prs.save(output_file)

if __name__ == '__main__':
    create_executive_deck("Executive_Deck_Demo.pptx")
```

## 风险与边界
- 严禁在一张幻灯片上堆积超过 50 个汉字的连续纯文本块。
- 形状与文本框必须成组（Group）对齐，确保不同屏幕与投影仪下元素不跑位。
- 尽量避免 PPT 默认渐变和夸张阴影，坚持极简 Flat Design 或 Bento Box（便当盒网格）风格。

## 使用建议
- 采用“单页单论点”（One Slide, One Takeaway）原则，Action Title（动作标题）直接陈述该页结论。
- 关键数据使用大字号加粗突出（Stat Callout），数字字号建议 44pt+。

## 成功标准
- 输出 PPT 呈现标准 16:9 现代版式。
- 具备工业级呼吸感排版（留白率 30% 以上）。
- 支持一键导出为 PDF 且无格式错位。

## 源文件
来源：awesome-openclaw-zh  
原始文件：pptx.md
