快速上手BabelDOC:3步完成PDF双语翻译的完整指南

📅 发布时间:2026/9/19 18:53:03
快速上手BabelDOC:3步完成PDF双语翻译的完整指南
快速上手BabelDOC3步完成PDF双语翻译的完整指南【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOCBabelDOC 是一个开源的 PDF 双语翻译工具项目代号 YADT意为“又一个文档翻译器”。它解析英文论文的版面交给大模型翻译产出“原文译文”的双语 PDF 和一份纯译文 PDF公式与图形原样保留。适合需要大量阅读外文文献的研究者也适合想把文档翻译能力嵌进自己产品的开发者。5分钟装好BabelDOC并翻译第一份PDF推荐用 Python 3.12用 uv 一条命令装好uv tool install --python 3.12 BabelDOC这条命令把babeldoc命令行工具装到全局装完就能直接用。然后准备一个 OpenAI 兼容的 APIOpenAI 官方、任何兼容端点都行Ollama 本地模型也可以API key 随便填个值跑第一次翻译babeldoc --openai --openai-model gpt-4o-mini --openai-base-url https://api.openai.com/v1 --openai-api-key 你的key --files example.pdf把 example.pdf 放在当前目录即可。命令跑完当前目录会多出两份 PDF双语版和纯译文版。想从源码玩可以git clone仓库地址 https://gitcode.com/GitHub_Trending/ba/BabelDOCcd进去后运行uv run babeldoc --help查看完整命令列表。4个高频能力双语对照、公式保留、术语表、版面还原双语对照PDF左右并排读论文BabelDOC 默认输出两份 PDF。双语版默认左右并排原文和译文同页展示翻页时两边一起走。加--use-alternating-pages-dual改成“一页原文、下一页译文”的隔页模式加--dual-translate-first可让译文页排在前面。用--no-dual或--no-mono可以只保留其中一种。公式原样保留数学内容不参与翻译内部先把段落拆成公式、原文字符、译文文本这几类元素。只有译文文本会重新排版公式和图形直接“透明搬运”到新位置。比如f(x)3x1会留在原来的位置中文说明顺着它排。各阶段的实现可以看 docs/ImplementationDetails/README.md。术语表专业词全文统一译法用--glossary-files传入 CSV 术语表文件需要source、target两列可选第三列tgt_lng。仓库里有个样例 docs/example/demo_glossary.csv。正文里命中术语时对应词条会被注入 LLM 提示词并附上“必须遵循该译法”的指令。它默认还会从文档里自动抽取术语加--no-auto-extract-glossary可关闭加--save-auto-extracted-glossary可以把抽取结果存下来。版面还原译文重新排版塞回原文框排版时优先让所有元素塞进原文段落的边界框。中文比英文长的时候先缩小字号、压缩行距实在放不下再沿书写方向向下扩展。具体算法见 docs/ImplementationDetails/Typesetting/Typesetting.md。实战把一篇英文论文翻成中英对照PDF背景一篇 60 页的论文只想先翻译一部分同时要保住公式和图号。操作babeldoc --openai --openai-model glm-4-flash --openai-base-url https://api.openai.com/v1 --openai-api-key 你的key --files paper.pdf --pages 1- -o ./out--pages 1-表示从第 1 页翻到末尾也可以写成1,2,5或1-3,10按需指定。效果out目录里会得到一份中英对照版默认左右并排和一份纯中文版公式与图号原样保留中文顺着公式排版。注意译文默认带一行 BabelDOC 水印加--watermark-output-mode no_watermark可以去掉。进阶玩法配置复用、批量与大文件调优参数总是那几个的话写进 TOML 配置文件用--config传入[babeldoc] lang-in en lang-out zh-CN openai true openai-model gpt-4o-mini openai-api-key your-api-key-here qps 10 max-pages-per-part 50常用的进阶参数一次翻多个文件--files a.pdf --files b.pdf大文件拆分--max-pages-per-part 50自动按 50 页切段翻译完成后自动合并并发与提速--qps 10 --pool-max-workers 8确定不是扫描件时加--skip-scanned-detection跳过检测扫描版 PDF--ocr-workaround会在译文下铺白底盖住原文并强制文字为黑色只适合白底黑字离线环境先--warmup预下载模型和字体或用--generate-offline-assets打包、--restore-offline-assets恢复兼容性兜底输出 PDF 在某些阅读器打不开时先试--enhance-compatibility踩坑急救5个常见问题对症下药输出 PDF 在某些阅读器里乱码。原因富文本或 PDF 清理步骤与该阅读器不兼容。解法先试--enhance-compatibility。200 页以上的文件非常慢。原因整份文档一次翻译中间状态全在内存里。解法--max-pages-per-part 50分段翻译之后自动合并。扫描版 PDF 翻出来大片空白。原因文档是图片型的几乎没有可提取文本。解法用--ocr-workaround限白底黑字。输出 PDF 上多了水印。原因默认watermark-output-mode是watermarked。解法改成no_watermark。术语翻译前后不一致。原因没传术语表术语全靠 LLM 各自发挥。解法--glossary-files传入 CSV需要时用--no-auto-extract-glossary关掉默认自动抽词。另外还有几个已知边界作者区和参考文献区可能出现解析错误、不支持分隔线和首字下沉、超大页面可能被跳过完整清单见 README.md 的 Known Issues 一节。写在最后BabelDOC 用“解析到中间表示、再重排渲染”的思路让你三步拿到一份版面保真的双语 PDF。完整参数看 README.md实现细节看 docs/ImplementationDetails/README.md。【免费下载链接】BabelDOCYet Another Document Translator项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考