保留公式与双栏排版:如何用 pdf2zh 快速完成整套 PDF 论文中文翻译
2026/9/20 1:46:58 网站建设 项目流程

保留公式与双栏排版:如何用 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。适合需要精读外文文献的学生和研究人员,不用会编程,两条命令就能上手。

两条命令先跑起来,看到效果再谈别的

结论先行:装完就能翻,不需要配置任何密钥,因为默认走 Google 翻译。

pip install pdf2zh pdf2zh document.pdf

跑完后当前目录会多出两个文件:document-mono.pdf是纯译文版,document-dual.pdf是中英对照版。首次运行会明显慢一些,因为程序要从 Hugging Face 下载一个版面检测模型,下完就有缓存,之后正常。依赖(onnxruntime、pdfminer 等)会随 pip 自动装上,不用手动处理。

有两个小门槛提前说清楚,省得你装到一半卡住:

  • Python 版本必须在 3.11 或 3.12,3.10 和 3.13 都不行(项目声明在 pyproject.toml 里)
  • Windows 用户如果下载 exe 版本双击打不开、报 DLL 相关错误,先装 VC++ 2015–2022 运行库再试

为什么公式和双栏不会散:它只动文字,不碰别的

一句话讲透原理:pdf2zh 先做版面检测,再把翻译服务"外包"出去。

具体来说,程序内部加载了一个 DocLayout-YOLO 的 ONNX 模型(ONNX 就是一种跨平台的模型运行格式),逐页扫描出哪些区域是公式、图片、表格、目录。只有纯文字块会被送去翻译服务,其余元素全程不动。翻译完成后,译文按原来的位置、原来的字体大小"回填"到文本层里——相当于对 PDF 的文本层做外科手术,只替换细胞、不动骨骼。版式检测的具体实现在 pdf2zh/doclayout.py,想看细节可以翻。

官方用一篇 Nature 论文做过完整演示:译文中双栏结构、图编号、脚注、页眉全部在原来的位置,数学符号一个没散。

平时怎么用:单篇、批量、图形界面随便挑

按你的使用场景挑一个就行,五种姿势各有定位:

单篇文件pdf2zh paper.pdf,产物就在当前目录,最常用。

批量翻译pdf2zh --dir /path/to/papers/ -o results/,一个目录的 PDF 一次翻完,输出统一归到-o指定的目录。文献整理到一半想整包翻译时很省事。

图形界面pdf2zh -i启动后浏览器打开http://localhost:7860/,拖文件进去就能翻,配服务、选页码、实时预览都在网页上完成,细节可以看 docs/README_GUI.md。

Docker 部署docker pull byaidu/pdf2zh之后docker run -d -p 7860:7860 byaidu/pdf2zh,同样得到 7860 端口的 Web 界面,适合想长期挂在服务器上给团队用的场景。

接进 Claude Desktoppdf2zh --mcp以 MCP 服务(一种让 AI 客户端调用外部工具的标准协议)注册进去,之后在对话里直接说"翻译这份 PDF"就行,配置示例在 docs/ADVANCED.md 里。

参数不用记一堆,这四个覆盖九成场景

  • -p只翻部分页:pdf2zh paper.pdf -p 1-3,5只处理第 1 到 3 页和第 5 页,翻个摘要或某几节的时候用
  • -s换翻译服务:-s deepl走 DeepL,-s openai:gpt-4o-mini走 OpenAI,各家服务需要的环境变量对照表在 docs/ADVANCED.md
  • -li/-lo指定源语言和目标语言:-li en -lo zh
  • -t翻译线程数:-t 4开四线程并发,长文档能明显提速

剩下像--ignore-cache(忽略缓存强制重翻)、--prompt(自定义 LLM 提示词)、--config(加载 JSON 配置文件)这些,用到再查官方文档即可,不必提前记。

翻不动、卡住、报错:三个坑提前排掉

扫描版 PDF 直接翻不动。纯图片扫描件没有文本层,pdf2zh 解析的是文本层,自然取不到内容。解决办法是先用 OCR 补出文本层再投入翻译(新版实验性的 OCR 支持可以自动对图片页做识别)。

模型下载卡住。首次运行要拉wybxc/DocLayout-YOLO-DocStructBench-onnx,部分地区访问 Hugging Face 受限。跑之前先设镜像变量:

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 里的表格对号入座,设完再跑就好。

想"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

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

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

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

立即咨询