本文翻译整理自:https://github.com/funstory-ai/BabelDOC
文章目录
一、关于 BabelDOC
BabelDOC 是一个专注于科研论文 PDF 翻译与双语对照的开源工具库,提供命令行接口和 Python API。
相关链接资源
- github : https://github.com/funstory-ai/BabelDOC
- 官网:https://app.immersivetranslate.com/babel-doc/
- 官方文档:https://github.com/funstory-ai/BabelDOC#readme
- Demo/在线试用:https://app.immersivetranslate.com/babel-doc/
- Telegram : https://t.me/+Z9_SgnxmsmA5NzBl
- 招聘:https://github.com/funstory-ai/jobs/blob/main/README_ZH.md
关键功能特性
- 支持 PDF 科研论文的精准翻译与双语对照
- 提供在线服务(每月 1000 页免费额度)
- 支持自部署方案(通过 PDFMathTranslate)
- 提供命令行工具和 Python API
- 支持多页处理与分块翻译
- 丰富的 PDF 处理选项与兼容性增强功能
- 离线资源包管理功能
二、安装
系统要求
- Python 3.12+
- 推荐使用 uv 工具管理环境
通过 PyPI 安装
uv tool install --python 3.12 BabelDOC
babeldoc --help
从源码安装
git clone https://github.com/funstory-ai/BabelDOC
cd BabelDOC
uv run babeldoc --help
三、使用指南
1、基本翻译命令
babeldoc --files example.pdf --openai --openai-model "gpt-4o-mini" --openai-base-url "https://api.openai.com/v1" --openai-api-key "your-api-key-here"
2、语言选项
--lang-in
/-li
: 源语言代码(默认: en)--lang-out
/-lo
: 目标语言代码(默认: zh)
[!TIP]
当前主要支持英译中场景,其他语言组合仍在测试中
3、PDF 处理选项
--files
: 指定一个或多个 PDF 文件路径--pages
: 指定翻译页数范围(如 “1,2,1-,-3,3-5”)--split-short-lines
: 强制拆分短行(可能影响排版)--skip-clean
: 跳过 PDF 清理步骤--dual-translate-first
: 双语 PDF 中将翻译页置于前面--max-pages-per-part
: 分块翻译的每块最大页数
4、翻译服务选项
--qps
: 翻译服务的 QPS 限制(默认: 4)--ignore-cache
: 忽略翻译缓存强制重译--openai
: 使用 OpenAI 进行翻译--openai-model
: 指定 OpenAI 模型(默认: gpt-4o-mini)--openai-base-url
: OpenAI API 基础 URL--openai-api-key
: OpenAI API 密钥
5、输出控制
--output
/-o
: 指定输出目录--debug
/-d
: 启用调试日志级别--report-interval
: 进度报告间隔(秒,默认: 0.1)
6、离线资源管理
# 生成离线资源包
babeldoc --generate-offline-assets /path/to/output/dir
# 恢复离线资源包
babeldoc --restore-offline-assets /path/to/offline_assets_*.zip
四、Python API
import babeldoc.high_level
babeldoc.high_level.init()
# 离线资源包管理
from pathlib import Path
import babeldoc.assets.assets
babeldoc.assets.assets.generate_offline_assets_package(Path("/path/to/output/dir"))
babeldoc.assets.assets.restore_offline_assets_package(Path("/path/to/offline_assets_package.zip"))
五、背景与路线图
技术背景
BabelDOC 采用两阶段处理流程:
1、解析阶段:获取 PDF 文本块、图像、表格等结构
2、渲染阶段:将结构渲染为新 PDF 或其他格式
发展路线
- 添加行支持
- 添加表格支持
- 添加跨页/跨栏段落支持
- 更高级的排版功能
- 大纲支持
六、已知问题
1、作者和参考文献部分的解析错误
2、不支持行级处理
3、不支持首字下沉
4、大尺寸页面会被跳过
感谢
伊织 xAI 2025-04-17(三)