用 PaddleOCR-VL 解析 PDF(公式/表格/图片识别准),用 DeepSeek 翻译,生成逐页英中对照的 PDF。原文页与译文页交替排列,公式按 LaTeX 重新渲染,图片、表格原样保留。
适合翻译学术论文、技术文档、带公式和图表的书籍。
- 逐页对照:原英文页 + 渲染的中文页交替,严格 1:1 对应,方便对照阅读
- 公式精准:飞桨解析 LaTeX,本地 matplotlib 渲染;公式尺寸自动与正文协调
- 图表保留:原文插图、图表自动下载并嵌入译文页
- 批量并发:多个 PDF 并发 OCR,逐页并发翻译
- 桌面版:填入两个 key、选 PDF、点开始即可,无需命令行
- 隐私:密钥只存在你本机(
~/.pdf-bilingual-translator/config.json),不上传任何第三方
| 服务 | 用途 | 获取地址 |
|---|---|---|
| DeepSeek API Key | 翻译 | https://platform.deepseek.com/ → API Keys |
| PaddleOCR Token | PDF 解析 | 百度 AI Studio PaddleOCR-VL 应用控制台 |
到 Releases 下载 PDF双语翻译器.exe,双击运行。
pip install -r requirements.txt
python gui.py界面里填入两个密钥 → 「添加文件 / 添加文件夹」选 PDF → 设置输出目录 → 「▶ 开始翻译」。密钥会保存在本机,下次自动带出。
FastAPI 后端 + 原生前端:用户注册账号 → 上传 PDF → 后台翻译 → 下载双语对照 PDF。密钥由服务端统一提供。额度模型:每账号每天 50 页免费,不够用购买页数包(充值进余额、永久有效,扣费先扣免费再扣余额)。手动充值:python -m webapp.grant_credits <用户名> <页数>。
pip install -r requirements-web.txt
cp webapp/server_config.example.json webapp/server_config.json # 填入 key
bash webapp/run.sh # http://localhost:8000完整部署步骤见 webapp/DEPLOY.md。
pip install -r requirements.txt
# 密钥:环境变量 或 复制 config.example.json 为 config.json 填入
export DEEPSEEK_API_KEY="sk-..."
export PADDLE_TOKEN="..."
python cli.py paper.pdf # 单个文件
python cli.py ./papers # 整个目录
python cli.py ./papers -o ./out # 指定输出目录输出(默认 output/):
xxx-dual.pdf—— 逐页英中对照(核心产物)xxx-en.md/xxx-zh.md—— OCR 英文 / 译文 Markdown,便于核对
pip install pyinstaller
python build_exe.py # 产物在 dist/PDF ──PaddleOCR-VL异步API──► 逐页 Markdown(含LaTeX/表格/图片)
│
DeepSeek 逐页翻译(保留公式/标记)
│
PyMuPDF 渲染中文页 + 公式(matplotlib) + 图片(内嵌)
│
◄── 原英文页 + 中文页 交替的对照 PDF
- OCR 关闭了
restructurePages/mergeTables,保证与原 PDF 严格逐页对应 - 网络阶段(OCR/翻译)多线程并发,渲染阶段(PyMuPDF)串行(跨文档非线程安全)
- 公式含中文时走 HTML 文本渲染,避免数学字体缺中文字形
pdf_translator/
├── config.py # 密钥与参数配置
├── ocr.py # PaddleOCR-VL 异步 OCR + 图片下载
├── translate.py # DeepSeek 翻译
├── formula_render.py # LaTeX 公式 → 图片/HTML
├── render.py # 双语对照 PDF 渲染
└── pipeline.py # 批量流水线
cli.py # 命令行入口
gui.py # 桌面版 (CustomTkinter)
build_exe.py # PyInstaller 打包
MIT
