{"repo":"wxyhgk/retain-pdf","free":true,"listed":false,"github":"https://github.com/wxyhgk/retain-pdf","clone":"git clone https://github.com/wxyhgk/retain-pdf.git","description":"在保留版面、公式与结构的前提下进行 PDF 翻译，适用于科研与技术文档","language":"Python","stars":2199,"topics":["document-ai","document-processing","ocr","pdf","scientific-papers","translation","typst","layout-preserving"],"license":"MIT","category":"media-processing","readme_excerpt":"RetainPDF：PDF 保留排版翻译工具 开源社区做保留排版的项目不少，但是都围绕可复制，可编辑的 PDF，以及行内公式不复杂的场景. RetainPDF 从一开始就是要解决各类 PDF 的保留排版翻译问题，尤其是图片型/扫描版 PDF，以及行内公式的渲染问题. 在保留排版翻译这个领域，正面硬刚闭源模型,并且在一些场景下做得更好，比如翻译后的 PDF 体积、整体速度和字体大小控制。 此外本项目是前后端分离、OCR、翻译、排版与交付打通的全栈项目，整体结构尽量解耦，既能直接使用，也方便后续开发者继续扩展、替换模块和二次开发。 简单对比： 项目 扫描型 PDF 复杂行内公式 代码不误翻 表格控制 自定义翻译策略 排版保留 PDF 压缩优化 API 自动化 --- --- --- --- --- --- --- --- --- PDFMathTranslate ❌ ❌ ❌ 弱 弱 一般 一般 ✅ PolyglotPDF ❌ ❌ ❌ 弱 弱 一般 一般 ✅ Doc2X ✅ ✅ ❌ 中 弱 强 弱 ❌ 不开放 RetainPDF ✅ ✅ ✅ ✅ 可开关 ✅ 可按规则配置 强 ✅ 持续优化 ✅ 效果图 SCI 论文 图片型 / 扫描版 PDF 图书类 快速开始 如果你只是想直接使用，先去 GitHub Releases 下载对应平台的发布包： - Windows：优先下载 Setup.exe - macOS：下载 .dmg - Linux：下载 .deb 如果你想给局域网、团队或多台设备一起用，优先选 Docker 部署。 Windows 桌面端 macOS 提示 由于当前没有 Apple 开发者账号，macOS 版本第一次打开时可能会提示应用“已损坏”。这不是文件真的损坏，而是系统的签名校验导致的。把应用拖到 /Applications 后，执行： 然后再重新打开应用即可。 Docker 部署 当前仓库提供了 Docker 交付目录： - docker/delivery/README.md - docker/delivery/docker-compose.yml 基本步骤： 启动后默认访问： 默认端口： - 40001 ：前端页面 - 41000 ：Rust API - 42000 ：multipart 异步提交接口 Docker 更新 如果只是更新到最新镜像版本： 如果你要切换到指定镜像版本，也可以这样： 更新后建议执行一次状态检查： 当前镜像地址： - wxyhgk/retainpdf-app - wxyhgk/retainpdf-web 交流群 如果你在使用、部署或二次开发 RetainPDF 时遇到问题，欢迎加入 QQ 交流群一起讨论。 - QQ 群号： 1101779791 开发者 文档入口 建议按下面顺序阅读。 - 贡献指南 - 文档目录 - 主线文档 - 参考资料 - 运维与过程记录 - Pipeline 阶段契约 代码与子模块说明 - 后端脚本说明 - frontend/ ：当前生产使用的前端，也是桌面端 bundle 的输入目录；index/reader/detail 三页均已迁移为 React SPA（ src/pages/ 是新世界入口，esbuild 打包， src/js/ 保留纯逻辑核心）。 - frontend-react/ ：另一条 React 前端迁移区（独立技术栈：Vite + TypeScript），当前不直接替代 frontend/ 。 - desktop/ ：Electron 桌面端打包与运行壳。 当前目录结构 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/wxyhgk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wxyhgk/retain-pdf/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}