BabelDOC PDF 翻译工具指南:英文 PDF 转中文且保留排版
2026/9/18 17:15:17 网站建设 项目流程

BabelDOC PDF 翻译工具指南:英文 PDF 转中文且保留排版

【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC

BabelDOC 是一款开源 PDF 翻译工具。它把英文 PDF 翻译成中文,保留原版式、公式与字体样式,输出单语版和双语对照版两份文件。适合要把论文、技术手册读成中文、又不想排版错乱的人。

翻译结果不打乱排版

你拿到一份 200 页的英文论文,要中文版,但版式不能乱。把文字复制到在线翻译,第一页看着还行,公式变成乱码,表格结构散了,翻到第十页就没人能读。丢给大模型 API 也一样,回来的是一串纯文本,没有任何排版。

BabelDOC 的思路是:先把 PDF 解析成结构化中间表示,找出段落和样式信息,把文本交给大模型翻译,再把译文重新排版回原来的文字区域。得到的仍是一份 PDF:页边距、分栏位置不变,公式原样保留。扫描件同理,它能检测扫描页并切换到 OCR 处理路径。

常用功能速览:双语对照与公式保留

  • 双语对照阅读:你想边读边对照原文。它默认输出左右并排的双语 PDF(文件名以.dual.pdf结尾),只要单语版就加--no-dual
  • 公式与样式保持:你希望公式和字体层级原样不动。它按字体、字符模式识别公式文本并跳过翻译,译文排版继承原字号、字重和颜色。
  • 术语统一:你希望同一术语全文译法一致。可传 CSV 术语表(source、target、tgt_lng 三列),另有内置的自动术语提取,示例见 docs/example/demo_glossary.csv。
  • 大文档分块:你担心 300 页的 PDF 撑爆内存。它可按页数切分、分块翻译后自动合并回完整文档。

五分钟安装并翻译第一份 PDF

安装命令行工具(需先装好 uv):

uv tool install --python 3.12 BabelDOC babeldoc --help

跑第一次翻译:

babeldoc --files paper.pdf --lang-in en --lang-out zh \ --openai --openai-model gpt-4o-mini \ --openai-base-url "https://api.openai.com/v1" --openai-api-key "your-api-key"
  • --files:输入的 PDF 文件,可重复传多次实现批量翻译
  • --lang-in/--lang-out:源语言与目标语言,默认 en 到 zh
  • --openai-*:任何 OpenAI 兼容 API 都行,本地 Ollama 也可以,key 随便填个占位值

结果默认和输入文件同目录:paper.zh.mono.pdf是中文版,paper.zh.dual.pdf是双语对照版,用--output可改输出目录。完整参数在 README.md。想从源码跑?克隆仓库 后进入目录,uv run babeldoc用法相同。

CLI、API 与自部署:用法选型

方式适合谁特点
命令行开发者、自动化流程参数全部暴露为命令行参数,适合批量处理,可写进脚本
Python API集成进自己的产品项目声明 API 为内部接口,推荐经由 pdf2zh next 的high_level.do_translate_async_stream调用
在线服务普通用户免安装、免配置,有免费额度,轻量使用足够
自部署企业、数据敏感场景配合开源项目 pdf2zh next 拉起 WebUI,可接更多翻译服务

🔧 进阶参数与常见问题 FAQ

进阶技巧

  • 大文档分块--max-pages-per-part 50按 50 页自动分段翻译并合并,内存占用平稳。
  • 控并发与限速--qps限制对翻译服务的请求频率(默认 4),--pool-max-workers直接设置内部任务线程数。
  • 扫描文档--ocr-workaround在译文下补白色背景盖住原文(仅适合黑字白底);--auto-enable-ocr-workaround则在检测到扫描页后自动启用。

一行示例:

babeldoc --files large.pdf --max-pages-per-part 50 --qps 10

常见问题

问:支持哪些翻译服务? 答:任意 OpenAI 兼容端点。--openai-base-url填地址、--openai-api-key填密钥,本地 Ollama 的 key 填占位字符串即可。

问:结果输出到哪里? 答:默认与输入文件同目录,--output可指定目录。生成单语版.mono.pdf和双语版.dual.pdf两个文件。

问:重复翻译会不会重复消耗 API? 答:不会。内置翻译缓存,相同文本直接复用;--ignore-cache可强制重新翻译。

问:某些 PDF 阅读器打不开输出文件? 答:加--enhance-compatibility,它会一次性开启跳过清理、译文在前、禁用富文本翻译三项兼容设置。

问:出错了怎么排查? 答:加--debug,详细日志和中间结果会导出到~/.cache/babeldoc/working

关键目录与排错速查

  • babeldoc/format/pdf/document_il/:解析、翻译、排版的中间语言流水线
  • babeldoc/translator/:翻译服务与缓存
  • babeldoc/docvision/:文档布局分析模型
  • babeldoc/pdfminer/:PDF 解析基础
  • docs/ImplementationDetails/:各阶段实现细节文档
问题原因解法
翻译速度慢文档大或网络请求多--max-pages-per-part分块 +--qps限速
公式识别错误特殊字体或编码--formular-font-pattern指定公式字体
扫描 PDF 效果差纯图片无文字层--ocr-workaround--auto-enable-ocr-workaround
输出文件打不开阅读器兼容性问题--enhance-compatibility
内存不足一次处理页数过多调小--max-pages-per-part,并用--working-dir指定工作目录

如果你主要做英文论文和手册的中文化,又在意版式保真,BabelDOC 这个 PDF 翻译工具能覆盖多数场景。全部参数见 README.md,中间语言设计见 docs/README.md。

【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询