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 全文翻译工具:它先用版面分析模型(一种把页面自动切分成不同区域的 AI 模型)识别公式、图表与正文,再调用 Google、DeepL 等翻译服务逐段翻译,最后把译文回填到原文位置,产出纯译文版和双语对照版。适合需要批量阅读外文文献的研究生、科研人员和工程师。
先看翻译效果
左图是英文原文页面,右侧是翻译后的中文页面:公式、编号、多栏排版都保持原位,没有被翻译打散。最终你会得到两个文件:-mono.pdf(纯译文)和-dual.pdf(原文在上、译文在下的双语对照版)。
工作原理一句话概括:只翻译"文本区",其余区域原样保留。程序内置 DocLayout-YOLO ONNX 版面检测模型,把每页切分为正文、公式、图片、表格、页眉页脚等区域;文本区送翻译服务翻译后,按原始坐标写回页面,因此排版不会乱。
| 能力 | 说明 |
|---|---|
| 排版保留 | 公式、图表、目录、注释的位置与样式不变,支持多栏、跨页文档 |
| 双版本输出 | 一次翻译同时产出纯译文版(-mono.pdf)与双语对照版(-dual.pdf) |
| 可插拔翻译服务 | 内置 Google、Bing、DeepL、OpenAI、Ollama、Gemini、DeepSeek 等十余种,也兼容任意 OpenAI 格式接口 |
| 多种使用形态 | 命令行、浏览器界面、Docker、MCP 服务、Python / HTTP API |
⚡ 快速上手:安装 PDFMathTranslate 并翻译第一篇论文
第 1 步:安装命令行工具。需要 Python 3.11~3.12,一条命令装好:
pip install pdf2zh第 2 步:执行翻译。对任意带文本层的 PDF 运行(默认使用 Google 服务,无需配置任何密钥):
pdf2zh paper.pdf几分钟后,当前目录会生成paper-mono.pdf和paper-dual.pdf,打开即可看到效果。这就是验证"装好了没有"的最短路径。
第 3 步(仅在需要时):解决模型下载问题。首次运行会自动下载约几十 MB 的版面检测模型,若因网络原因失败,先设置镜像源再重跑:
set HF_ENDPOINT=https://hf-mirror.com # Windows CMD;PowerShell 用 $env:HF_ENDPOINT=https://hf-mirror.com使用方式:命令行、界面、批处理,选一种适合你的
命令行:PDFMathTranslate 参数速查
翻译语言、页码、服务都通过短参数控制,日常够用的一组示例:
# -li/-lo 指定源/目标语言;-p 指定页码范围 pdf2zh paper.pdf -li en -lo zh -p 1-3,5 # -s 换服务并指定输出目录 pdf2zh paper.pdf -s deepl -o out # 服务名后跟冒号可直接指定模型 pdf2zh paper.pdf -s openai:gpt-4o-mini| 参数 | 作用 |
|---|---|
-li/-lo | 源语言 / 目标语言,代码参照所选服务的语言列表 |
-s | 翻译服务,服务名:模型名写法可指定模型 |
-p | 只翻译部分页码,如1-3,5 |
-t | 翻译线程数,长文档可适当加大 |
-f/-c | 用正则声明需保持原样的字体或字符(默认已保护 Math、Mono、Italic 等数学/代码字体) |
--dir | 整目录批量翻译,如pdf2zh --dir /path/to/papers/ |
--prompt | 自定义发给大模型的翻译指令,模板支持${lang_in}、${lang_out}、${text}变量 |
--ignore-cache | 忽略翻译缓存,强制重新翻译 |
完整选项与各服务的密钥环境变量对照表见 docs/ADVANCED.md。此外,本地文件不是唯一输入,PDF 的 URL 也可以直接作为参数,例如pdf2zh http://example.org/paper.pdf。
图形界面:不想记参数就点着做
一条命令启动 Web 界面,浏览器访问http://localhost:7860/:
pdf2zh -i界面上可完成文件上传、服务选择、目标语言、页码范围等配置,翻译完成后可直接预览并下载两个产物文件。部署为多人共享服务时,--share可生成对外临时链接;--authorized users.txt用"用户名,密码"文件限制可登录用户,并支持自定义登录页。细节见 docs/README_GUI.md。
Python API:嵌入你自己的脚本
在你的代码里直接调用翻译函数(完整方法列表见 docs/APIS.md):
from pdf2zh import translate (file_mono, file_dual) = translate( files=['paper.pdf'], lang_in='en', lang_out='zh', service='google', thread=4 )部署与集成:对外提供 PDF 翻译服务
Docker 一键部署,适合团队共用一台翻译服务:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh # 之后浏览器访问 http://localhost:7860/仓库内的 Dockerfile 与 docker-compose.yml 可用于二次定制。
Windows 免安装版:从项目发布页下载pdf2zh-version-win64.zip,解压后双击pdf2zh.exe即可运行;若打不开,按提示补装 VC++ 运行库。
HTTP API:安装pdf2zh[backend]后启动后端与任务队列(需要 Redis),即可通过 REST 接口提交任务、查询进度、下载结果:
pip install pdf2zh[backend] pdf2zh --flask pdf2zh --celery workerMCP 服务:pdf2zh --mcp(或加--sse)可把翻译能力暴露给 Claude Desktop 等 MCP 客户端,之后用自然语言就能让 AI 助手替你找文件并翻译,配置示例见 docs/ADVANCED.md 的 MCP 一节。
🧩 适用边界与常见坑
适合 vs 留意:
| 适合 | 需要留意 |
|---|---|
| 带文本层的电子 PDF:论文、技术报告、教材 | 扫描版 / 图片型 PDF 没有可翻译文本,需先做 OCR |
需要"译文 + 原文"对照学习双语表达(-dual.pdf) | 翻译质量取决于所选服务,默认 Google 免配置,要求高时换 DeepL 或大模型 |
批量、可复现地处理整目录文献(--dir) | DeepL、OpenAI、Gemini 等付费服务需提供 API Key,变量名对照见 docs/ADVANCED.md |
| 把翻译接进自己系统(Python / HTTP API / MCP) | 本地运行需 Python 3.11~3.12,或改用 Docker / Windows 免安装版 |
常见问答:
- 首次运行卡住或报网络错误?多半是版面检测模型下载失败,按"快速上手"第 3 步设置
HF_ENDPOINT镜像。 - 个别阅读器显示异常?默认会对输出字体做子集裁剪以减小体积,兼容性不佳时加
--skip-subset-fonts关闭。 - 重复翻译想省 API 额度?已翻译文本段会写入缓存,重复运行不再消耗;要强制重译用
--ignore-cache。 - API 需要走自建中转?
BASE_URL必须以/v1结尾(例如http://your-proxy:8000/v1),完整配置示例见 docs/PROXY_CONFIGURATION.md。 --mode precise是什么?v2 翻译内核(实验性,需先运行pdf2zh-setup-precise搭建独立环境),面向跨栏跨页一致性等边缘场景;正式交付建议先用默认模式。--babeldoc可换用 BabelDOC 后端,Zotero 用户可另装社区插件在文献管理软件里直接触发翻译。
下一步
最短路径回顾:pip install pdf2zh装好,pdf2zh paper.pdf跑通,几分钟拿到第一份双语对照论文。参数与服务配置详见 docs/ADVANCED.md,集成开发参考 docs/APIS.md。项目以 AGPL-3.0 协议开源,可自由使用、修改与分发。
【免费下载链接】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),仅供参考