🎯 PPT Translator
保持排版翻译 PPT,支持任意语言对。
核心原理
Agent Loop(渲染验证):
- 提取 PPT 文字 + 样式
- LLM 翻译(保证准确)
- 写回 PPT(python-pptx)
- LibreOffice 渲染成真实 PNG
- Vision 模型检测文字溢出
- 有溢出 → 缩字号 15% → 回步骤 3
- 通过 → 输出最终 PPTX
依赖
python-pptx(pip)libreoffice(yum/apt)
使用方法
python3 scripts/translate.py \
--input /path/to/file.pptx \
--output /path/to/output.pptx \
--translations '{"原文": "translation", ...}' \
--max-iter 5
Agent 调用流程
- 用户发送 PPTX 文件
- Agent 提取所有文字 → 翻译(自己翻译或调用 LLM)
- 调用
scripts/translate.py执行渲染验证循环 - 循环完成后将输出 PPTX 发回用户
输出
- 最终 PPTX 文件(可编辑)
- 渲染验证 PNG(可选,用于确认)
- 迭代日志(几轮收敛、最终字号缩放比)
注意事项
- LibreOffice 首次启动较慢(~5s),之后正常
- 字号缩放是全局的(所有 shape 等比缩),未来可优化为 per-shape
- 不支持 .ppt(老格式),仅支持 .pptx