BabelDOC PDF 翻译实战:3 步把英文论文变成中英双语版
【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC
BabelDOC 是一个开源的 PDF 翻译库,能按原始版式把英文 PDF 翻译成中英双语 PDF,公式、表格和图片位置基本保持不变。如果你经常读英文论文,又希望译文和原文左右对照着看,下面几步就能跑通你的第一份翻译结果。
安装 BabelDOC 的 2 步方法
安装只需要两件事:先装uv(一个 Python 包管理工具),再用它装 BabelDOC。
- 按
uv官方文档安装它,并把uv加入PATH。 - 执行下面的命令安装 BabelDOC(要求 Python 3.12):
uv tool install --python 3.12 BabelDOC- 运行
babeldoc --help,能看到选项列表就说明安装成功。
不想装环境也可以直接从源码跑:uv run babeldoc --help,效果一样,详见 README.md 的 Install from Source 一节。
一条命令翻译你的第一份 PDF
命令行入口定义在 babeldoc/main.py,所有选项都通过参数传递。翻译一份 PDF 需要四样东西:翻译服务开关、模型、服务地址、你的文件。
准备一个英文 PDF 文件,以及一个 OpenAI 兼容 API 的
base-url和api-key(本地 Ollama 之类的模型,api-key随便填一个值即可)。在 PDF 所在目录运行:
babeldoc --openai --openai-model "gpt-4o-mini" --openai-base-url "你的API地址" --openai-api-key "你的key" --files paper.pdf等终端进度走完。过程中它会自动做版面分析、段落识别、术语抽取和重排版,第一次运行还会下载字体等资产,稍慢属正常。
文件较大时建议用绝对路径,多份文件可以重复传--files。
验证结果:输出里的双语 PDF 长什么样
默认情况下,BabelDOC 会同时产出两种 PDF:
- 双语版(dual):左右两栏,原文和译文并排,适合对照阅读
- 纯译文版(mono):只保留译文,版式接近原书
打开双语版检查三处即可确认质量:标题和正文是否对齐原栏目、公式是否保持原样、图表下方说明文字是否跟着移动。如果不想要其中一种输出,加--no-dual或--no-mono。项目目前主打英文转中文,其他语言组合的支持情况见 docs/supported_languages.md。
翻译后 3 个常见需求的最快做法
只翻译指定页
用--pages传页码表达式,支持逗号分隔和区间,比如--pages "1,2,1-"表示第 1 页、第 2 页和倒数第 1 页之后。配合--only-include-translated-page,输出里就只包含你指定的那些页。
大文件拆分翻译
几百页的文档可以加--max-pages-per-part 50,BabelDOC 会按页数自动拆分翻译,完成后再合并回一个文件,中途某部分失败也更好重试。
强制统一术语译法
翻译默认会自动抽取术语表;如果你有固定译法,准备一个 CSV(source、target两列,格式参考 docs/example/demo_glossary.csv),用--glossary-files 术语表.csv传入。命中术语的那一段,翻译提示里会带上这个词表,让模型按你的译法输出。
换翻译后端和离线环境部署
后端方面,BabelDOC 只接 OpenAI 兼容接口,所以换模型或换服务商只需要改--openai-base-url和--openai-api-key,不需要动代码;本地模型也是同理。
完全离线或内网机器可以用资产包:在有网的机器上执行babeldoc --generate-offline-assets 输出目录生成 zip,再在目标机器上用--restore-offline-assets 包文件恢复,字体和模型都齐全,结果与在线环境一致。
更多参数(水印、扫描件处理、公式识别模式等)按主题分组列在 README.md 的 Advanced Options 里,也可以用--config加载一个 TOML 配置文件代替长命令行。
到这里你已经能独立完成从安装到出图的全流程。想深入看版面分析和重排版的实现,可以从babeldoc/format/pdf/document_il/目录读起;需要源码时执行git clone https://gitcode.com/GitHub_Trending/ba/BabelDOC即可。
【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考