AIPPT生成器Pro v2.0 — 零依赖改造版
> 改造核心:matplotlib/cairosvg可选化,增加降级路径
> 版本:v2.0
依赖分层声明(改造后)
| 依赖 | 级别 | 缺失效果 | 备注 |
|---|---|---|---|
| python-pptx | 核心 | ❌ 无法生成PPTX | Coze环境已预装 |
| matplotlib | 可选 | 图表页降级为表格+文字 | 非必需 |
| cairosvg | 可选 | 跳过SVG→PNG预览 | 非必需 |
降级策略
图表页处理
def render_chart_slide(slide, chart_data, chart_type):
"""图表页渲染(带降级)"""
try:
import matplotlib
import matplotlib.pyplot as plt
# matplotlib 生成图表图片 → 插入PPT
fig, ax = plt.subplots()
# ... 绘图逻辑
img_path = "/tmp/chart.png"
plt.savefig(img_path)
slide.shapes.add_picture(img_path, ...)
plt.close()
except ImportError:
# 降级:表格+文字描述
table = slide.shapes.add_table(rows, cols, left, top, width, height).table
for i, row_data in enumerate(chart_data):
for j, val in enumerate(row_data):
table.cell(i, j).text = str(val)
# 添加文字说明
txBox = slide.shapes.add_textbox(left, top, width, height)
txBox.text_frame.text = f"[{chart_type}图表数据,已以表格形式展示]"
主题系统内置
5套主题配色方案内置于references/theme_gallery.md,无需外部模板库:
- tech-dark:深色科技风
- business-light:商务简约风
- academic:学术严谨风
- creative:创意活泼风
- minimal:极简风
交互优化
用户:帮我做一个介绍AI发展趋势的PPT,10页,科技感
→ 直接生成10页PPTX,深色科技风
→ 提示:如需调整风格,可指定"商务风""学术风""创意风"
改造前后对比
| 维度 | 改造前 | 改造后 |
|---|---|---|
| matplotlib | 必需 | 可选(降级表格) |
| cairosvg | 必需 | 可选(跳过预览) |
| 主题模板 | 外部库 | 内置5套 |
| 首次体验 | 需确认多参数 | 一步生成 |