乐于分享
好东西不私藏

我用 AI 写了一个文档翻译 Skill,PPT/Word/PDF 中英互译再也不丢排版了

我用 AI 写了一个文档翻译 Skill,PPT/Word/PDF 中英互译再也不丢排版了

一个真实的痛点

上个月,同事发来一个 60 页的产品选型 PPT,全中文,需要出英文版给海外客户。

手动翻译的噩梦:

  • 60 页,每页 5-10 个文本块,逐个复制粘贴翻译
  • 翻译完发现文本框被撑爆了、字体丢了、颜色变了、合并单元格错位了
  • 更绝望的是 PPT 里还嵌了 Excel 表格(OLE 对象),根本没法直接翻译

最后用 AI 辅助 + 手工调整,整整折腾了两个小时。做完之后我就想:这个流程绝对可以被自动化。


于是有了这个 Skill

Document Bilingual Converter[1] 是一个通用的 AI Skill,专门解决文档中英双语翻译问题。支持 PPT、Word、PDF 三种格式,翻译的同时完整保留原始排版。

核心原理很简单:

用户提供文档    ↓Skill 提取所有文本(提取→AI翻译→应用)    ↓排版引擎保证格式不变(位置/字体/颜色/大小不动)    ↓OLE 处理器处理内嵌对象(嵌入的Excel表格也翻译)    ↓用户拿到翻译好的文档,直接使用

它到底能干什么

PPT 翻译

这是最复杂的场景,也是 Skill 最擅长的:

  • Run 级别翻译 — 不是整段替换,而是精确到每个文本 Run。一个文本框里 "型号: WD477" 带加粗格式,翻译后变成 "Model: WD477",加粗不变
  • 形状完全不碰 — 文本框的位置、大小、旋转角度全部保留
  • 内嵌 Excel 表格 — PPT 里嵌入的 Excel(OLE 对象)也会被提取→翻译→重新嵌入,连 EMF 预览图一起更新
  • 图表数据 — 图表背后的数据表也会被翻译

Word 翻译

  • 正文、页眉页脚、表格全部覆盖
  • 样式(标题、正文、引用)完整保留
  • 合并单元格、嵌套表格结构不变

PDF 翻译

  • 基于坐标的文本替换
  • PyMuPDF 引擎,保持文本位置
  • 适合排版不复杂的文档

三种翻译方式,灵活切换

方式
适用场景
优势
AI 驱动
(推荐)
直接用 AI 助手翻译
AI 理解上下文,保留品牌名、型号、术语
CLI API 模式
批量处理
设置环境变量调用 API,自动化工作流
手动 JSON
需要完全控制
提供 {原文: 译文} 字典,逐条指定

一行命令搞定

# 1. 安装依赖(一次性)pip install python-pptx python-docx openpyxl olefile# 2. 中文 → 英文python doc_converter.py input.pptx --source zh --target en --font "Times New Roman"# 3. 英文 → 中文python doc_converter.py input.pptx --source en --target zh --font "微软雅黑"# 4. 仅提取文本(用于审阅检查)python doc_converter.py input.pptx --extract-only --source zh > texts.json

作为 AI Skill 使用

这才是它最强大的打开方式。把 Skill 安装到你的 AI 助手里,用自然语言直接对话:

OpenClaw:

cp SKILL.md ~/.openclaw/workspace/skills/doc-bilingual-converter/

Claude Code / Trae IDE:

cp SKILL.md <project>/.claude/skills/doc-bilingual-converter/

Codex CLI:

cp SKILL.md ~/.codex/skills/doc-bilingual-converter/

安装后对话即可:

"帮我翻译这个 PPT 成英文,保留所有排版"

"translate this document to Chinese, keep the layout intact"

AI 会自动激活 Skill,提取文本、智能翻译、应用回文档、修复排版——全程你只需要看着。


AI 工作流全景

用户:"把这个PPT翻译成英文,保留所有排版"  │  ├─ Step 1: 提取所有文本  │   converter.extract_texts(source_lang="zh")  │   → 返回所有需要翻译的文本列表  │  ├─ Step 2: AI 智能翻译  │   对每段文本:理解上下文,保留型号/品牌/技术术语  │   → 构建 {原文: 译文} 字典  │  ├─ Step 3: 应用翻译  │   converter.apply_translations(translations)  │   → 精确到 Run 级别替换,格式不丢  │  ├─ Step 4: 修复排版  │   converter.fix_layout()  │   → 文本框自适应内容,启用自动换行  │  ├─ Step 5: 应用字体  │   converter.apply_font("Times New Roman", target_lang="en")  │   → 英文用 Times New Roman,中文保持微软雅黑  │  ├─ Step 6: 处理内嵌表格  │   converter.process_ole_tables(translations, font_name="Times New Roman")  │   → 嵌入的 Excel 也翻译了  │  └─ Step 7: 保存 + 验证      converter.save("output_EN.pptx")      converter.verify(source_lang="zh")      → 扫描残留中文,确保翻译完整

整个过程自动化,你只需要确认翻译质量。


排版保留到什么程度

元素
处理方式
形状位置和大小
完全不改变
字体和字号
保留原始(可选应用目标语言字体)
加粗 / 斜体 / 颜色
Run 级别精确保留
文本对齐
完整保留
表格和合并单元格
结构保留,内容翻译
嵌入的 Excel(OLE)
提取 → 翻译 → 重新嵌入

真实场景:产品选型 PPT 中翻英

以一份产品选型指南为例:

  • 60 页 PPT,含数百个文本块
  • 多张内嵌 Excel 规格表
  • 图表数据需同步翻译

传统方式:2 小时以上,反复调整排版。使用 Skill:约 10 分钟,一步到位。排版自动修复。

这不是"省时间"的问题,是让原本需要专门找设计同事帮忙的事情,变成你自己就能随时搞定。


开源 & 通用

  • 项目地址:github.com/CDragon123-code/doc-bilingual-converter[2]
  • 许可证:MIT,完全自由使用
  • 环境:Python >= 3.10,纯开源依赖
  • 平台:OpenClaw / Claude Code / Codex CLI / Trae IDE 通用

如果你也经常被文档翻译和排版调整折磨,试试这个 Skill。一行 pip install,一行 python doc_converter.py,把时间还给真正重要的事。


参考资料

  • Document Bilingual Converter — GitHub 项目[3]
  • OpenClaw — AI Agent 平台[4]
  • python-pptx 官方文档[5]

引用链接

[1]Document Bilingual Converter: https://github.com/CDragon123-code/doc-bilingual-converter

[2]github.com/CDragon123-code/doc-bilingual-converter: https://github.com/CDragon123-code/doc-bilingual-converter

[3]Document Bilingual Converter — GitHub 项目: https://github.com/CDragon123-code/doc-bilingual-converter

[4]OpenClaw — AI Agent 平台: https://github.com/openclaw/openclaw

[5]python-pptx 官方文档: https://python-pptx.readthedocs.io/