如何快速翻译英文论文 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(命令行名 pdf2zh)专治这个问题:它先做版面检测再动笔,科学 PDF 里的数学符号与分栏结构在译文中基本原样保留,一份原文还会产出纯译文与中英对照两份文档。
先看效果:翻译前后对比 📄
同一篇 Nature 论文翻译前后的官方截图如下,左为英文原文、右为 pdf2zh 输出的中文 PDF:双栏结构没有塌,公式区域没被当成正文乱翻,图表编号、脚注和页眉的位置也都和原页对齐。对照这两张图,基本就能判断它适不适合你的文献阅读场景。
快速上手:装好到出稿只需两条命令
前提是本机 Python 版本在 3.11 到 3.12 之间。装包这一步:
pip install pdf2zh装完即可调用pdf2zh命令,对目标文件执行:
pdf2zh document.pdf跑完后当前目录会多出document-mono.pdf(纯译文)和document-dual.pdf(中英对照)两个文件,后者适合逐段核对译名与公式位置。默认翻译走 Google 通道,不需要配置任何密钥,第一篇文献跑通前不用额外折腾。不想搭 Python 环境的 Windows 用户,可以直接从项目 release 页下载 exe 版本双击运行;文献管理重度用户可以留意配套的 Zotero 插件。核心实现都放在 pdf2zh/ 目录里,好奇原理可以顺着看。
三种高频使用场景:参数这样加
如何配置 DeepL 密钥切换翻译服务
默认通道不够用、想换质量更高的模型时,换服务分两步。先把密钥写成环境变量:DeepL 需要DEEPL_AUTH_KEY,OpenAI 系需要OPENAI_API_KEY与OPENAI_BASE_URL(-s openai:gpt-4o-mini这种写法可在参数里直接点名模型),本地 Ollama 则是OLLAMA_HOST和OLLAMA_MODEL。再在命令里用-s声明服务,例如pdf2zh document.pdf -s deepl。全部服务与环境变量的对照表见 docs/ADVANCED.md 的 services 小节。另外-li/-lo指定源语言与目标语言,-t调节并发线程数。
一键批量翻译文献文件夹
开题或做综述时,目录里往往堆着几十篇待翻文献。此时用--dir指向文献目录、-o指定结果输出位置,一条命令跑完整批:pdf2zh --dir /path/to/papers/ -o results/。同一套参数要反复使用的,还可以写进 JSON 文件后用--config加载,省得每次手敲。
只翻指定页码:先看几页再决定全文
只想先扫一眼引言或实验部分、不想等整篇翻完时,用-p圈出页码范围即可,格式是逗号分隔的区间列表:pdf2zh document.pdf -p 1-3,5表示只处理第 1、2、3、5 页,很快就能拿到部分译文核对效果。
避坑与常见问题 🛠️
纯扫描件的 PDF 为什么翻不出来?它解析的是 PDF 自带的文本层,整页图片的扫描件拿不到文字,需要先做 OCR;项目现在也提供实验性本地 OCR 能力,按pdf2zh[ocr]附加依赖安装后,可自动对纯图片页做识别再翻译。
首次运行卡在下载版面模型?第一次使用要拉取wybxc/DocLayout-YOLO-DocStructBench-onnx这个布局检测模型,网络受限时先设置环境变量HF_ENDPOINT=https://hf-mirror.com指向镜像,再启动翻译。
报"缺少密钥"类的错误?默认 Google 服务不要求密钥;只有当你用-s切到 DeepL、OpenAI 等服务后,才必须先把对应的环境变量(如DEEPL_AUTH_KEY、OPENAI_API_KEY)设置好,完整变量清单在 docs/ADVANCED.md。
同一篇文献重复跑,结果似乎没更新?译文存在本地缓存,相同内容不会重复调用翻译接口,这能省时间也能省额度;想强制全部重译时加上--ignore-cache。
个别字符或字体被当正文翻掉了?用-f和-c传正则表达式,声明哪些字体、哪些字符必须原样保留。默认已保护Latex、Mono、Code、Italic、Symbol、Math六类公式字体,绝大多数论文无需改动。
进阶用法:GUI、容器与 MCP 一句话带过
不想碰命令行时,执行pdf2zh -i启动 Web 图形界面,浏览器打开http://localhost:7860/,拖文件、选服务、实时预览译文,细节见 docs/README_GUI.md。
服务器部署走容器即可:docker pull byaidu/pdf2zh拉取镜像,docker run -d -p 7860:7860 byaidu/pdf2zh启动并映射 7860 端口。想接入 Claude Desktop 这类客户端,运行pdf2zh --mcp(STDIO 模式,加--sse切 SSE);要在自己的程序里复用翻译能力,则参考 docs/APIS.md 的 Python API 与 HTTP API 两节。
下一步
- 先挑一篇 5 页左右的短文跑一遍,逐页对照
dual输出里的公式和分栏位置,确认符合预期再上批量。 - 批量场景把
--dir与-o组合使用,并用--config把参数固化成 JSON,方便下次原样复跑。 - 遇到密钥缺失、代理、字体保留等细节问题,按 docs/ADVANCED.md 目录定位对应小节;更多文档入口在 docs/ 目录,二次开发查 docs/APIS.md。
【免费下载链接】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),仅供参考