PDFMathTranslate 保版式 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 翻译英文论文,能拿到纯中文和中英双语两份 PDF,公式、图表、目录、注释完整保留在原位。你只需一条命令,不用配 key,10 分钟内出第一份译文。
它适合什么 / 不适合什么
✅ 适合:
- 公式密集的英文论文:版面模型会区分正文和公式,译文回写原位,公式不变成乱码;
- 需要中英对照的场景:一次产出
dual双语文件,逐句对照阅读; - 整文件夹 PDF 批量翻译:
--dir直接处理一个目录,不用逐个拖文件; - 不想装 Python:Windows 可直接用发布包的
pdf2zh.exe,或 Docker 镜像。
⚠️ 不适合:
- 扫描版、图片型 PDF:工具解析的是文本层,没有文字层就读不到内容;
- 纯离线环境:默认翻译服务要联网;想离线,得换本地模型服务(见进阶);
- 只想要一段文字翻译:它产出的是完整 PDF,不导出文本片段。
跑起来:安装 PDFMathTranslate 并翻译第一篇论文
环境要求 Python 3.11 或 3.12(见 pyproject.toml)。先安装:
pip install pdf2zh把要翻译的文件放在当前目录,执行翻译:
pdf2zh paper.pdf✅ 你会在当前目录得到两个文件:paper-mono.pdf(纯中文版)和paper-dual.pdf(中英双语对照版)。默认用 Google 翻译服务,不用配任何 API key;源语言和目标语言默认是en转zh,可用-li、-lo显式指定。
首次运行会自动下载版面分析模型wybxc/DocLayout-YOLO-DocStructBench-onnx(README 有写)。国内网络下载卡住时,先设镜像环境变量再运行:Windows 用set HF_ENDPOINT=https://hf-mirror.com,PowerShell 用$env:HF_ENDPOINT="https://hf-mirror.com"。
想只试读前几页时,加-p传页码范围,比如pdf2zh paper.pdf -p 1-5。工具带翻译缓存,重复内容不会重复调 API,所以"先翻几页、满意再全量跑"没有额外成本。
进阶路径
路径 1|切换翻译服务:不依赖 Google 或走本地模型
-s参数切换服务:pdf2zh paper.pdf -s bing(免 key)、-s deepl、-s openai、-s ollama(本地模型,翻译环节不依赖外网)。除google、bing外,其他服务都需要先设环境变量,各服务对应的变量名有一张完整对照表,见 docs/ADVANCED.md。
路径 2|自定义提示词:固定术语统一译法
有固定术语(比如希望 mutant 一律译成"突变体")时,写一个提示词文件,用--prompt传入:
pdf2zh paper.pdf --prompt prompt.txt模板支持${lang_in}、${lang_out}、${text}三个变量,格式示例见 docs/ADVANCED.md 的 Custom prompt 一节。改完提示词后记得加--ignore-cache,否则缓存会跳过重翻。
路径 3|批量处理:一个目录一次翻完
pdf2zh --dir /path/to/papers/ -o output/ -t 3--dir传目录,-o指定输出目录,-t控制翻译线程数(默认 4)。产物是目录下每篇文件各一份mono和dual。
路径 4|图形界面与 Docker 部署:团队共用不用碰命令行
pdf2zh -i浏览器没自动弹出就访问http://localhost:7860/,在页面上选文件、选服务、下译文,详见 docs/README_GUI.md。要部署给团队共用,用官方镜像:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zh👉 团队访问同一个http://localhost:7860/(服务器上对应服务器 IP)即可,不需要各自装 Python。
验证效果:翻译前后对比与项目背景
下面两张截图来自官方文档 docs/README_GUI.md:左边是英文原文,右边是翻译后的效果——正文变中文,双栏版式、正文公式、网络图和图注都还在原来的位置。
可以核实的三件事:
- 论文被 EMNLP 2025 System Demonstrations 接收,摘要写明 PyPI 累计下载量超 22 万次,引用信息见 README.md;
- 核心代码都在 pdf2zh/ 包里,版面解析在
pdf2zh/pdfinterp.py,翻译调度在pdf2zh/translator.py,篇幅不长可以顺读; - Python 3.11 和 3.12 是硬性版本范围(
requires-python = ">=3.11,<3.13",见 pyproject.toml)。
避坑清单:现象 → 对策
⚠️ 现象:翻出来的文件是空白或乱码 → 你给的是扫描版,没有文本层,先 OCR 成可复制文字的 PDF 再翻译。
⚠️ 现象:首次运行卡在模型下载 → 设HF_ENDPOINT=https://hf-mirror.com环境变量后重试;仍有其他网络问题查 docs/PROXY_CONFIGURATION.md。
⚠️ 现象:换了服务或提示词,译文却和上次一样 → 翻译缓存生效,加--ignore-cache强制重翻。
⚠️ 现象:输出 PDF 打开有字体兼容问题 → 加--skip-subset-fonts跳过字体子集化。
⚠️ 现象:配自定义 OpenAI 兼容接口报 404 → 检查BASE_URL是否以/v1结尾,这是文档标注的高频错误。
写在最后
今天就可以跑pip install pdf2zh,再执行pdf2zh paper.pdf,十分钟拿到第一份dual对照文件。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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考