把英文论文变成中英对照 PDF:BabelDOC 免费快速上手指南
【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC
BabelDOC 是一个开源的 PDF 翻译工具:输入一份英文 PDF,它会重排一次版,输出原文和译文并列的中英对照双语 PDF,公式和原始排版尽量保留。如果你的工作流里经常要批量读论文,读完这篇能从零装好并跑通你的第一份对照文档。
问题:为什么一翻译,排版就崩
导师丢来一份 40 页的英文论文,两周后交综述,这是最常见的翻车现场。网页翻译插件逐段翻,公式和上下标碎掉一大片。整页截图走 OCR,双栏论文的阅读顺序经常读反,参考文献被糊成一坨。先转 Word 再翻译,版面直接崩掉,图表位置全飘。
根因是 PDF 本身是"印出来"的格式,逐字改文字必然破坏版面。BabelDOC 的管线一句话讲完:先把 PDF 解析成段落、公式、表格的中间表示,让大模型只翻译纯文本部分,公式符号原样保留,最后按原文字体和字号重排成对照页面。
快速上手:一条命令安装,五分钟出首份对照
用 uv 管理 Python 3.12 环境,这条命令装完后你会多出一个全局的babeldoc命令,可以先跑babeldoc --help确认参数列表:
uv tool install --python 3.12 BabelDOC准备一个 OpenAI 兼容的 API key(官方接口、DeepSeek、Ollama 本地模型都行),跑下面这条最短命令,文件路径建议写绝对路径;首次运行会自动下载字体和版面分析模型,断网机器可提前用--warmup拉取:
babeldoc --openai --openai-model "gpt-4o-mini" \ --openai-base-url "https://api.openai.com/v1" \ --openai-api-key "你的key" \ --files /path/to/paper.pdf跑完后,在当前目录(或--output指定的目录)会拿到两份文件:双语 PDF,原页与译页左右并排,这就是你要的中英对照版本;单语 PDF,纯译文,适合只读译文不想分屏的场景。译文版默认带水印,不需要的话加--watermark-output-mode no_watermark。
参数速查:日常要记住的 8 个参数
完整列表跑babeldoc --help查,官方注明 CLI 主要用于调试,下表是高频的那几个:
| 参数 | 作用 | 何时用 |
|---|---|---|
--pages "1,3,5-8" | 只翻译指定页 | 先试读前几页,控制费用 |
--files a.pdf --files b.pdf | 可重复传参,批量处理多个 PDF | 一次翻多篇论文 |
--lang-in/--lang-out | 源/目标语言,默认 en → zh | 英文→中文以外的语言对 |
--no-dual/--no-mono | 只输出两类文档中的一类 | 只要译文,省一半生成时间 |
--max-pages-per-part | 长文档按页拆分分批翻译再自动合并 | 几百页的文档防中途挂掉 |
--glossary-files terms.csv | 术语表,CSV 三列 source、target、tgt_lng | 专有名词译法要统一 |
--qps | 限制每秒请求数,默认 4 | API 额度紧时调低 |
--output | 输出目录,默认当前目录 | 想集中存放结果 |
📌 最容易被低估的是术语表:文本里命中术语时,对应词条会被强制塞进给模型的提示词,专名译法一下就稳定了;示例文件在 docs/example/demo_glossary.csv。
排错:5 个常见故障怎么修
- 译文盖在扫描底图上,文字互相叠字。原因:扫描件检测有漏检,译文直接叠在原扫描文字上。解法:加
--ocr-workaround,它会在译文下垫白色底块并强制文字为黑色,仅适合白底黑字的扫描文档。 - 输出 PDF 在某些阅读器打不开或偏色。原因:部分阅读器对输出格式兼容性差。解法:加
--enhance-compatibility,等价于--skip-clean --dual-translate-first --disable-rich-text-translate的组合;注意代价是--skip-clean会让文件体积变大。 - 长文档中途失败,担心重跑再烧一遍 API。原因:翻译默认带缓存,已翻完的段落重跑时直接读缓存。解法:原命令重跑即可,别顺手带
--ignore-cache,那是强制重翻用的。 - 想用 Ollama 这类本地模型,但没有 API key。原因:工具只要求接口 OpenAI 兼容,对 key 本身无要求。解法:
--openai-base-url指向本地服务地址,key 填任意值即可,例如--openai-api-key a。 - 作者区和参考文献被并成一段。原因:官方 Known Issues 里承认的问题——这两区解析有错,翻译后会合并成一段;同类未支持项还有横线和首字下沉。解法:没有参数能修,带可复现的 PDF 去报 issue,或先容忍这个瑕疵。
适合谁 / 往哪走
它的主场是英文→中文:论文精读、批量文献处理、要存档或打印的 PDF 中英对照场景。⚠️ 官方明确其他语言对"尚未充分测试",重要文档先用--pages抽几页验证再全量跑。需要 Web 界面或更多翻译服务(传统引擎如 Bing/Google 未做优化,只支持 OpenAI 兼容的 LLM),可以看社区的自部署项目 PDFMathTranslate-next。
想深挖时:分阶段的实现说明在 docs/ImplementationDetails/,解析、找段落、样式与公式、排版各有专篇;解析加排版的管线源码在 babeldoc/format/pdf/document_il/;支持的语言清单见 docs/supported_languages.md。实验室没有外网的话,先在有网机器上用--generate-offline-assets打一份离线资产包再分发,目标机器用--restore-offline-assets恢复。
一句话收尾
成本是一条安装命令加一个 API key,跑一次 gpt-4o-mini 的 token 费用,拿到的是一份可以存档、打印的中英对照 PDF。
【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考