# PDFMathTranslate 双语 PDF 教程：上传一页原文并核对译文

从原创一页英文报告开始，运行本地 WebUI、选择语言与服务，逐项检查双语 PDF 的数字、标题和原文页。

运行范围：原创 PDF/CSV/EPUB/HTML 材料与本地验收已实际执行。没有调用翻译模型、没有连接 Zotero 库、没有填写凭证。官方截图为官方项目示例，不是本练习运行输出。

依赖：Python 3.11+；PDF 验收需 Poppler 的 pdfinfo/pdftotext；OCR 复现需 tesseract 英文语言数据。安装翻译工具时遵循各自官方 Python 要求。

## 1. 准备一页原文与核对清单

解压练习包，打开 source.pdf，确认是原创设备检查报告。先核对 12、21.5 与 3/12，不要上传真实客户文档。教材已完成 PDF 结构检查，模型翻译尚未运行。

```sh
python3 verify.py
```

## 2. 在独立环境安装主仓库版本

主仓库 CLI 为 pdf2zh；按官方要求使用 Python 3.11 或 3.12。把实际安装版本写入自己的 run-notes.md，不能把 Next 的参数复制到这里。

```sh
uv tool install --python 3.12 pdf2zh
pdf2zh --version
pdf2zh --help
```

## 3. 打开本地 WebUI

执行 pdf2zh -i，在浏览器打开 localhost:7860。拖入 source.pdf；官方截图供定位上传入口，界面会随版本变化。不要启用 share 公开练习目录。

```sh
pdf2zh -i
```

## 4. 选择语言与翻译服务

源语言选择 English，目标选择 Simplified Chinese。先选自己已有可用额度的服务；需要 API Key 时在本机填写，截图中隐藏整段密钥。本教材没有替你调用服务。

## 5. 生成并分别保存两种 PDF

点击 Translate，等待结束后下载译文单语版和双语版。主仓库 CLI 常见文件为 source-mono.pdf 与 source-dual.pdf；GUI 以实际下载标签为准，保存到 output/。

## 6. 按原文逐项验收

原文必须仍可读，译文不应盖住数字或越过页面。用 checklist.csv 对照标题、12、21.5、3/12 和 rate limit 的语义；结构通过不等于译文正确。

```sh
pdfinfo output/source-dual.pdf
pdftotext -layout output/source-dual.pdf output/dual.txt
```

## 7. 保存结果与失败记录

将实际版本、服务名、耗时和未通过项记入 run-notes.md。不要把官方项目截图当成本练习的翻译结果；发布练习结果前检查输入和输出都不含密钥。

## 来源

- https://github.com/PDFMathTranslate/PDFMathTranslate
- https://github.com/PDFMathTranslate/PDFMathTranslate/blob/main/docs/README_GUI.md

## 教材

原创输入材料可用于学习练习。官方图片版权归原作者，网页中保留来源；ZIP 不打包这些官方图片。
