|
一个面向论文和技术文档的 Windows PDF 翻译桌面应用。 |
PaperTrans 基于 Electron 和 PDFMathTranslate 的快速翻译内核构建,将原来的浏览器 WebUI 改造成了独立桌面界面。支持多种机器翻译和大模型服务,并提供清晰的 翻译进度、PDF 预览以及原文与译文并列对照。
浅色模式
深色模式
- 独立 Electron 桌面界面,不依赖浏览器窗口
- 支持原文、译文和双语并列对照视图
- 保留 PDF 矢量渲染,缩放预览时文字依然清晰
- 显示翻译服务连接状态、引擎加载状态、当前页数和总体进度
- 支持浅色模式、深色模式和自定义主题色
- 支持 Google、Bing、DeepL、OpenAI、DeepSeek、Gemini、Ollama、腾讯翻译等服务
- 支持页面范围、线程数、提示词、公式字体和兼容模式等高级选项
- ......
在 release 中选择合适的压缩包下载解压即可。
PaperTrans/
├─ assets/ 应用图标
├─ backend/pdf2zh/ 桌面 API 与 PDF 翻译后端源码
├─ renderer/ Electron 界面、样式和字体
├─ scripts/ 运行时准备、验证、清理和打包脚本
├─ main.js Electron 主进程
├─ preload.js Electron 安全 IPC 桥接
├─ package.json Node.js 脚本与打包配置
├─ package-lock.json Node.js 依赖锁文件
├─ requirements-runtime.txt Python 直接依赖
└─ constraints-runtime.txt 已验证的 Python 依赖版本约束
- Windows 10 或 Windows 11 x64
- Node.js 22 或更新的 LTS 版本
- npm
- 可访问 npm Registry、Python.org、bootstrap.pypa.io 和 PyPI 的网络
- 首次构建建议预留至少 4 GB 可用磁盘空间
不要求预先安装 Python。项目脚本会下载 Python 3.12.13 Windows x64 嵌入式运行时, 并安装 PDF 翻译所需依赖。
克隆仓库并安装 Electron 开发依赖:
git clone <your-repository-url> PaperTrans
cd PaperTrans
npm ci如果只是下载了源码压缩包,解压后进入项目目录执行 npm ci 即可。
启动开发版:
npm start首次启动会自动下载并准备内嵌 Python 运行时,因此耗时会明显长于后续启动;请等待 终端中的依赖安装过程完成。
启动后可以:
- 选择本地 PDF 文件。
- 设置源语言、目标语言和翻译服务。
- 根据所选服务填写 API Key、Base URL 或模型名称。
- 选择全部、首页或指定页面。
- 点击“开始翻译”,在状态区域查看实时页数和翻译进度。
- 在原文、译文和双语视图之间切换,并保存翻译结果。
API 密钥保存在 PaperTrans 的本地用户配置目录中。
生成 Windows x64 便携目录版:
npm run pack该命令会依次执行:
- 准备或复用内嵌 Python 运行时。
- 复制后端源码并移除测试、缓存和开发工具。
- 启动临时后端,检查健康接口、翻译服务和
fast内核。 - 使用 electron-builder 生成目录版应用。
输出位置:
dist\win-unpacked\PaperTrans.exe
分发时必须保留完整的 win-unpacked 文件夹。PaperTrans.exe 依赖同目录中的
Electron 文件和 resources\backend,不能只复制单个 EXE。
项目没有配置 NSIS、MSI 等安装器目标,因此不会生成安装程序。
| 命令 | 作用 |
|---|---|
npm ci |
按锁文件安装 Node.js 依赖 |
npm start |
准备运行时并启动开发版 |
npm run prepare:runtime |
单独准备内嵌 Python 运行时 |
npm run prepare:backend |
生成精简后的后端暂存目录 |
npm run verify:backend |
验证后端健康接口和翻译服务 |
npm run pack |
验证并构建 Windows 便携目录版 |
npm run clean |
删除依赖、运行时、缓存和构建结果 |
执行 npm run clean 不会删除应用源码、图标、字体、依赖清单或 Git 文件。
检查是否能够访问 Python.org 和 PyPI。网络受限时请配置代理后重新执行:
npm run prepare:runtime如下载缓存损坏,可以先执行 npm run clean,然后重新运行 npm ci 和
npm run pack。
项目已经将 tencentcloud-sdk-python-tmt 固定为 3.1.121。不要单独将该依赖
升级到新版,否则可能再次出现接口被移除的问题。
BabelDOC 可能需要下载版面分析模型、OCR 模型或字体资源。模型准备完成后,后续 启动通常会更快。
请确认分发的是完整的 dist\win-unpacked 文件夹,并检查 PaperTrans 用户数据
目录下的 logs\desktop.log 和 logs\backend.log。
主要体积来自 Electron/Chromium、Python 科学计算库、ONNX Runtime、OpenCV、 PyMuPDF、OCR 和字体资源。这些组件参与 PDF 渲染、版面识别、公式处理和翻译, 无法直接删除。
PaperTrans 是 PDFMathTranslate 的修改版本, 后端版本沿用 PDFMathTranslate 1.9.11。桌面界面、本地 API、双语并列预览和打包流程 是在其基础上完成的扩展。
更多第三方信息请参阅 THIRD_PARTY_NOTICES.md。
GNU Affero General Public License v3.0
由于本项目是 PDFMathTranslate 的修改版本,公开分发源码和应用时需要继续遵守 AGPL-3.0,并保留许可证与上游归属信息。


