PDF 论文翻译快速上手:PDFMathTranslate 公式不破坏、一次产出双语对照 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
PDFMathTranslate(命令名 pdf2zh)是开源的 PDF 论文翻译工具:投进一篇论文,产出纯译文和双语对照两份 PDF,公式、图片、双栏排版留在原位。它解决普通工具把公式打成乱码、把版面拆碎的问题,适合常读外文文献的人。
它是不是你要的工具
你经常读外文论文,想用中文读得顺,又不想丢原始版面:公式、图、表格和两栏文字都得在老地方。pdf2zh 先用 DocLayout-YOLO 版面模型把每页的文字、公式、图片区域框出来,再逐块原位翻译,所以成品外观和原 PDF 基本一致。每翻一次都会同时给出 mono(纯译文)和 dual(双语对照)两个版本,看习惯哪个用哪个。
它不适合没有文本层的纯图片 PDF(扫描件、老文献影印本),也不处理图片、PPT 等非 PDF 文件的翻译需求。
选一条路跑起来
同一个工具有 5 个入口,按你的环境挑一个:
- 如果习惯终端、还要整目录批量翻译文献:用 CLI。命令名 pdf2zh,一条命令翻一个文件,下文示例都走这条路。
- 如果不想碰命令行、偶尔翻译:用网页 GUI。运行
pdf2zh -i启动本地服务并自动打开浏览器;没打开就手动访问http://localhost:7860/,上传 PDF、选服务、点翻译,界面细节见 docs/README_GUI.md。 - 如果不想装 Python、还想和团队共用:用 Docker。
docker run -d -p 7860:7860 byaidu/pdf2zh把镜像的 7860 端口映射出来,浏览器操作方式和 GUI 一致。 - 如果在 Windows 上不想装任何依赖:从发布页下载 exe 包,解压后双击
pdf2zh.exe即可。
想让 AI 助手或 Zotero 来调用翻译时,用pdf2zh --mcp启动 MCP 服务,AI 就能按文件名找到本地 PDF 并发起翻译。
🚀 第一次运行:装包、翻一篇、验证产物
确认 Python 版本在 3.11 到 3.12 之间,然后两条命令装好并翻第一篇:
pip install pdf2zh pdf2zh document.pdf首次运行会从模型仓库下载 DocLayout-YOLO 版面检测模型,长时间没有输出多半是网络到不了模型仓库,文末的症状表里给了对应解法。
跑完后,当前目录多出两个文件:
document-mono.pdf:纯译文,只有目标语言;document-dual.pdf:双语对照,原文与译文同版面并排。
别关终端就完事。打开这两份 PDF 翻几页验证:正文里的行内公式是否还在原位置、没有变成乱码字符;双栏论文是否仍是两栏、没有挤成一路;图表编号有没有跟着图走。发现错位,回 docs/ADVANCED.md 找到版面相关参数再跑一遍。
换服务、挑页码、整目录批量翻
把翻译服务从默认 Google 换成 OpenAI
默认服务是 Google,换服务加-s,并提前把该服务的密钥和模型配到环境变量里:
pdf2zh document.pdf -s openai服务一共有 20 多种,包括 google、deepl、openai、ollama 等,每种要配哪些环境变量列在 docs/ADVANCED.md 的表格里。
只翻几页先看效果
论文有 40 页,先翻第 1 到 3 页加第 5 页,质量过关再翻全本:
pdf2zh document.pdf -p 1-3,5批量翻译整个文献目录
--dir指向一个目录,它会自动识别里面的 PDF 逐个处理,这就是批量翻译文献的入口:
pdf2zh --dir /path/to/translate/其余低频参数,源语言-li、目标语言-lo、线程数-t、输出目录-o、配置文件--config,都在 docs/ADVANCED.md 里,用到再查。
🔍 跑不通时按症状查
| 症状 | 原因 | 解决 |
|---|---|---|
| 首次运行长时间卡住或下载模型超时 | DocLayout-YOLO 模型要从模型仓库下载,网络不通 | 运行前设置HF_ENDPOINT=https://hf-mirror.com(PowerShell 写作$env:HF_ENDPOINT)再执行 |
| Windows 解压 exe 后双击无反应或闪退 | 系统缺少 VC++ 运行库 | 安装微软官方 vc_redist.x64.exe 运行库,再双击 |
| 某些 PDF 阅读器里中文空白或显示方框 | 默认开启的字体子集化与该阅读器不兼容 | 加--skip-subset-fonts重新翻译 |
| 换了语言或服务,译文内容和上次一样 | 程序对相同文本有翻译缓存,避免重复调用 API | 加--ignore-cache强制重新翻译 |
深入阅读:文档和源码在哪
- docs/ADVANCED.md:全部参数说明、各翻译服务的环境变量配置,以及缓存与自定义提示词;
- docs/APIS.md:Python 与 HTTP 两套接口,把 PDF 论文翻译接进自己的程序或流程时用;
- pdf2zh/:核心源码,版面解析与翻译内核的实现都在
pdf2zh/kernel/目录里。
克隆下来对照文档读代码:
git clone https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate建议先用 CLI 翻一篇自己熟悉的论文,确认公式和版面对得上,再去做批量和服务配置。
【免费下载链接】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),仅供参考