尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
BabelDOC:保留排版与公式的 PDF 翻译工具
BabelDOC保留排版与公式的 PDF 翻译工具【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOCBabelDOC 是一款 PDF 文档翻译工具主要面向英文到中文的学术论文场景。你输入一份英文 PDF它会输出一份单语翻译 PDF 和一份双语对照 PDF原文的字号、颜色、对齐方式和数学公式都保留在原位置翻译走任意 OpenAI 兼容模型命令行即可完成。从 PDF 到中间语言BabelDOC PDF 翻译的核心机制BabelDOC 的思路是解析、翻译、再绘制而不是在原 PDF 上直接改文字。整条链路如下解析用仓库内置的 pdfminer 分支和 PyMuPDF 读取 PDF把文本、字体、颜色、坐标抽取成一套结构化的中间语言IL。它类似文字处理器的 XML 描述每个段落记录以点pt为单位的坐标、字体族和颜色examples/ 目录下有 IL 样例可以直接查看。版面分析ONNX 版面模型把页面区域划分为正文、公式、图片、表格等。段落与样式段落识别把零散的文本行连成段落样式与公式处理步骤标记出公式区域和富文本样式。中间层翻译逐段调用 LLM。发送前把公式、富文本片段替换成占位符返回后再把占位符还原回原位公式不会被翻译破坏样式信息也不丢失。翻译并发由 QPS 控制默认每秒 4 次请求。排版与生成对每个段落重新排版、映射字体最后绘制出新的 PDF默认同时产出双语对照和单语两个版本。场景拆解论文、扫描版与大文档学术论文英译中公式与术语一致性--glossary-files glossary.csv术语表 CSV 包含source,target,tgt_lng三列tgt_lng可选填写后仅对匹配的目标语言生效翻译时系统检查文本段命中的术语并把对应术语表注入提示词。自动术语提取默认开启自动从文档中收集专有名词进提示词--no-auto-extract-glossary关闭--save-auto-extracted-glossary可把结果存成文件供下次复用。--pages 1,2,1-,-3,3-5页码范围语法1-表示从第 1 页到结尾-3表示到第 3 页。--translate-table-text翻译表格内文本实验性功能默认关闭。扫描版 PDF 的 OCR 参数适用前提纯白底、纯黑字的扫描件。--ocr-workaround译文下方垫白色矩形块盖住残留原文并把全部文字强制为黑色。--auto-enable-ocr-workaround先做扫描件检测仅当扫描件页超过 80% 时自动启用 OCR 路径并跳过重复检测。注意该参数开启后--ocr-workaround与--skip-scanned-detection的手动设置会以检测结果为准。--skip-scanned-detection确定不是扫描件时开启省去一次检测。大文档分片与多文件批量--max-pages-per-part按页数切分、逐段翻译后自动合并例如 200 页文档可设 50不设置则不切分。--files可重复指定多个文件--output/-o指定输出目录默认为当前目录。--no-dual、--no-mono控制跳过双语对照或单语 PDF默认两者都生成。动手实践安装并跑通第一个翻译任务用 uv 安装Python 3.12uv tool install --python 3.12 BabelDOC安装完成后得到babeldoc可执行命令。发起一次翻译替换模型地址与密钥babeldoc --openai --openai-model gpt-4o-mini \ --openai-base-url https://api.openai.com/v1 \ --openai-api-key your-api-key \ --files paper.pdf结束后当前目录生成双语对照 PDF 和单语 PDF译文默认带水印可用--watermark-output-mode no_watermark关闭或设both同时输出两种版本。也可以从源码运行git clone https://gitcode.com/GitHub_Trending/ba/BabelDOC cd BabelDOC uv run babeldoc --help第二条命令安装依赖并打印全部参数便于先确认选项再正式运行。调优速度、缓存与离线部署并发--qps默认 4--pool-max-workers默认跟随 QPS 值提高 API 限流额度时两者要同时调。缓存翻译结果存入本地缓存重跑同一文档直接命中换模型或提示词后想强制重译加--ignore-cache。最小翻译长度--min-text-length默认 5短于该长度的文本不发给模型减少无意义请求。兼容性问题先试--enhance-compatibility等价于--skip-clean --dual-translate-first --disable-rich-text-translate的组合注意跳过清理步骤会使输出文件变大。批量复用把参数写进 TOML 文件后用--config加载避免长命令。离线环境--warmup只下载并校验模型与字体后退出--generate-offline-assets把模型和字体打包成 zip目标机器用--restore-offline-assets恢复。调试--debug把详细中间结果导出到~/.cache/babeldoc/working。项目内部代码组织与模块职责BabelDOC 把流水线组织为前端、中端、后端三段放在document_il里版面分析与翻译则是独立模块babeldoc/format/pdf/document_il/前端构建中间语言中端做版面、段落、翻译、排版后端生成 PDF。babeldoc/docvision/版面分析模型的 ONNX 实现及 RPC 远程模式。babeldoc/translator/OpenAI 兼容翻译服务与翻译缓存。babeldoc/pdfminer/内置的 pdfminer 解析分支。docs/ImplementationDetails/八个阶段的实现原理文档官方说明见 README语言支持列表见 docs/supported_languages.md。常见问题翻译服务、页码指定与扫描版处理BabelDOC 支持哪些翻译服务能用本地模型吗只支持 OpenAI 兼容 API。用 Ollama 等本地服务时--openai-api-key填任意字符串即可README 推荐 OpenAI 兼容性好的模型如glm-4-flash、deepseek-chat。BabelDOC 怎么只翻译文档的某几页用--pages接受1,2,1-,-3,3-5这类组合配合--only-include-translated-page可让输出 PDF 只包含已翻译的页。BabelDOC 处理扫描版 PDF 用什么参数白底黑字的扫描件可开--ocr-workaround或加--auto-enable-ocr-workaround交给检测决定扫描件页超过 80% 时自动启用。翻译服务或提示词改了之后缓存不生效怎么办加--ignore-cache忽略本地翻译缓存强制重新请求模型。BabelDOC 除了中译英之外支持哪些语言目前主要优化英文到中文2025 年 3 月起支持以英文为目标语言主要用于避免词内断行。完整语言列表和连字支持情况见 docs/supported_languages.md完全依赖连字的语言暂不支持。当前版本主要优化英文到中文的学术文档路线图里表格支持、跨页跨栏段落连接和大纲生成仍是待办事项。【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Hugo 模板函数 inflect.Pluralize 完全指南:英文单词复数化的语法、实现与实战用法

Hugo 模板函数 inflect.Pluralize 完全指南:英文单词复数化的语法、实现与实战用法

Hugo 模板函数 inflect.Pluralize 完全指南:英文单词复数化的语法、实现与实战用法 【免费下载链接】hugo The world’s fastest framework for building websites. 项目地址: https://gitcode.com/gh_mirrors/hu/hugo 本指南系统讲解 Hugo 内置模板函数 inf…

📅 2026/9/18 19:06:12
Ubuntu上PostgreSQL安装配置与排错实战指南

Ubuntu上PostgreSQL安装配置与排错实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/18 19:06:12
把 API 测试的日常搬进浏览器:Hoppscotch 上手笔记

把 API 测试的日常搬进浏览器:Hoppscotch 上手笔记

把 API 测试的日常搬进浏览器:Hoppscotch 上手笔记 【免费下载链接】hoppscotch Open-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, Insomnia …

📅 2026/9/18 19:01:10
MORE NEWS

更多资讯

📰

open-code-review实战:用自动化规则引擎提升代码评审质量

代码评审这事,大部分团队其实都做得挺“糊弄”的。PR 一开, 一下同事,半小时后回来看到两个 “LGTM”,合代码,完事。等 bug 上了生产环境,又开始互相问“当时谁 review 的”。我自己带过几个团队&#xff0…

📰

深入解析Sanitizer家族:ASan/LSan/UBSan/TSan内存调试实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

wewe-rss 快速上手:3 步跑起你的私有微信公众号 RSS 服务

wewe-rss 快速上手:3 步跑起你的私有微信公众号 RSS 服务 【免费下载链接】wewe-rss 🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书) 项目地址: https://gitcode.com/GitHub_Trendi…

📰

FANUC机器人备份与加载实战指南:全量备份、镜像备份及恢复故障排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

从LGTM到Open Code Review:代码评审的规则落地与自动化实践

开源项目的代码评审,我做“open-code-review”这件事已经有一段时间了。所谓“open”,我理解有两层意思:一是把评审的规则、流程和数据摊开,谁都能看,谁都能提;二是把评审这件事本身开放出去,让…

📰

工业炉自动点火系统:原理、时序、选型与故障排查

在工业加热炉、退火炉、熔炼炉旁边蹲过的人都有个共识,点火这几秒钟看着不起眼,真出事往往就发生在这一瞬间。我早期在一个锻造车间跟一条燃气加热炉线,带我的老师傅教的第一件事不是怎么调空燃比,而是点火前必须把炉膛吹干净、必…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬