3 步用 pdf2zh 完成科学 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 公式翻译时能尽量维持原稿版面,输出 mono 纯译文与 dual 中英对照两份文档。适合需要阅读外文文献、做 PDF 中英对照的学生与研究人员。
📦 三步跑通第一份译文
- 第 1 步,装好环境。需要 Python 3.11 或 3.12:
pip install pdf2zh- 第 2 步,执行翻译。在 PDF 所在目录运行,默认使用 Google 翻译服务:
pdf2zh document.pdf- 第 3 步,拿结果。当前目录会生成
document-mono.pdf(纯译文)和document-dual.pdf(中英对照)。
不想配 Python 环境的话,可以从仓库 release 页下载 Windows 版 exe 双击运行;用 Zotero 管理文献的用户,README 中也有配套插件可装。
🧩 它凭什么不乱公式
它先做版面检测、再翻译,而不是整页直翻。内置 DocLayout-YOLO 模型会先定位公式、图表、目录和注释的位置,之后只翻译文字区域,所以公式编号、图表编号和页眉页脚一般能保持原样。
使用前注意三点:
- 它解析的是 PDF 文本层,纯图片扫描件无法直接翻译,需先完成 OCR;
- 默认翻译服务是 Google,不配置密钥就能用;
- 首次运行会下载版面模型
wybxc/DocLayout-YOLO-DocStructBench-onnx,网络受限时把环境变量HF_ENDPOINT指向镜像地址即可。
常用参数速查表
| 参数 | 作用 |
|---|---|
-p | 只翻译指定页码 |
-li/-lo | 源语言 / 目标语言 |
-s | 指定翻译服务 |
-t | 并发线程数 |
-o | 输出目录 |
--dir | 批量处理目录内所有 PDF |
--ignore-cache | 忽略翻译缓存 |
--config | 加载 JSON 配置文件 |
按场景选用法
批量翻译整个论文目录
把--dir指向文献文件夹,用-o指定结果位置,一条命令处理整批 PDF:
pdf2zh --dir /path/to/papers/ -o results/只核对某几页
用-p写页码范围,如-p 1-3,5只翻译第 1、2、3、5 页,先小范围抽查再跑全文。
切换 DeepL、OpenAI 或 Ollama 翻译服务
先设置对应环境变量,再用-s指定服务名:-s deepl对应DEEPL_AUTH_KEY,-s openai:gpt-4o-mini需要OPENAI_API_KEY与OPENAI_BASE_URL,本地 Ollama 模型同理。各服务的变量对照表见 docs/ADVANCED.md。
不想敲命令:GUI、Docker 与 MCP 三种替代方式
- GUI:运行
pdf2zh -i,浏览器打开http://localhost:7860/,拖入文件、配置服务与页码后即可实时预览译文,细节见 docs/README_GUI.md。 - Docker:拉取
byaidu/pdf2zh镜像并映射 7860 端口:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh- MCP:
pdf2zh --mcp以 STDIO 方式启动 MCP 服务器,追加--sse切换为 SSE,可接入 Claude Desktop 一类客户端。
译文怎么验收
拿到 dual 文档后,逐页核对这几点:
- 双栏结构没有错位,分栏与原文一致;
- 图表编号、公式编号位置和原文对得上;
- 公式区域的数学符号原样保留,没有被当普通文字翻译;
- 页眉、页脚与脚注没有串位。
下面是官方演示中同一篇 Nature 论文翻译前后的对比,可以看到双栏版面与图表编号均按原文保留:
个别字体输出异常时,可用-f与-c指定应保留的字体或字符模式;默认保留Latex、Mono、Code、Italic、Symbol、Math六类字体。
卡住了先看这里
- 模型下载失败:设置
HF_ENDPOINT指向镜像地址后重试。 - 提示密钥缺失:确认对应服务的环境变量已按 docs/ADVANCED.md 的 services 小节配置完整。
- 译文有重复或异常:可能命中了翻译缓存,加
--ignore-cache强制重新翻译。 - 字体或符号被翻译:用
-f/-c把对应字体或字符模式列入例外。
延伸阅读
- 项目主文档:README.md
- 参数、服务与镜像等进阶用法:docs/ADVANCED.md
- GUI 使用说明:docs/README_GUI.md
- Python API 与 HTTP API: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),仅供参考