Skip to content

Repository files navigation

PaperTrans icon

PaperTrans

Platform Electron License

一个面向论文和技术文档的 Windows PDF 翻译桌面应用。

PaperTrans 基于 Electron 和 PDFMathTranslate 的快速翻译内核构建,将原来的浏览器 WebUI 改造成了独立桌面界面。支持多种机器翻译和大模型服务,并提供清晰的 翻译进度、PDF 预览以及原文与译文并列对照。

界面预览

浅色模式

PaperTransWhite

深色模式

PaperTransDark

目录

功能

  • 独立 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 运行时,因此耗时会明显长于后续启动;请等待 终端中的依赖安装过程完成。

启动后可以:

  1. 选择本地 PDF 文件。
  2. 设置源语言、目标语言和翻译服务。
  3. 根据所选服务填写 API Key、Base URL 或模型名称。
  4. 选择全部、首页或指定页面。
  5. 点击“开始翻译”,在状态区域查看实时页数和翻译进度。
  6. 在原文、译文和双语视图之间切换,并保存翻译结果。

API 密钥保存在 PaperTrans 的本地用户配置目录中。

构建

生成 Windows x64 便携目录版:

npm run pack

该命令会依次执行:

  1. 准备或复用内嵌 Python 运行时。
  2. 复制后端源码并移除测试、缓存和开发工具。
  3. 启动临时后端,检查健康接口、翻译服务和 fast 内核。
  4. 使用 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 或依赖下载失败

检查是否能够访问 Python.org 和 PyPI。网络受限时请配置代理后重新执行:

npm run prepare:runtime

如下载缓存损坏,可以先执行 npm run clean,然后重新运行 npm cinpm run pack

腾讯翻译启动时报 TextTranslateRequest 导入错误

项目已经将 tencentcloud-sdk-python-tmt 固定为 3.1.121。不要单独将该依赖 升级到新版,否则可能再次出现接口被移除的问题。

首次翻译启动较慢

BabelDOC 可能需要下载版面分析模型、OCR 模型或字体资源。模型准备完成后,后续 启动通常会更快。

打包后程序无法启动

请确认分发的是完整的 dist\win-unpacked 文件夹,并检查 PaperTrans 用户数据 目录下的 logs\desktop.loglogs\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,并保留许可证与上游归属信息。

About

A Windows desktop application for translating PDF research papers and technical documents.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages