☰
免费 PDF 翻译:pdf2zh 十分钟翻出公式原样保留的双语论文
2026/10/11 1:35:24 网站建设 项目流程

免费 PDF 翻译:pdf2zh 十分钟翻出公式原样保留的双语论文

【免费下载链接】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 全文翻译工具:正文译成中文,公式、图表、目录留在原位。跑完得到两份文件:paper-mono.pdf(纯中文版)和paper-dual.pdf(中英对照版)。

原理与边界:版面模型分块,译文写回原坐标

链路一句话:pdf2zh 先用版面模型(预训练好的轻量模型,ONNX 格式,一种跨平台通用的模型部署格式)识别页面上每一块——正文、公式、图、图注——把需要翻译的正文送进你选定的翻译服务,再把译文写回原文所在位置。这是 PDF 公式保留翻译,页面不会被压扁成截图。

  • 适合:带文本层的英文论文,尤其双栏、公式密集的理工科文献。
  • 不适合:扫描件和图片型 PDF。工具只读文本层,图片型 PDF 里没有可读文字,得先 OCR(光学字符识别,把图片里的字变成可选中、可复制的文本)做出带文本层的 PDF 再翻;新版还有实验性的内置 OCR 功能(pip install 'pdf2zh[ocr]'),翻译前自动对图片页跑本地 OCR,但仍是实验状态。

这个项目被 EMNLP 2025 System Demonstrations 收录,论文摘要写明 PyPI 下载量超 22.2 万,数字出自摘要,README 的引用块里可查原文。

十分钟拿到第一份双语 PDF:装、跑、自查

命令

环境仅需 Python 3.11/3.12,两条命令从装到跑:

pip install pdf2zh pdf2zh paper.pdf

判断成功:命令结束后,当前目录多出paper-mono.pdf和paper-dual.pdf两个文件。

Windows 上不想装 Python:到项目发布页下载pdf2zh-version-win64.zip,解压后双击pdf2zh.exe;打不开就先装vc_redist.x64.exe(VC 运行库)再试。

跑完自查

  • 目录里多了带-mono和-dual后缀的两份文件,与源文件名一一对应。
  • 打开 dual 版:正文是中文,公式和图还是公式和图,不是被转成的图片。效果参照:

  • 通读一遍 mono 版:读得懂、版式无明显错位,就算通过。

全程不需要额外配置:默认翻译服务是 google,google、bing 两个服务都免 API key(API key 即调用付费接口的身份密钥)。

译得更好一点:质量三档、术语统一、缓存省钱

按「你想要什么」分:

  • 💡想零配置跑通:默认 google 就够,或加-s bing换服务,都不需要 key。
  • 想提高质量档:-s deepl或-s openai。前者要设DEEPL_AUTH_KEY,后者要设OPENAI_API_KEY等,每个服务各需哪些环境变量,见环境变量对照表。
  • 想断网可用:-s ollama接本地模型(默认地址http://127.0.0.1:11434),翻译环节不走外网。
  • 想让术语统一:比如 "mutant" 一律译「突变体」。写一个提示词文件,用--prompt prompt.txt传入,模板支持${lang_in}、${lang_out}、${text}三个变量。
  • 想省成本:内置翻译缓存,相同内容不会重复调用 API。「先试翻几页、满意再全量」这条路是零成本的,写法看下一节。

从一篇到一团队:批量、GUI、Docker

  • 只翻几页:加-p 1-5,也支持-p 1-3,5这种写法。
  • 显式指定语言方向:-li en -lo zh。
  • 一文件夹英文论文批量翻译:
pdf2zh --dir /path/to/papers/ -o output/ -t 3

判断成功:output/里出现与每个源文件对应的-mono/-dual成对文件;-t是翻译线程数。

  • 图形界面:跑pdf2zh -i,浏览器没自动弹出就访问http://localhost:7860/,把 PDF 拖进去点 Translate 即可,细节见 GUI 说明。

  • 🐳 团队共用 Docker,大家不必各自准备 Python 环境:先docker pull byaidu/pdf2zh拉镜像,再docker run -d -p 7860:7860 byaidu/pdf2zh起容器,之后每个人用浏览器访问http://localhost:7860/进界面。判断成功:浏览器能打开这个地址并看到选文件页面。

翻不动了?对号入座

症状原因处理
扫描件翻出来是空的或没结果PDF 是纯图片,没有文本层,工具只读文本层先 OCR 出带文本层的 PDF 再翻;或试新版实验性内置 OCR(pip install 'pdf2zh[ocr]')
首次运行卡在模型下载或超时要下载版面模型wybxc/DocLayout-YOLO-DocStructBench-onnx先设 HF 镜像再运行:CMD 用set HF_ENDPOINT=https://hf-mirror.com,PowerShell 用$env:HF_ENDPOINT = https://hf-mirror.com;其他网络问题查代理配置文档
换了服务或提示词,译文却没变命中翻译缓存,没有重新调 API加--ignore-cache强制重翻
输出 PDF 字体显示异常字体子集化(只保留实际用到的字形以压缩文件体积)的副作用加--skip-subset-fonts跳过该步骤

按身份走

  • 在读论文的人:今天就pip install pdf2zh,挑必读的那篇,用-p 1-10先确认质量,再全量跑出一份-dual,当 PDF 中英对照逐段读。
  • 维护团队工具的人:把上面两条 Docker 命令起一个实例,团队所有人从浏览器进,不用各自装环境。
  • 想读懂实现的人:从pdf2zh/包读起,版面解析在pdfinterp.py,翻译调度在translator.py,篇幅不长。提醒一句:Python API 目前处于弃用状态,计划在 2.0 重新提供,需要程序化调用以 API 说明 为准。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询