FEATURED · 精选文章

把 PDF 翻译成另一种语言还不乱版?试试 BabelDOC

发布时间 / 2026/9/18 18:45:42
来源 / 创域科博编辑部
栏目 / 资讯中心
把 PDF 翻译成另一种语言还不乱版?试试 BabelDOC 把 PDF 翻译成另一种语言还不乱版试试 BabelDOC【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC把一份两百页的英文 PDF 交给传统翻译工具常见结果是文字能翻但多栏排版塌成一栏、公式被当普通文本改写、参考文献缩进全丢。BabelDOC 是为此而生的一款开源 PDF 翻译工具面向研究论文、技术手册等版式复杂的文档核心思路是先还原结构、再翻译、再按原结构重排而不是逐行硬翻。它同时提供命令行、Python API 和在线服务三种入口支持 100 多种语言其中英译中的链路测试得最充分。三步跑通第一次翻译推荐用 uv 安装一条命令装好uv tool install --python 3.12 BabelDOC babeldoc --help想从源码跑也没问题git clone https://gitcode.com/GitHub_Trending/ba/BabelDOC cd BabelDOC uv run babeldoc --help翻译服务默认走 OpenAI 兼容接口把模型、地址和密钥三项配上即可。最简调用babeldoc --files paper.pdf --openai \ --openai-model gpt-4o-mini \ --openai-base-url https://api.openai.com/v1 \ --openai-api-key sk-xxxx几个高频参数记一下就够了参数作用--lang-in/--lang-out源语言 / 目标语言默认 en → zh--pages只翻指定页写法如1,3,5-10--output输出目录默认当前目录跑完后你会拿到两份 PDF原文与译文并排的双语对照版以及一份纯译文单语版翻译过程还有持续的进度日志。格式为什么能保住BabelDOC 的中间过程分三步先把 PDF 解析成一套内部中间表示提取文字块、字体、字号、颜色、对齐这些样式信息翻译只替换文字内容结构数据原样保留最后由排版引擎把内容写回新 PDF。解析与重排之间的结构不经过纯文本形态所以栏位、缩进、图表位置基本不会串行。段落识别是第二道关键工序。原文里跨栏、跨页被切断的连续段落会被重新拼成一个翻译单元译文再按版心宽度重新折行——这也是它读论文时段落不像被机器截成碎块的原因。公式则靠字体特征和字符模式单独圈出来进入翻译前用占位符替换译完再原样放回f(x)3x1这类表达式不会出现在译文里变成乱码。术语库怎么配、大文件怎么切并发与速度。两个参数控制翻译吞吐--qps限制对翻译接口的每秒请求数默认 4--pool-max-workers指定内部线程池的并发数。比如babeldoc --files doc.pdf --qps 10 --pool-max-workers 8 ...接口限流严就调小 qps本地模型不限速可以适当调大。术语一致性。术语库是 CSV 文件三列原文术语、目标译文、可选的目标语言代码可参考 示例术语表source,target,tgt_lng API,应用程序编程接口,zh-CN microservice,微服务,zh-CN用--glossary-files glossary.csv挂上即可翻译每一段时系统会检查该段命中了哪些术语命中就把对应词条写进大模型的提示词要求它照表翻译同一术语全文就不会出现两种译法。另外内置的自动术语抽取默认开启会先扫一遍文档挑出高频专业词优先保证这些词的处理。扫描件与大文件。扫描件分两种应对--ocr-workaround手动开启 OCR 兜底假设白底黑字会在原文下垫白块再排译文--auto-enable-ocr-workaround则让系统检测若判定扫描件占比过半就自动接管。超过百页的文档建议用--max-pages-per-part 50切成小块逐段翻译、结束后自动合并配合--working-dir /tmp/babeldoc指定临时目录可明显缓解内存压力。核心模块三个目录看懂流水线PDF 解析层pdfminer 负责从 PDF 二进制里读出字符、坐标、字体等原始信息中间层document_il/midend 完成版面分析、段落合并、样式与公式处理翻译结果缓存在 translator渲染层pdf_creater 把翻译后的中间表示重新组装成最终 PDF。参与贡献与后续路线项目目前以维护者主导模式开发欢迎 bug 报告最好附上可复现的 PDF、文档勘误和小幅兼容性修复涉及解析、渲染、翻译逻辑的改动建议先开 issue 讨论再提 PR。路线图上的下一站包括表格支持、跨页跨栏段落、文档大纲生成以及更复杂的排版能力1.0 版本的目标是把《PDF Reference 1.7》规范文档完整翻出来版面错误率控制在 1% 以内。三个高频疑问扫描件能翻吗能用前面提到的 OCR 兜底参数适合白底黑字的扫描稿。术语翻不准优先挂术语库 CSV默认还开着自动术语抽取兜底。大文档 OOM--max-pages-per-part切分 --working-dir换到空间充足的目录通常能解决。装好之后先用一份你最头疼的 PDF 跑一遍--files试试效果不理想就把样例和参数发到 issue 区。BabelDOC 的迭代很快你的每一个复现样例都是下一次更新提速的原因。【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻