PDFMathTranslate 实用指南:3 条命令把论文译成双语 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 翻译工具:它先识别论文中的公式、图表与正文区域,再调用翻译服务逐段翻译,最后把译文写回原始排版,同时产出纯译文版和双语对照版。适合需要批量阅读外文文献的研究生、科研人员,以及要翻译技术文档的工程师。该工具已被 EMNLP 2025 收录为系统演示论文。
外文文献批量的阅读痛点
你大概率遇到过这两种情况:单篇论文只想读核心几页,手动复制文本进翻译工具,公式编号全乱,粘回来两栏排版直接散架;或者手头有一整个文件夹的文献要整理,逐篇处理根本做不完。
PDFMathTranslate 的思路是先做版面分析(内置 DocLayout-YOLO ONNX 模型)把页面切成正文、公式、图片、表格、页眉页脚等区域,只有文本区域进入翻译,非文本区域原样保留,翻译后按原坐标回填。所以输出里的公式、编号和分栏都待在原位。
⚡ pdf2zh 一键安装与首次翻译
环境要求:Python 3.11 至 3.12(项目声明>=3.11,<3.13)。不想碰环境的话可以直接跳下面的 Docker 用法。
第一步,安装:
pip install pdf2zh第二步,把命令对准任意一个 PDF 文件:
pdf2zh paper.pdf第三步,确认当前目录生成的两个文件:paper-mono.pdf(纯译文版)和paper-dual.pdf(双语对照版)。默认走 Google 翻译服务,不需要配置任何密钥。首次运行会下载几十 MB 的版面检测模型,拉取失败时先执行set HF_ENDPOINT=https://hf-mirror.com(PowerShell 写$env:HF_ENDPOINT)再重跑。
日常最常用的几个短参数:
-li/-lo:源语言与目标语言,代码参照各服务的支持列表;-p 1-3,5:只翻译指定页码范围;-s deepl、-s openai:gpt-4o-mini:切换翻译服务,服务:模型写法可直接指定模型;-t:翻译线程数,长文档可适当加大;--dir 目录路径:批量翻译目录下全部 PDF;--config config.json、--prompt prompt.txt:把语言、密钥写进配置文件,或向大模型注入领域术语(模板含${lang_in}、${lang_out}、${text}三个变量)。
完整参数表和各服务的密钥变量对照表见高级用法文档。
按角色挑一种 PDFMathTranslate 用法
| 形态 | 启动方式 | 适合人群 |
|---|---|---|
| 命令行 | pdf2zh paper.pdf | 个人使用、脚本化批量翻译 |
| 浏览器界面 | pdf2zh -i,访问本机 7860 端口 | 偏好点选操作;--share生成外链、--authorized限制登录账号 |
| Docker | 见下方命令 | 团队共用的翻译服务 |
| Python / HTTP API | translate()或--flask | 嵌入自己的系统 |
| MCP(模型上下文协议)服务 | pdf2zh --mcp | 让 AI 助手替你定位文件并翻译 |
界面模式把 PDF 拖进页面,选好服务和目标语言,翻译完成后可直接预览并下载两份 PDF:
Docker 部署只需两条命令:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zhPython 集成则是在脚本里直接调用:
from pdf2zh import translate params = dict(lang_in='en', lang_out='zh', service='google', thread=4) (file_mono, file_dual) = translate(files=['example.pdf'], **params)[0]HTTP 方式需安装pdf2zh[backend]后运行pdf2zh --flask与pdf2zh --celery worker,即可通过 REST 接口提交任务、查询进度、下载结果,细节见API 文档。
📌 安装运行 PDFMathTranslate 的常见情况与处理办法
| 情况 | 处理办法 |
|---|---|
| Python 版本不满足要求 | 用 3.11~3.12 安装,或改用 Docker、Windows 免安装版绕过 |
| 首次运行版面模型下载失败 | 设置HF_ENDPOINT=https://hf-mirror.com镜像后重跑 |
| 付费服务提示缺少密钥 | 按对照表设置环境变量,如 DeepL 用DEEPL_AUTH_KEY、OpenAI 用OPENAI_API_KEY |
| 自建代理中转返回 404 | BASE_URL必须以/v1结尾,示例见代理配置文档 |
| 扫描版 / 图片型 PDF 没有译文 | 工具翻译的是 PDF 内嵌文本,需先做 OCR |
| 个别阅读器显示字体异常 | 加--skip-subset-fonts关闭字体子集化 |
| 重复翻译同一文档消耗额度 | 翻译段落默认缓存;确需重翻时加--ignore-cache |
--mode precise(v2 内核)与--babeldoc(BabelDOC 后端)属于实验特性,正式交付建议使用默认模式。
许可证与相关资料
项目以 AGPL-3.0 协议开源,可自由使用、修改与分发,条款见LICENSE。
- 高级用法文档:完整参数、语言与翻译服务列表
- API 接入文档:Python 与 HTTP 接口
- GUI 使用文档:界面操作与共享服务部署
- 核心源码目录:其中翻译服务实现、后端接口源码可用于二次开发
【免费下载链接】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),仅供参考