PDF翻译实战指南:用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(命令名pdf2zh)是一款保留排版的 PDF 翻译工具:先用 DocLayout-YOLO 模型识别文档结构,再把文本块交给 Google、DeepL、OpenAI 等翻译服务,最后将译文回填到原页面,直接输出 PDF 双语文档与纯中文版。
功能概览
- 版面解析翻译:自动识别公式、图表、表格区域,公式内容不进入翻译流程,只处理正文文本块。
- 可换翻译引擎:默认 google,也支持 deepl、openai、ollama 等服务,用
-s参数指定。 - 双文件输出:每个源文件生成
-mono(纯译文)与-dual(双语)两份 PDF。 - 多种使用路径:命令行、Web 图形界面、Docker 容器均可。
- 本地缓存:译文会缓存,同一文档重复执行时直接复用。
安装pdf2zh并完成首次PDF翻译
环境要求 Python 3.11 或 3.12。先安装,再指向目标文件:
pip install pdf2zhpdf2zh document.pdf首次运行会先下载 DocLayout-YOLO 版面模型。成功的标志是:当前目录出现两个新文件,命名规则为<原文件名>-mono.pdf(纯中文版)与<原文件名>-dual.pdf(双语版)。
选择合适的使用路径
| 使用场景 | 推荐方式 | 入口命令 |
|---|---|---|
| 本地单篇、脚本化批量 | 命令行 | pdf2zh file.pdf |
| 可视化操作、偶尔使用 | Web 图形界面 | pdf2zh -i |
| 无本地 Python 环境、团队共享 | Docker 容器 | docker run -d -p 7860:7860 byaidu/pdf2zh |
命令行路径最短,语言、页码、引擎全部以参数控制,便于写脚本或批量处理。
Web 图形界面:执行pdf2zh -i后在浏览器打开http://localhost:7860/,上传文件、选择服务即可开始。
Docker:拉取镜像并启动容器,映射 7860 端口后访问与界面相同的页面,无需本地安装依赖:
docker pull byaidu/pdf2zh docker run -d -p 7860:7860 byaidu/pdf2zhPDF翻译常用参数调优
| 参数 | 作用 | 示例 |
|---|---|---|
-s | 选择翻译引擎,默认 google | pdf2zh example.pdf -s openai |
-li/-lo | 源语言 / 目标语言代码 | pdf2zh example.pdf -li en -lo ja |
-p | 页码范围,支持区间与散页 | pdf2zh example.pdf -p 1-3,5 |
-t | 翻译线程数,默认 4 | pdf2zh example.pdf -t 1 |
--dir | 批量翻译整个目录 | pdf2zh --dir /path/to/translate/ |
--ignore-cache | 忽略翻译缓存,强制重译 | pdf2zh example.pdf --ignore-cache |
--config | 加载 JSON 配置文件 | pdf2zh example.pdf --config config.json |
完整参数与各引擎所需环境变量见 高级参数文档。
真实翻译效果
下面是项目中的两个实际样例。原页面为英文论文:
翻译完成后,中文在对应位置回填,公式与版面结构保持不变:
避坑与实用建议
- 第三方引擎报错——各服务依赖对应环境变量:DeepL 需
DEEPL_AUTH_KEY,OpenAI 需OPENAI_API_KEY与OPENAI_MODEL;google、bing 无需配置。 - 首次运行下载模型超时——版面模型来自 Hugging Face,网络受阻时先设置
HF_ENDPOINT镜像变量再执行。 - 输出文件出现字体或页面兼容问题——加
--skip-subset-fonts关闭字体子集化,体积变大但兼容性更好。 - 切换引擎后仍返回旧译文——默认复用本地缓存,需要重译时追加
--ignore-cache。 - 固定参数不想每次手输——写入 JSON 配置后用
--config指向,默认读取~/.config/PDFMathTranslate/config.json。
下一步
- 安装后执行
pdf2zh --version,确认命令已进入 PATH。 - 先用
-p 1试译单页,确认公式与版面无误后再跑全文。 - 按 高级参数文档 中的表格,为所需翻译服务配置环境变量。
- 需要接入自己的程序时,参考 API 文档 的 Python API 与 HTTP API 两节。
- 使用自定义提示词、用户授权或 MCP 模式前,先通读该文档的对应章节。
【免费下载链接】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),仅供参考