PDF 翻译不毁排版:两步出双语论文,免费开源
【免费下载链接】PDFMathTranslate[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate
一篇双栏英文论文,手翻到第三页公式就全乱了。做 PDF 翻译的 PDFMathTranslate 只解决一件事:把原文完整译成中文,排版原封不动。丢进英文原件,出来的中文版双栏结构、公式位置、插图摆放和原文一致,默认还会多给一份中英对照版。项目开源免费(AGPL-3.0),论文入选 EMNLP 2025 演示赛道。
和普通机器翻译的区别:排版为什么散不掉
- 产物还是那份 PDF,而不是重新流式的文档:双栏、页眉页脚、图注逐页对齐原文
- 默认产出两份文件:纯中文的
-mono版和中英对照的-dual版,精读引用都够用 - 默认翻译引擎是 Google,无需任何 API Key,装完即用
它的机制是"先认版面,再翻译回填":
- 版面检测:用 DocLayout-YOLO 模型先识别 PDF 里哪些区域是正文栏、图注、页脚,翻译前先把结构摸清
- 原位回填:译文塞回原始文本框并缩放到原位置,不做整页重排,公式编号、图表都不挪窝
- 公式不被动:按字体识别 Math、Mono、Code、Italic 等区域并保留,变量名和方程不会被翻译搅乱
- 翻译引擎可插拔:
-s参数在 Google、DeepL、OpenAI、Ollama 本地模型间切换,不想把论文内容传上云就走 Ollama - 翻译缓存:翻过的文本存进缓存,同一文档重跑直接命中,不重复调 API
两条命令装好并跑通第一次 PDF 翻译
本地安装需要 Python 3.11 或 3.12。不想配环境的话,项目发布页提供 Windows exe 包,解压双击即可。
pip install pdf2zh然后对着任意一份 PDF 执行:
pdf2zh your_paper.pdf当前目录多出your_paper-mono.pdf(纯中文)和your_paper-dual.pdf(中英对照)。首次运行会下载版面检测模型,网络受限时先设置HF_ENDPOINT镜像环境变量再跑即可。
先翻几页试水,不开终端的 GUI 用法
上百页的论文,先用-p参数只翻第 1 到 5 页:pdf2zh your_paper.pdf -p 1-5。产出同样是 mono/dual 两份,API 消耗只有 5 页的量;相同内容走缓存,重复翻译不再计费。
不想碰终端,执行pdf2zh -i一条命令启动 Web 界面,浏览器没自动打开就访问http://localhost:7860/。页面上上传论文、选翻译服务、设目标语言,点完 Translate 直接下载译文。
想集成进自己的工具,还有 Python 与 HTTP API 可用,细节见 API 文档。
扫描件、密钥服务与首次运行慢
扫描版图片 PDF 不建议直接翻。它先提取 PDF 里的文字层再翻译,纯图片页没有文字可取。现在提供了实验性 OCR 模式,但只适合白底扫描件,手写和行内公式识别率一般;讲究的做法是先 OCR 成可编辑 PDF 再交给它。
部分服务需要密钥。DeepL、OpenAI 等要先设DEEPL_AUTH_KEY之类的环境变量,完整服务清单与变量名在 进阶文档 里。默认 Google 不需要。
首次运行慢多半卡在模型下载。版面检测模型需要联网拉取,受限时设置HF_ENDPOINT指向镜像源重跑即可。
想当团队共用服务,Docker 拉镜像启动容器后,http://localhost:7860/上就是同一套界面。
回到开头那篇双栏论文:装上pdf2zh,把文件丢进命令行,几分钟后当前目录就有第一份排版完好的双语 PDF。
【免费下载链接】PDFMathTranslate[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考