funstory-ai/BabelDOC
Yet Another Document Translator
BabelDOC – 支持双语输出的PDF科学论文翻译
是什么 – BabelDOC 是一个 Python 库 / CLI 工具,可将 PDF 文档(尤其是科学论文)从源语言翻译为目标语言,并生成双语 PDF(原文与译文并排或交替排列)。它使用基于 LLM 的服务(OpenAI 兼容模型,如 gpt-4o-mini、glm-4-flash、deepseek-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)等。
安装方式
- 推荐:使用 uv(
uv tool install --python 3.12 BabelDOC)。 - 替代方案:克隆仓库后运行
uv run babeldoc …。 - 该包已发布在 PyPI(
pip install BabelDOC可用,但 README 建议使用 uv 以获得最佳体验)。
适用场景
- AI 驱动翻译:翻译由 LLM 完成,而非传统机器翻译引擎。
- 文档处理流水线:将布局分析、可选 OCR 和 LLM 提示整合为一个端到端工具。
- 可嵌入性:可从其他 Python 程序调用,或集成到参考管理器插件中(例如通过
immersive-translate/zotero-immersivetranslate或guaguastandup/zotero-pdf2zh集成至 Zotero)。
状态与社区
- 提供 Beta 在线服务;免费套餐每月提供 1,000 页额度。
- 开源,MIT 风格许可(详见
LICENSE)。 - 欢迎贡献;README 中链接了招聘页面。
有用链接
- 在线演示:https://app.immersivetranslate.com/babel-doc/
- 自托管后端:https://github.com/PDFMathTranslate-next/PDFMathTranslate-next
- 文档:https://funstory-ai.github.io/BabelDOC/supported_languages/
- Telegram 社区:标题栏中的徽章。
以上所有信息均直接取自仓库的 README,未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目