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(pdf2zh)是一款完整保留排版的 PDF 论文全文翻译开源工具:先识别文档中的公式、图表与正文,只翻译需要翻译的文本,再写回原位置,输出纯译文与双语对照两个版本。适合科研、学生和工程师阅读外文文献。
🧩 它解决什么问题
如果你用过“整份 PDF 直接丢给机器翻译”,应该体会过麻烦:公式被当纯文本拆碎,符号翻译成乱码,版面顺序被打乱。自己一段段翻译,又得反复来回对照原文。
PDFMathTranslate 的思路是先解析、再翻译。DocLayout-YOLO 模型把每页的文本、公式、表格、插图逐一标注,只把正文送进翻译引擎,译完后按原字体写回原文字框。
和“先翻译再排版”的常规做法有两个关键差异:
- 公式从不出现在翻译 API 的输入里,结果就是原样保留;
- 一次运行同时产出单语版和双语对照版,省去后期拼合。
🚀 快速上手:三种方式跑通 PDF 翻译
图形界面:浏览器里打开翻译页
先装好包(pip install pdf2zh,需要 Python 3.11 到 3.12),然后运行:
pdf2zh -i浏览器会打开 http://localhost:7860/ 的页面,拖入 PDF,选择源语言和目标语言,等进度条走完即可下载结果。操作细节见 GUI 指南。
命令行:一条命令译完一篇论文
没有 uv 的话先装(pip install uv),再用uv tool install --python 3.12 pdf2zh完成安装。翻译时只需要:
pdf2zh your_paper.pdf结束后当前目录会多出两个文件:your_paper-mono.pdf(纯译文)和 your_paper-dual.pdf(双语对照)。
容器化:一行 Docker 部署
docker run -d -p 7860:7860 byaidu/pdf2zh这一行会拉取镜像并启动容器,然后打开 http://localhost:7860/ 就能用同一套图形界面,本地不用准备 Python 环境。
📐 核心功能详解:从公式定位到扫描件 OCR
双语对照:一次跑出两份 PDF
每次翻译都默认生成 -mono 与 -dual 两个文件。对照版左原文右译文、逐段并列,审阅时不用来回切换窗口。
公式与图表定位:默认保护公式字体
布局模型提前标记每个元素的类型,公式、代码、符号字体默认进入保护名单,对应内容全程不动。论文里有特殊字体时,用-f和-c按正则追加排除规则即可。
下面是项目文档里的英文原文页与译后的中文页,公式和插图的位置没有变化:
多语言多引擎:翻译服务随你切换
-li en -lo ja指定语言对,-s切换引擎:Google、DeepL、OpenAI、Ollama 等二十余种服务都接入了。选 Ollama 本地模型时,全文离线翻译,内容不出内网。
扫描件 OCR:fast 模式自动识别
pip install 'pdf2zh[ocr]'装上 OCR 依赖后,fast 模式会对纯图片页自动识别:先把散字重新聚合成段落,再翻译,译文按源字体中位数缩排回原文字框。纯文本 PDF 不会触发识别,不产生额外开销。
🔬 真实场景演练:从毕业答辩到手册本地化
答辩前突击:批量过完 40 篇参考文献
一位博士生要在答辩前读完 40 篇英文文献。逐篇配着翻译工具读,粗略估算超过 20 小时。他把--dir指向文献文件夹,一条命令批量翻完全目录;拿不准的篇目先用-p 1-5只翻前 5 页,看摘要和引言决定是否精读,时间压缩到一次等待的工夫。
扫描版厂商手册的本地化
一位技术支持工程师接到需求:客户要一本扫描版英文手册的中文稿,文本层缺失,人工标注不现实、外包报价高昂。装上 OCR 依赖后,工具逐页识别扫描件再翻译,成品保持原有版式,一天内交付了可给客户的中文版。
双语对照校对译文
一位译审要复核算法论文的中文稿。以前拿纸质原文和 Word 译文逐段对照,术语时好时坏;改用 -dual 文件后,原文译文左右并排,术语问题一眼可见,再配合--prompt prompt.txt约定术语译法,三轮校对压缩到一轮。
🛠️ 进阶玩法:批量处理、精准模式与 API 集成
批量翻译与页面选择
pdf2zh --dir ~/papers/--dir会把目录里所有 PDF 翻完并保留目录结构。局部翻译用-p 1-5或-p 1,3,5选页,-o指定输出目录,-t 4加线程提速。
精准模式:v2 翻译内核
pdf2zh --mode precise paper.pdfprecise 模式启用实验性 v2 翻译内核,在隔离环境里运行,对跨栏、跨页等复杂场景处理更好。安装后先执行pdf2zh-setup-precise准备好独立环境。
自定义提示与缓存控制
--prompt prompt.txt可以定制翻译提示词,文件里用${text}、${lang_in}、${lang_out}占位。程序默认缓存已翻过的文本,重复段落二次运行不再重复调用 API;想强制重翻时加--ignore-cache。完整选项见 进阶文档。
集成到脚本:Python API 与 MCP
在自己的 Python 程序里from pdf2zh import translate,传文件列表或字节流即可拿译文。也可以部署 HTTP 后端(pip install pdf2zh[backend],需 Redis),用 curl 提交任务、查进度、下载结果;或pdf2zh --mcp以 MCP 服务运行,让 AI 助手直接替你翻 PDF。接口细节见 API 文档。
⚖️ 效果对比:常规做法 vs PDFMathTranslate
| 维度 | 常规做法 | PDFMathTranslate |
|---|---|---|
| 公式完整性 | ❌ 常被拆碎变形 | ✅ 不进翻译引擎,原样保留 |
| 版式对齐 | ❌ 重排错位常见 | ✅ 写回原位置,字号自适应 |
| 双语对照 | ❌ 翻译后人工拼版 | ✅ 自动生成 -dual 文件 |
| 翻译引擎 | ⭐⭐ 可选有限 | ✅ 20+ 服务,含本地模型 |
| 扫描件 | ❌ 基本无法处理 | ✅ fast 模式 OCR 识别 |
| 批量处理 | ⭐⭐ 需自己写脚本 | ✅--dir一行搞定 |
❓ 常见问题:三个高频坑
Q:布局模型下载失败,网络访问不了 HuggingFace 怎么办?
A:按官方 README 的提示,安装前设置环境变量HF_ENDPOINT=https://hf-mirror.com,让 DocLayout-YOLO 模型走镜像下载。
Q:输出的 PDF 在某些阅读器里字体异常?
A:默认会做字体子集化来压缩文件体积,遇到兼容性问题时加--skip-subset-fonts重新生成。
Q:同一份文档反复翻译,会不会重复消耗 API?
A:内置翻译缓存,相同段落第二次运行直接复用;确认需要重翻时再用--ignore-cache绕过。
把“外文论文”变成“读得懂的中文”,排版解析、公式保护、双语输出这套流程,工具已经替你搭好。克隆仓库,用你手头的一篇 PDF 试一次:
git clone https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate核心能力:PDF 全文翻译、公式与版式保留、双语对照输出、多引擎翻译、扫描件 OCR 识别
适用场景:外文文献阅读、技术文档本地化、双语材料制作、译文校对
【免费下载链接】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),仅供参考