funstory-ai/BabelDOC

Yet Another Document Translator

BabelDOC – 支持双语输出的PDF科学论文翻译

是什么 – BabelDOC 是一个 Python 库 / CLI 工具,可将 PDF 文档(尤其是科学论文)从源语言翻译为目标语言,并生成双语 PDF(原文与译文并排或交替排列)。它使用基于 LLM 的服务(OpenAI 兼容模型,如 gpt-4o-miniglm-4-flashdeepseek-chat 等)驱动翻译,并包含丰富的 PDF 预处理选项,以保持布局、公式、表格和字体的完整性。

核心功能

  • 命令行接口babeldoc)和 Python API,支持程序化使用。
  • 主要支持 英语 → 中文;也提供基础的英语 → 英语翻译功能。
  • 双语 PDF 生成 – 原文与译文页面可并排、交替排列,或输出为独立的单语文件。
  • 细粒度 PDF 处理:页面选择、行拆分、OCR 修复方案、公式检测、表格翻译、字体覆盖、水印控制,以及对问题 PDF 的兼容性优化。
  • 术语表注入 – 可加载 CSV 术语表,强制将领域特定术语注入 LLM 提示中。
  • 离线资源包 – 单个 zip 文件可打包所需字体和模型,用于离线部署(空气隔离环境)。
  • 速率限制与并行处理 – 支持 QPS 限流和可配置的工作线程池。
  • 自部署 – 可通过 uv 或虚拟环境在本地运行,也可通过托管的 Beta 服务 Immersive Translate – BabelDOC(每月 1,000 页免费额度)使用。

典型工作流

# 安装工具(需 uv 和 Python 3.12)
uv tool install --python 3.12 BabelDOC

# 使用 OpenAI 兼容模型翻译一个或多个 PDF
babeldoc \
  --openai \
  --openai-model "gpt-4o-mini" \
  --openai-base-url "https://api.openai.com/v1" \
  --openai-api-key "YOUR_KEY" \
  --files paper.pdf

选项支持更改源语言/目标语言(--lang-in, --lang-out)、选择页面(--pages)、启用 OCR 修复、控制水印、提供术语表(--glossary-files)等。

安装方式

  • 推荐:使用 uvuv tool install --python 3.12 BabelDOC)。
  • 替代方案:克隆仓库后运行 uv run babeldoc …
  • 该包已发布在 PyPI(pip install BabelDOC 可用,但 README 建议使用 uv 以获得最佳体验)。

适用场景

  • AI 驱动翻译:翻译由 LLM 完成,而非传统机器翻译引擎。
  • 文档处理流水线:将布局分析、可选 OCR 和 LLM 提示整合为一个端到端工具。
  • 可嵌入性:可从其他 Python 程序调用,或集成到参考管理器插件中(例如通过 immersive-translate/zotero-immersivetranslateguaguastandup/zotero-pdf2zh 集成至 Zotero)。

状态与社区

  • 提供 Beta 在线服务;免费套餐每月提供 1,000 页额度。
  • 开源,MIT 风格许可(详见 LICENSE)。
  • 欢迎贡献;README 中链接了招聘页面。

有用链接


以上所有信息均直接取自仓库的 README,未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目