BabelDOC:PDF翻译不用再手动排版双栏双语的开源方案
发布时间:2026/9/18 14:22:29 作者:尧图编辑部 阅读量:1,286

BabelDOCPDF翻译不用再手动排版双栏双语的开源方案【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC刚把一篇上百页的英文论文翻译完往 Word 里一贴公式乱掉、表格错行——BabelDOC 这个开源的 PDF 翻译方案一行命令就能保住原始排版直接产出双栏双语 PDF。你不需要会排版只需要会敲命令行。用 uv 一条命令装好 PDF 翻译环境官方推荐用 uv 安装也可以用pip install BabelDOC达到同样效果。项目要求 Python 3.10 到 3.13下面这条命令直接指定 3.12uv 会自动下载对应版本并在隔离环境里装好不碰你系统里已有的 Pythonuv tool install --python 3.12 BabelDOC # 指定 Python 3.12 安装 BabelDOC 到隔离环境装完执行babeldoc --help能看到全部参数列表暂时只需要关注文件和翻译服务相关的几个。如果提示uv: command not found多半是 PATH 没写进去把 uv 重装一遍让它重新配置环境变量就行。macOS 和 Linux 上直接跑上面这条就行Windows 用 PowerShell 执行报权限问题时选一次以管理员身份运行即可。跑通一次完整的 PDF 双栏翻译流程输入是 PDF输出还是 PDF。先看最基础的场景用 OpenAI 兼容接口翻译单个文件。任何兼容端点都行本地 Ollama 也可以那种情况下 API key 随便填个占位值都能通babeldoc \ --files ./paper.pdf \ # 输入 PDF 路径可重复传多个 --files 批处理 --openai \ # 启用 OpenAI 兼容翻译服务 --openai-model gpt-4o-mini \ # 模型名可换成任意兼容模型 --openai-base-url https://api.openai.com/v1 \ # 接口地址 --openai-api-key your-key \ # 你的 API key --lang-in en --lang-out zh \ # 英文输入、中文输出本来就是默认值 --output ./out # 输出目录不写则放当前目录跑完后输出目录里会出现两个 PDF一个是双栏双语版原文和译文在同一页左右排开另一个是纯译文版。只想要译文的话在命令里加--no-dual就不产双语文件反过来加--no-mono则只留双语版。看双栏版就能体会到差别译文版式跟原文几乎一模一样公式还是公式图表题注没有断掉参考文献没有混进正文。这就是在原始排版里做翻译和先翻译再排版的区别——开源双栏文档生成这件事里排版环节它替你干了。术语表路径怎么配换成更实际的场景术语必须统一的商务文档。仓库里自带了示例术语表 docs/example/demo_glossary.csv格式是三列 CSVsource原文术语、target译文术语、可选的 tgt_lng适用的目标语言不写则对所有语言生效。在上一条命令里加一行babeldoc --files ./contract.pdf \ --glossary-files ./docs/example/demo_glossary.csv \ # 逗号分隔可传多个术语表 --openai --openai-model gpt-4o-mini \ --openai-base-url https://api.openai.com/v1 --openai-api-key your-key \ --output ./out翻译时只要某段文字命中了表里的词条这份术语表就会被塞进模型提示词并要求严格照表里说法翻译。示例文件里有一条 AutoML 对应 自动ML也就是说这份术语一旦进表从第一页到最后一页都只会这么写。工具默认还会自动抽取文档高频术语辅助翻译不想要这步就加--no-auto-extract-glossary关掉。给两百页大文件和特殊文件调稳输出如果你遇到 X试试 Y文档超过两百页、内存吃紧加--max-pages-per-part 50。分段翻译就像把厚书拆成几册分别翻译每册翻完再自动拼回去单次运行的内存压力小很多。某些 PDF 阅读器打不开译文加--enhance-compatibility它等价于同时开启--skip-clean、--dual-translate-first、--disable-rich-text-translate三个开关用略大的文件体积换更稳的兼容性。源文件是扫描版加--ocr-workaround它会在译文底下垫一块白色背景盖住原文并强制文字变黑适合白底黑字的扫描件。还有两个常用小开关--watermark-output-mode no_watermark去掉译文页脚水印用both可以两个版本都输出--pages 1,5-12只翻译指定页码配合--only-include-translated-page后输出 PDF 里就只剩你点名的那些页。把 PDF 翻译嵌进自己的服务BabelDOC 定位是可嵌入的库babeldoc/format/pdf/high_level.py 里暴露了异步翻译入口可以接进自己的工作流完整参数表和 TOML 配置文件示例都写在 README.md 里参数太多记不住时照着配置块抄一份就能省掉一长串命令行。一行命令进去一份双栏双语 PDF 出来这就是这个 PDF 格式保留翻译工具给论文和技术文档上阅读列表的最快路径。想继续挖公式字体匹配这类边缘参数仓库 README 的 Advanced Options 一节都写得明白。【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考