Files
ppt/ppt_manager

📊 PPT智能管理系统

PPT管理系统实现静态模板内容动态数据内容的智能合并。

核心特性

  • 📁 静态PPT管理: 固定不变的原理内容放在本地PPT模板中
  • 🔄 动态内容生成: Python脚本负责数据采集、图表生成
  • 🎯 页面映射配置: YAML配置文件定义每页是静态还是动态
  • 🖱️ 一键生成: Web界面点击按钮自动合成最终PPT
  • 📝 日志记录: 使用loguru完整记录生成过程

📁 项目结构

ppt_manager/
├── static_ppt/              # 静态PPT模板目录
│   └── macro_analysis_template.pptx    # 23页模板示例
├── config/
│   └── project_config.yaml  # 项目配置:页面映射关系
├── scripts/                  # 动态内容生成脚本
│   ├── gdp_chart.py         # GDP图表生成
│   ├── inflation_chart.py   # CPI/PPI图表
│   ├── employment_table.py  # 就业数据表
│   ├── trade_chart.py       # 进出口图表
│   └── market_analysis.py   # 市场分析图表
├── dynamic_content/          # 动态生成的图片存放
├── output/                   # 最终生成的PPT输出目录
├── logs/                     # 日志目录
├── src/
│   ├── config_loader.py      # 配置加载器
│   ├── ppt_core.py           # PPT核心操作
│   ├── dynamic_generator.py  # 动态内容生成器
│   └── ppt_generator.py      # 主合成引擎
├── templates/
│   └── index.html            # Web界面
├── app.py                     # Flask Web应用
├── main.py                    # 命令行入口
├── create_sample_template.py  # 创建示例模板脚本
└── requirements.txt           # Python依赖

🚀 快速开始

1. 安装依赖

cd ppt_manager
pip install -r requirements.txt

2. 初始化示例静态PPT模板

python create_sample_template.py

3. 运行系统

方式一Web界面推荐

python app.py

然后在浏览器打开: http://localhost:5000

方式二:命令行

python main.py macro_analysis

⚙️ 配置说明

config/project_config.yaml 中配置:

projects:
  macro_analysis:
    name: "宏观数据分析报告"
    static_ppt: "static_ppt/macro_analysis_template.pptx"
    total_slides: 23
    slide_mapping:
      1: static                      # 静态页,来自模板
      2: static
      3: static
      4: dynamic_chart_gdp           # 动态页,执行对应脚本
      5: dynamic_chart_inflation
      ...
    dynamic_generators:
      dynamic_chart_gdp: "scripts/gdp_chart.py"    # 脚本对应关系
      ...

📝 动态脚本编写规范

每个动态脚本必须包含一个 generate(output_dir) 函数,返回生成的图片路径:

def generate(output_dir):
    # 1. 采集数据API/爬虫/数据库等)
    # 2. 生成图表matplotlib/plotly等
    # 3. 返回图片完整路径
    return str(image_path)

🎯 使用场景示例

页面 类型 内容 更新频率
1-3页 static 封面、目录、分析框架 固定不变
4页 dynamic GDP趋势图 每月更新
5页 dynamic CPI/PPI通胀图 每月更新
7页 dynamic 就业数据表 每月更新
10页 dynamic 进出口贸易 每月更新
13页 dynamic A股市场分析 每周更新
其他页 static 原理、方法论 固定不变