单条命令译出双语对照:PDFMathTranslate(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
PDFMathTranslate(Python 包名pdf2zh)是一款面向科研论文的开源 PDF 翻译工具:它先用版面分析把页面拆成文本区与非文本区,只把文本区送去做翻译,译文再回填到原来的坐标位置,一条命令就能同时拿到纯译文版和中英双语对照版,版式原样保留。
痛点:论文里一粘公式就变乱码
有试过这种操作吗:从英文论文里选中一段贴进翻译网站,行内公式当场变乱码,双栏正文挤成一列;表格复制到文档里直接塌掉。问题出在普通工具只认「文字」、不认「版面」——这正是 PDF 论文翻译工具要解决的活。
PDFMathTranslate 的做法是:先让版面识别模型(用深度学习自动判断页面里哪块是正文、哪块是公式)对每一页做正文、公式、图表、表格、页眉页脚的区域划分;正文逐段送进翻译服务,公式、插图、页眉原地不动;译文按原坐标贴回,多栏、跨页的文档也不会散架。
跑完你会拿到两份成品:
paper-mono.pdf:只有译文,直接通读;paper-dual.pdf:原文与译文并排,适合逐段对照精读。
🚀 十分钟拿到第一份双语 PDF
整个上手只有两步,环境要求 Python 3.11~3.12:
# 第一步:安装 pip install pdf2zh # 第二步:翻译任意一个 PDF pdf2zh paper.pdf翻译完,当前目录会多出paper-mono.pdf和paper-dual.pdf两个文件。默认走 Google 服务、不碰任何密钥,这是确认安装没装坏的最快路子。
两个容易卡住的地方,提前说明:
模型下载卡壳:首次运行要从网络拉一份页面切分模型(几十 MB),下载失败时先切镜像源再跑,Windows 的 cmd 用
set,PowerShell 用$env::set HF_ENDPOINT=https://hf-mirror.com不想背参数:一条命令就能在浏览器里打开图形界面,填表式操作,访问
http://localhost:7860/即可:pdf2zh -i登录限制、对外共享链接等选项见 GUI 说明。
保住排版的三步走
所谓保留排版的 PDF 翻译,拆开就三步,不用啃代码也能记住:切区——版面识别模型给页面上的每块内容打标,正文、公式、图、表、页眉页脚各归各位;挑着译——只有正文进入翻译流程,公式、图表、页眉一概不碰;贴回去——译完逐块按原始坐标落回页面,字体样式照旧。全程在程序内部完成,你不用手动复制任何东西。
常用命令行组合
日常用到的高频开关,配四个典型组合:
# 指定源语言与目标语言,只处理部分页码 pdf2zh paper.pdf -li en -lo zh -p 1-3,5# 换用 DeepL 服务,输出到指定目录 pdf2zh paper.pdf -s deepl -o out# 大模型服务:冒号后直接跟模型名 pdf2zh paper.pdf -s openai:gpt-4o-mini# 批量:目录下所有 PDF 逐一处理 pdf2zh --dir /path/to/papers/常用开关速查:
-li/-lo:源语言与目标语言,语言代码以所用服务的文档为准;-s:挑翻译服务,服务名后加冒号跟模型名,可一步指定模型;-t:并发线程数,长文档适当调大能提速;-f/-c:用正则把特定字体名或字符过滤掉、不参与翻译,数学与代码字体默认已受保护。
另外,PDF 链接可以直接当输入:pdf2zh http://example.org/paper.pdf,省去手动下载。全部参数见 高级选项参考。
🔌 把翻译能力挂进自己的工具链
除命令行外,还有三种集成方式,细节都在 API 文档 里。
Python API——在脚本里直接当函数调用:
# 在自己的脚本里当函数用,返回两个输出文件的路径 from pdf2zh import translate (file_mono, file_dual) = translate( files=['example.pdf'], lang_in='en', lang_out='zh', service='google', thread=4, )HTTP API——装好pdf2zh[backend]扩展后跑pdf2zh --flask与pdf2zh --celery worker,就能用 REST 提交翻译任务、轮询进度、下载结果,适合封装成自家的在线翻译服务。
MCP——pdf2zh --mcp(或加--sse)把工具挂到 Claude Desktop 这类 MCP 客户端上,用一句自然语言就能让 AI 助手替你调翻译。
🐳 部署:容器一条命令,或免安装版
团队共用一台机器,直接上容器:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh启动后在浏览器打开 7860 端口,界面与本地pdf2zh -i完全一致。仓库里自带 Dockerfile 和 docker-compose.yml,想改镜像照着改就行。
Windows 用户可以从发布页拿pdf2zh.exe压缩包,解压双击就能跑;打不开的话先补装 VC++ 运行库。
两个实验特性顺手一提:--mode precise切到 v2 翻译内核,需先用pdf2zh-setup-precise搭独立运行环境,瞄准跨栏、跨页对齐这类更棘手的场景;--babeldoc换成 BabelDOC 后端,可搭配-s openai。Zotero 用户还能找社区插件,在文献管理工具里直接发起翻译。
API 要经过自建中转的话,看 代理配置文档,自定义BASE_URL记得补/v1后缀。
⚠️ 用之前先知道的几件事
- 扫描版 PDF 无效:程序翻译的是 PDF 内嵌的文本层,纯图片的页面没有任何可翻内容,得先做 OCR;
- 免费服务零密钥:Google、Bing 直接可用;换成 DeepL、OpenAI、Gemini 这类付费服务,要在环境变量或配置文件里放好对应的 Key,变量名对照 高级选项参考;
- 本地跑有版本门槛:Python 3.11~3.12,嫌麻烦就走 Docker 或 Windows 压缩包那条路。
现在就开始
现在就跑这一行,几分钟就能拿到一份中英对照的成品 PDF,这也是「开源 PDF 双语对照」场景里最省事的路子:
pip install pdf2zh项目以 AGPL-3.0 协议开源,可自由使用、修改和再分发。这篇 PDFMathTranslate 使用教程就讲到这,参数细节见 高级选项参考,二次开发看 API 文档,剩下交给你的第一篇论文。
【免费下载链接】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),仅供参考