
如何把一整本 PDF 译成双语对照版而不弄乱版式BabelDOC 3步上手【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC手头一份 200 页的英文论文打开翻译网站一段一段复制粘贴回去时双栏排版没了公式里的 f(x) 被劈成两行表格边框和内容各走各的。重新排版的功夫比翻译本身还费时间。BabelDOC 就是冲着这件事来的你把 PDF 丢给它它还你一份原文页与译文页并排的双语对照 PDF公式、表格、字体样式都留在原来的位置上全程一条命令跑完。它不是逐字翻译而是先把文档读懂很多翻译工具的思路是把文字抠出来送去翻译结果版式信息全丢。BabelDOC 的流程更接近排版工人先解析 PDF 里的文本块、表格和图片位置再用布局模型分清哪里是标题、哪里是正文、哪里是公式把散落的行归并成段落接着认出字号、斜体、粗体这些样式。公式会先被识别出来标记位置送去翻译时占位保护回来再原样贴回去不会出现公式变乱码的情况。最后一步是重新排版译文按原文的栏宽、字体、行距重新落位生成新的 PDF。默认它会同时给你两个文件一个是双语对照版原页和译页并排在同一页一个是纯译文版。做学术论文的读者对这个对照模式会特别顺手公式编号、图表引用都跟着原文位置走不用来回翻两本书。从安装到第一份双语 PDF10 分钟先装好 uv 这个 Python 包管理工具把它当成一个更快的 pip 替代品然后一条命令装好 BabelDOCuv tool install --python 3.12 BabelDOC翻译这一步只需要一个 OpenAI 兼容接口的大模型——不一定是 OpenAI 官方国内模型或者本地 Ollama 都行只要接口格式对得上babeldoc --openai \ --openai-model gpt-4o-mini \ --openai-base-url https://api.openai.com/v1 \ --openai-api-key 你的key \ --files example.pdf跑完到输出目录看一眼应该能拿到一份双语对照 PDF 和一份纯译文 PDF。默认方向是英文译中文想换语言就加--lang-in和--lang-out支持哪些语言可以直接翻 docs/supported_languages.md从英语、简繁中文到日韩法德都有覆盖。 两个容易踩的小细节输出默认带一行水印介意的话加--watermark-output-mode no_watermark去掉默认先原页后译页想让译文在前就加--dual-translate-first。事情复杂一点就加一个参数只翻译部分页面--pages 1-5,20写法是页码和区间混排。文档太大、怕内存撑不住--max-pages-per-part 50会把它按每 50 页切成小段分别翻译跑完自动拼回一个完整的 PDF相当于手动分段这一步省掉了。术语要统一比如全文的 embedding 必须译成嵌入而不是忽而内嵌准备一个 CSV 术语表列名是source、target仓库里的 docs/example/demo_glossary.csv 可以照着抄格式然后用--glossary-files my.csv挂上去。除了手动给表它还会自动从全文抽取高频术语塞进提示词里不想要这个行为就加--no-auto-extract-glossary关掉。扫描件也能救一把它会先检测文档是不是扫描版对白底黑字的扫描件加--ocr-workaround译文会用白色色块盖住原文、强制纯黑字体效果接近 OCR 重排。 参数太多懒得敲全部参数支持写进一个 TOML 配置文件用--config xxx.toml指过去命令行就只剩--files一项了配置模板在 README 里抄一份改几个值就能长期复用。PDF 丢进去对照版拿回来版式不乱。【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考