两条命令把英文 PDF 变成中英双语:PDFMathTranslate 翻译上手指南
【免费下载链接】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(pip 包名与命令行都叫pdf2zh)是一款保留排版的 PDF 论文全文翻译工具:先识别页面里的公式、图表和正文,再调用翻译服务逐段翻译,把译文写回原位置,一次产出纯译文版和双语对照版。它服务的是啃外文文献的研究生、科研人员和要翻译技术文档的工程师。项目已被系统演示论文收录于 2025 年自然语言处理国际会议 EMNLP。
两条命令出第一份 PDF 翻译结果
第一条命令安装工具,本地运行要求 Python 3.11 或 3.12:
pip install pdf2zh第二条命令执行 PDF 翻译,输出文件生成在当前目录:
pdf2zh paper.pdf完成后得到paper-mono.pdf(纯译文)和paper-dual.pdf(双语对照)。默认用 Google 翻译、无需配置任何密钥,这是验证装没装好的最短路径。
版面检测模型拉不下来?首次运行会下载一个 DocLayout-YOLO 版面检测模型,网络不畅时先设镜像源再跑:
set HF_ENDPOINT=https://hf-mirror.comPowerShell 里写法是$env:HF_ENDPOINT = https://hf-mirror.com。
PDF 翻译和复制粘贴有什么不同
普通翻译软件复制 PDF 文本,公式变乱码、多栏排版散架。PDFMathTranslate 的做法是先用版面分析模型(内置 DocLayout-YOLO 的 ONNX 推理,ONNX 是一种跨平台模型运行格式)把页面切成正文、公式、图片、表格、页眉等区域,只翻文本区,再按原坐标把译文回填。
| 能力 | 一句话说明 |
|---|---|
| 排版保留 | 公式、图表、目录、注释位置与样式不变,支持多栏和跨页文档 |
| 双版本输出 | 一次翻译同时产出纯译文-mono.pdf和双语对照-dual.pdf |
| 翻译服务可插拔 | 内置 Google、Bing、DeepL、OpenAI、Ollama、Gemini、DeepSeek 等 20 余种服务 |
| 多种使用形态 | 命令行、浏览器 Web 界面、Docker 容器、MCP 服务、Python/HTTP API |
挑一个你的场景照着敲
只翻某几页
只想看摘要和某一章时,用-p指定页码,-li/-lo指定语言对:
pdf2zh paper.pdf -li en -lo zh -p 1-3,5输出仍是paper-mono.pdf和paper-dual.pdf,未指定的页码原样保留。
批量处理整个文献目录
文献综述前要把一整个目录的 PDF 都翻掉,用--dir指向目录即可:
pdf2zh --dir /path/to/papers/程序会遍历目录逐个翻译,每篇都生成对应的-mono和-dual文件。
把翻译能力接进自己的脚本
开发者可以直接在 Python 里调 API,返回两份输出文件的路径,方便串进自己的数据流程:
from pdf2zh import translate (file_mono, file_dual) = translate(files=['paper.pdf'], lang_in='en', lang_out='zh', service='google', thread=4)常用参数与配置文件速查
-li/-lo:源语言与目标语言代码-p:只翻指定页码范围,如-p 1-3,5-s:翻译服务名,服务名:模型名写法可直接指定模型-t:翻译线程数,长文档可适当加大-o:输出目录--prompt:自定义翻译提示词文件,支持${lang_in}、${lang_out}、${text}三个变量--ignore-cache:忽略已翻译片段的缓存,强制重新翻译--skip-subset-fonts:关闭字体子集化,个别阅读器兼容不佳时使用
配置文件默认放在~/.config/PDFMathTranslate/config.json,可预填语言、字体路径和多组翻译服务的密钥;覆盖优先级为命令行 > 环境变量 > 配置文件。
部署与集成
团队共享一台翻译服务:Docker 拉镜像后,浏览器访问http://localhost:7860/,界面与本机 Web 版相同:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh不想记参数:一条命令打开浏览器界面,上传 PDF、选服务与页码范围,翻完直接预览下载:
pdf2zh -i加--share可生成对外访问链接,--authorized users.txt用"用户名,密码"文件限制可登录用户。
不装 Python 的 Windows 用户:从项目发布页下载pdf2zh.exe压缩包,解压双击即运行;打不开时按提示补装 VC++ 运行库。
自建在线翻译服务:装 backend 依赖并启动 Flask 与 Celery worker(依赖 Redis),即可通过 REST 接口提交任务、查进度、下载结果:
pip install pdf2zh[backend] pdf2zh --flask pdf2zh --celery worker把翻译交给 AI 助手:安装pdf2zh[mcp]后运行pdf2zh --mcp,即可接入 Claude Desktop 等 MCP 客户端,用自然语言让助手找 PDF 并翻译。
哪些 PDF 它翻不了
能用的
- 带文本层的电子 PDF:学术论文、技术报告、标准文档、教材,公式排版保留是核心场景
- 双语对照学习:
-dual.pdf原文译文并排,方便核对术语 - 批量与复现:
--dir扫目录处理,翻译缓存让重复文档不再消耗 API 额度
用不了或要留意的
- 扫描版 / 图片型 PDF:程序识别的是 PDF 内嵌文本,纯图片页没有可翻译内容,需先做 OCR
- 翻译质量取决于所选服务:默认 Google 免配置,术语要求高时换 DeepL 或大模型服务,并用
--prompt注入领域要求 - 付费服务要配密钥:DeepL、OpenAI、Gemini 等需设置对应 API Key 环境变量,变量名对照表见 高级用法
- 实验性功能:
--mode precise为 v2 翻译内核,属实验特性,需先运行pdf2zh-setup-precise搭建独立环境,正式交付建议用默认模式
继续深入
- 高级用法文档:完整参数表、语言代码与 20 余种服务的环境变量对照
- API 细节文档:Python API 与 HTTP API 的完整用法
- Web 界面说明:界面操作与 10 种支持的目标语言
项目以 AGPL-3.0 协议开源,可自由使用、修改与分发。现在打开终端敲pip install pdf2zh,几分钟内就能拿到第一份双语对照论文。
【免费下载链接】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),仅供参考