如何保留公式和双栏排版翻译英文论文: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
把英文 PDF 论文翻译成中文,最怕的是公式被拆散、双栏排得七零八落。PDFMathTranslate(包名pdf2zh)是一款开源的 PDF 全文翻译工具:它靠大模型翻译加上版面检测,在输出中文的同时保住原文的版式结构。
为什么普通翻译工具不够用
直接复制文本喂给机器翻译,得到的是失去上下文的段落:行内公式变成乱码字符串,图表编号串了位,双栏阅读顺序也被打乱。对科研文献来说,这些细节恰恰是理解内容的前提。PDFMathTranslate 的思路是先解析版面、再翻译文本,非文字元素(公式、图表、目录)保持原样,只处理语言部分,从源头上避免了"翻着翻着排版散了"的问题。
这个项目一句话讲明白
它的技术底座是两部分:大模型负责语言转换,内置的 DocLayout-YOLO 模型负责识别页面上的公式、图表等元素。跑完一次翻译,当前目录会得到两个文件:xxx-mono.pdf是纯中文译文,xxx-dual.pdf是中英对照版本,两者可分别用于精读和查证。
三分钟跑起来
前置条件只有一条:Python 3.11 或 3.12。然后两条命令:
pip install pdf2zh pdf2zh document.pdf执行完成后,document-mono.pdf和document-dual.pdf就生成在工作目录里,默认翻译服务是 Google,无需任何密钥。不想敲命令的话,装完执行pdf2zh -i进浏览器操作;想容器化部署或直接用 Windows 免安装版(release 页的 exe)也各有一条路,下文都会讲到。
选一种适合你的用法
命令行—— 适合脚本化、批处理场景:
pdf2zh document.pdf -s openai:gpt-4o-mini浏览器图形界面—— 适合偶尔翻一两篇:执行pdf2zh -i,浏览器访问http://localhost:7860/,上传文件、选服务、点翻译,右侧实时预览。
Docker 容器—— 适合部署到服务器,两条命令:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zhMCP 服务器—— 把翻译能力挂进 Claude Desktop 之类的客户端:执行pdf2zh --mcp启动 STDIO 模式,加--sse参数则走 SSE 模式。
常用参数速查
| 参数 | 作用 | 示例 |
|---|---|---|
-s | 切换翻译服务,支持服务名:模型名写法 | pdf2zh paper.pdf -s deepl |
-p | 指定要翻译的页码范围 | pdf2zh paper.pdf -p 1-3,5 |
-li/-lo | 源语言 / 目标语言 | pdf2zh paper.pdf -li en -lo ja |
-t | 翻译并发线程数 | pdf2zh paper.pdf -t 2 |
--ignore-cache | 跳过翻译缓存,强制重新翻译 | pdf2zh paper.pdf --ignore-cache |
--dir | 批量翻译整个目录 | pdf2zh --dir /path/to/papers/ -o results/ |
--prompt | 自定义 LLM 提示词文件 | pdf2zh paper.pdf --prompt prompt.txt |
--config | 加载 JSON 配置文件 | pdf2zh -i --config config.json |
关于翻译缓存:相同的文本片段只调用一次 API,之后直接复用结果。同一批文献反复处理、或多人共用机器时,这部分能省掉可观的时间和额度。
翻译效果是否保住排版
以官方演示里的 Nature 论文为例:英文版经过版面解析后,译文页完整保留了双栏结构——图表编号、脚注、页眉(期刊名、卷期、DOI)都留在原来的位置;公式(比如 (\frac{b}{c} > k) 这类符号)按原文样式输出,没有被翻译成文字或拆断。换句话说,你拿到的不是一篇"翻译过的文档",而是一份排版与原文一致的中文版。
三个使用前提要留意
扫描版 PDF 需要先 OCR。工具解析的是 PDF 内嵌的文本层,纯图片扫描件里没有文本可读。先用 OCR 生成带文字层的版本,再交给它处理。
首次运行要下载模型,网络受限地区需配镜像。程序依赖wybxc/DocLayout-YOLO-DocStructBench-onnx模型,部分地区拉取会卡住。Windows CMD 下执行set HF_ENDPOINT=https://hf-mirror.com,PowerShell 下执行$env:HF_ENDPOINT = https://hf-mirror.com,再启动即可。
第三方服务要先设好密钥环境变量。比如 DeepL 需要DEEPL_AUTH_KEY,OpenAI 需要OPENAI_API_KEY等,各服务对应的变量名和项目内 docs/ADVANCED.md 中的服务对照表一致,设置完成后再用-s指定服务。
它适合谁
- 研究生和科研人员:啃外文文献的主力人群,
mono版精读、dual版对照查证; - 学生党:图形界面零门槛,一篇论文三分钟起步;
- 需要批量处理文献的读者:
--dir加翻译缓存,整个文件夹一次跑完。
项目已被 EMNLP 2025 收录,维护保持活跃。想上手的话,从这一条命令开始:
pip install pdf2zh参数细节查 docs/ADVANCED.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),仅供参考