RetainPDF
RetainPDF

RetainPDF最新版

官方版无广告260

RetainPDF 是一个开源的全栈项目,解决各类 PDF(尤其是图片型/扫描版及含复杂行内公式文档)的保留排版翻译问题。它不仅在效果上正面硬刚闭源商业模型,更在翻译后 PDF 体积、处理速度和字体控制上实现了优化。

更新日期:
2026年4月29日
语言:
中文
平台:

226MB0 人已下载 手机查看

在阅读外文论文、技术文档或教材时,我们常面临两难选择:要么忍受晦涩原文,要么使用翻译工具却得到排版崩乱、公式丢失的“纯文本”。

RetainPDF 是一个开源的全栈项目,旨在解决各类 PDF(尤其是图片型/扫描版及含复杂行内公式文档)的保留排版翻译问题。它不仅在效果上正面硬刚闭源商业模型,更在翻译后 PDF 体积、处理速度和字体控制上实现了优化。

RetainPDF

为什么选择 RetainPDF?

市面上的开源方案多聚焦于可编辑、低复杂度的 PDF,而 RetainPDF 从一开始就瞄准了“硬骨头”:

  • 全场景覆盖:完美处理扫描版、截图版 PDF,不再局限于可复制文本。
  • 公式与代码友好:精准渲染行内公式,确保代码块不被误翻,保持逻辑完整。
  • 排版高保真:输出译文 PDF、Markdown 或 ZIP 包,版面结构与原文高度一致,无需二次手工调整。
  • 灵活部署:前后端分离架构,支持 Web 端一键操作、命令行调用及 API 接入,方便团队集成与二次开发。
RetainPDF

核心能力对比

特性PDFMathTranslatePolyglotPDFDoc2X (闭源)RetainPDF
扫描型 PDF 支持❌❌✅✅
复杂行内公式❌❌✅✅
代码不误翻❌❌❌✅
表格控制弱弱中✅ (可开关)
自定义翻译策略弱弱弱✅ (可按规则配置)
排版保留效果一般一般强强
PDF 压缩优化一般一般弱✅ (持续优化)
API 自动化✅✅❌✅

实测结论:相比 PDFMathTranslate,RetainPDF 补足了扫描件处理的短板,公式与正文衔接更自然;相比 Doc2X 等闭源方案,它提供了自主部署的能力,数据完全掌控在本地,且实测整体效果更优。

快速开始:小白用户指南

如果你只想快速体验,无需关心底层细节,请按以下步骤操作。

1. 环境准备

RetainPDF 主要依赖 CPU、内存和网络,无需独立显卡。

  • 系统推荐:Linux (Ubuntu 22.04 / 24.04) > macOS > Windows
  • 硬件要求:
    • CPU:至少 4 核(推荐 8 核+)
    • 内存:至少 8GB(推荐 16GB+,多人并发需更高)
    • 磁盘:预留 10GB+ 可用空间
  • 注意:当前 Docker 镜像基于 x86_64/amd64 构建。Mac M 系列或 ARM 服务器需确认兼容环境。

2. 安装 Docker

确保已安装 Docker 和 Docker Compose:

docker --version
docker compose version

3. 一键启动

# 克隆项目
git clone https://github.com/wxyhgk/retain-pdf.git
cd retain-pdf

# 启动服务
docker compose up -d

启动完成后,访问 http://127.0.0.1:40001 即可使用 Web 界面。

4. 更新服务

cd retain-pdf/docker/delivery
docker compose pull
docker compose up -d

专业用户:配置与调优

RetainPDF 采用前后端分离架构,通过 docker-compose.yml 编排。你可以通过修改环境变量文件来定制服务行为。

核心配置文件

  • docker/auth.local.json:API 鉴权白名单。
    • api_keys:前端和 CLI 请求时必须携带的 X-API-Key。
    • max_running_jobs:后端允许同时运行的最大任务数。
  • docker/web.env:前端运行参数。
    • FRONT_X_API_KEY:前端自动附加的后端密钥,需与 auth.local.json 一致。
    • FRONT_OCR_PROVIDER:默认 OCR 引擎,推荐 paddle,也可选 mineru。
    • FRONT_MODEL / FRONT_BASE_URL:默认大模型名称及服务地址(如 DeepSeek)。
  • docker/app.env:后端运行参数。
    • RUST_API_PORT:完整 API 端口(默认 41000)。
    • RUST_API_SIMPLE_PORT:简便同步接口端口(默认 42000)。
    • RETAIN_PDF_FONT_PATH:默认中文字体路径,影响最终排版效果。

端口说明

  • 40001:Web 前端页面
  • 41000:完整 Rust API(供高级调用)
  • 42000:简便同步接口(供快速测试)

高级技巧:预设默认配置

若希望团队成员无需每次手动填写 API Key,可在 docker/web.env 中预填以下字段:

  • FRONT_PADDLE_TOKEN / FRONT_MINERU_TOKEN
  • FRONT_MODEL_API_KEY
  • FRONT_MODEL / FRONT_BASE_URL

留空则用户在网页右上角“API 配置”中自行填写。

相关软件

OmniGet

OmniGet - 最新版

OmniGet 是一款免费、开源的桌面应用,它不仅是一个强大的资源下载器,更是一个集视频播放、书籍阅读、笔记管理和进度追踪于一体的一站式学习中心。 你只需粘贴链接,OmniGet 即可识别并下载内容。随后,你可以在应用内直接观看课程、阅读书籍、做笔记、制作抽认卡,所有数据均保存在本地,无需依赖任何云端服务。