BabelDOC:高质量 PDF 文档翻译工具(保留排版)

官方仓库:https://github.com/funstory-ai/BabelDOC
Stars:约 9.4k
开源协议:AGPL-3.0
最新版本:v0.6.4(2026 年 7 月)

BabelDOC(Yet Another Document Translator)是一款专注于PDF 科学论文 / 文档翻译的开源工具,特别强调保留原文档排版布局。它通过中间表示(Intermediate Representation)技术,把视觉布局与语义内容分离,实现高质量双语对照翻译,同时尽量保持原 PDF 的字体、段落、公式、表格等结构。

官方在线服务(Beta):Immersive Translate - BabelDOC(有免费额度)
自部署推荐配合:PDFMathTranslate-next(带 WebUI,支持更多翻译服务)


核心特点

  • 布局保留翻译:翻译后尽量还原原 PDF 的排版、字体、行距、公式位置等
  • 双语对照输出:支持并排或交替页面双语 PDF
  • 科学论文友好:对公式、表格、参考文献等处理较好
  • 多语言支持:支持英文、简体/繁体中文、日语、韩语、俄语、西班牙语、法语、德语等大量语言(详见官方支持语言列表)
  • 命令行 + Python API:既可直接使用,也可嵌入其他程序
  • 术语表(Glossary)支持:可自定义专业术语翻译
  • 自动术语提取:默认开启
  • 扫描件 / OCR 兼容:提供 OCR 变通方案
  • 离线资产包:支持生成和恢复离线资源

快速安装与使用

推荐方式:使用 uv 安装(官方推荐)

  1. 安装 uv(如果还没装):

    1
    # 参考 uv 官方安装方法
  2. 安装 BabelDOC:

    1
    uv tool install --python 3.12 BabelDOC
  3. 查看帮助:

    1
    babeldoc --help

从源码安装

1
2
3
git clone https://github.com/funstory-ai/BabelDOC
cd BabelDOC
uv run babeldoc --help

基本使用示例

使用 OpenAI 兼容接口翻译(最常用)

1
2
3
4
5
babeldoc --openai \
--openai-model "gpt-4o-mini" \
--openai-base-url "https://api.openai.com/v1" \
--openai-api-key "你的API密钥" \
--files example.pdf

多文件翻译

1
2
3
4
5
babeldoc --openai \
--openai-model "gpt-4o-mini" \
--openai-base-url "https://api.openai.com/v1" \
--openai-api-key "你的API密钥" \
--files file1.pdf --files file2.pdf

指定源语言和目标语言(默认 en → zh):

1
2
3
4
babeldoc --lang-in en --lang-out zh-CN \
--openai --openai-model "gpt-4o-mini" \
--openai-api-key "你的密钥" \
--files paper.pdf

只翻译指定页面

1
babeldoc --pages "1,3-5,10-" --files paper.pdf ...

常用高级选项

选项 说明
--lang-in / -li 源语言(默认 en)
--lang-out / -lo 目标语言(默认 zh)
--pages / -p 指定翻译页码(如 1,2,5-10
--no-dual 不输出双语 PDF
--no-mono 不输出单语翻译 PDF
--watermark-output-mode 水印模式:watermarked / no_watermark / both
--ocr-workaround 启用 OCR 变通方案(适合扫描件)
--enhance-compatibility 开启所有兼容性增强选项
--glossary-files 指定术语表 CSV 文件
--qps 翻译服务 QPS 限制(默认 4)
--working-dir 指定工作目录

完整选项列表请运行 babeldoc --help 查看。


术语表(Glossary)使用

创建 CSV 文件,包含列:

  • source:原文术语
  • target:目标语言术语
  • tgt_lng(可选):指定适用的目标语言

然后使用:

1
babeldoc --glossary-files "glossary1.csv,glossary2.csv" ...

注意事项

  • 需要配置可用的翻译服务(目前主要支持 OpenAI 兼容接口)。
  • 复杂 PDF(尤其是扫描件、复杂公式、特殊字体)可能需要调整兼容性选项。
  • 大文档建议使用 --max-pages-per-part 进行分页处理。
  • 官方在线服务和 PDFMathTranslate-next 提供更友好的 Web 界面,适合不想折腾命令行的用户。

总结:BabelDOC 是目前 GitHub 上评价很高的 PDF 布局保留翻译工具,特别适合翻译学术论文、技术文档。它不是简单的“提取文字→翻译→重新排版”,而是通过中间表示实现更精准的布局还原。