单条命令译出双语对照:PDFMathTranslate(pdf2zh)保留排版的 PDF 翻译教程

单条命令译出双语对照:PDFMathTranslate(pdf2zh)保留排版的 PDF 翻译教程

【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero 【免费下载链接】PDFMathTranslate 项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate

PDFMathTranslate(Python 包名 pdf2zh)是一款面向科研论文的开源 PDF 翻译工具:它先用版面分析把页面拆成文本区与非文本区,只把文本区送去做翻译,译文再回填到原来的坐标位置,一条命令就能同时拿到纯译文版和中英双语对照版,版式原样保留。

痛点:论文里一粘公式就变乱码

有试过这种操作吗:从英文论文里选中一段贴进翻译网站,行内公式当场变乱码,双栏正文挤成一列;表格复制到文档里直接塌掉。问题出在普通工具只认「文字」、不认「版面」——这正是 PDF 论文翻译工具要解决的活。

PDFMathTranslate 的做法是:先让版面识别模型(用深度学习自动判断页面里哪块是正文、哪块是公式)对每一页做正文、公式、图表、表格、页眉页脚的区域划分;正文逐段送进翻译服务,公式、插图、页眉原地不动;译文按原坐标贴回,多栏、跨页的文档也不会散架。

PDFMathTranslate PDF 翻译前后对比:左为英文原版页面,右为中文译文,公式保持原位

跑完你会拿到两份成品:

  • paper-mono.pdf:只有译文,直接通读;
  • paper-dual.pdf:原文与译文并排,适合逐段对照精读。

🚀 十分钟拿到第一份双语 PDF

整个上手只有两步,环境要求 Python 3.11~3.12:

# 第一步:安装
pip install pdf2zh

# 第二步:翻译任意一个 PDF
pdf2zh paper.pdf

翻译完,当前目录会多出 paper-mono.pdf 和 paper-dual.pdf 两个文件。默认走 Google 服务、不碰任何密钥,这是确认安装没装坏的最快路子。

两个容易卡住的地方,提前说明:

  • 模型下载卡壳:首次运行要从网络拉一份页面切分模型(几十 MB),下载失败时先切镜像源再跑,Windows 的 cmd 用 set,PowerShell 用 $env::

    set HF_ENDPOINT=https://hf-mirror.com
    
  • 不想背参数:一条命令就能在浏览器里打开图形界面,填表式操作,访问 http://localhost:7860/ 即可:

    pdf2zh -i
    

    pdf2zh 图形界面:左侧配置翻译服务与参数,右侧预览翻译后的 PDF

    登录限制、对外共享链接等选项见 GUI 说明。

保住排版的三步走

所谓保留排版的 PDF 翻译,拆开就三步,不用啃代码也能记住:切区——版面识别模型给页面上的每块内容打标,正文、公式、图、表、页眉页脚各归各位;挑着译——只有正文进入翻译流程,公式、图表、页眉一概不碰;贴回去——译完逐块按原始坐标落回页面,字体样式照旧。全程在程序内部完成,你不用手动复制任何东西。

常用命令行组合

日常用到的高频开关,配四个典型组合:

# 指定源语言与目标语言,只处理部分页码
pdf2zh paper.pdf -li en -lo zh -p 1-3,5
# 换用 DeepL 服务,输出到指定目录
pdf2zh paper.pdf -s deepl -o out
# 大模型服务:冒号后直接跟模型名
pdf2zh paper.pdf -s openai:gpt-4o-mini
# 批量:目录下所有 PDF 逐一处理
pdf2zh --dir /path/to/papers/

常用开关速查:

  • -li / -lo:源语言与目标语言,语言代码以所用服务的文档为准;
  • -s:挑翻译服务,服务名后加冒号跟模型名,可一步指定模型;
  • -t:并发线程数,长文档适当调大能提速;
  • -f / -c:用正则把特定字体名或字符过滤掉、不参与翻译,数学与代码字体默认已受保护。

另外,PDF 链接可以直接当输入:pdf2zh http://example.org/paper.pdf,省去手动下载。全部参数见 高级选项参考。

🔌 把翻译能力挂进自己的工具链

除命令行外,还有三种集成方式,细节都在 API 文档 里。

Python API——在脚本里直接当函数调用:

# 在自己的脚本里当函数用,返回两个输出文件的路径
from pdf2zh import translate

(file_mono, file_dual) = translate(
    files=['example.pdf'],
    lang_in='en', lang_out='zh',
    service='google', thread=4,
)

HTTP API——装好 pdf2zh[backend] 扩展后跑 pdf2zh --flask 与 pdf2zh --celery worker,就能用 REST 提交翻译任务、轮询进度、下载结果,适合封装成自家的在线翻译服务。

MCP——pdf2zh --mcp(或加 --sse)把工具挂到 Claude Desktop 这类 MCP 客户端上,用一句自然语言就能让 AI 助手替你调翻译。

🐳 部署:容器一条命令,或免安装版

团队共用一台机器,直接上容器:

docker pull byaidu/pdf2zh
docker run -d -p 7860:7860 byaidu/pdf2zh

启动后在浏览器打开 7860 端口,界面与本地 pdf2zh -i 完全一致。仓库里自带 Dockerfile 和 docker-compose.yml,想改镜像照着改就行。

Windows 用户可以从发布页拿 pdf2zh.exe 压缩包,解压双击就能跑;打不开的话先补装 VC++ 运行库。

两个实验特性顺手一提:--mode precise 切到 v2 翻译内核,需先用 pdf2zh-setup-precise 搭独立运行环境,瞄准跨栏、跨页对齐这类更棘手的场景;--babeldoc 换成 BabelDOC 后端,可搭配 -s openai。Zotero 用户还能找社区插件,在文献管理工具里直接发起翻译。

API 要经过自建中转的话,看 代理配置文档,自定义 BASE_URL 记得补 /v1 后缀。

⚠️ 用之前先知道的几件事

  • 扫描版 PDF 无效:程序翻译的是 PDF 内嵌的文本层,纯图片的页面没有任何可翻内容,得先做 OCR;
  • 免费服务零密钥:Google、Bing 直接可用;换成 DeepL、OpenAI、Gemini 这类付费服务,要在环境变量或配置文件里放好对应的 Key,变量名对照 高级选项参考;
  • 本地跑有版本门槛:Python 3.11~3.12,嫌麻烦就走 Docker 或 Windows 压缩包那条路。

现在就开始

现在就跑这一行,几分钟就能拿到一份中英对照的成品 PDF,这也是「开源 PDF 双语对照」场景里最省事的路子:

pip install pdf2zh

项目以 AGPL-3.0 协议开源,可自由使用、修改和再分发。这篇 PDFMathTranslate 使用教程就讲到这,参数细节见 高级选项参考,二次开发看 API 文档,剩下交给你的第一篇论文。

【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero 【免费下载链接】PDFMathTranslate 项目地址: https://gitcode.com/GitHub_Trending/pd/PDFMathTranslate

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值