关键字:PDF 工具,SpringBoot, 私有化部署,PDF 合并拆分,OCR 识别,PDF 转换,Tauri 桌面端,RESTAPI, 多语言,Docker
项目名称:轻量级PDF编辑管理系统
项目介绍
一款功能强大的开源本地托管 PDF 工具箱,支持 Web 网页、跨平台桌面客户端两种使用形态,所有文档处理均在本地服务器或客户端完成,文件不上传第三方公网,保障敏感文档数据安全。项目内置 50 余种 PDF 处理能力,涵盖合并拆分、页面编辑、格式互转、OCR 文字识别、数字签名、水印加密、内容脱敏等常用办公场景,支持自定义流水线实现批量自动化处理 PDF 任务。后端基于 SpringBoot 构建,前端采用 React+TypeScript 现代化界面,提供完整 REST API 接口方便业务系统集成,界面支持 40 + 种国际化语言,同时支持 SSO 单点登录、账号鉴权等企业级特性。支持 Docker 容器、Jar 包、Tauri 桌面端多种部署方式,个人办公、企业内网文档处理场景均可快速落地,是替代各类在线 PDF 网站的优质开源解决方案。
项目结构目录

项目主要技术框架
3.1核心底层框架
整体采用 SpringBoot 后端 + React SPA 前端的 B/S 架构,同时基于 Tauri 打包 Windows/macOS/Linux 桌面客户端。后端封装 PDFBox、LibreOffice、Qpdf、Tesseract‑OCR 等开源底层库,统一抽象 PDF 处理能力;文件全程内存临时处理,任务结束自动清理临时文件,保障文档隐私。支持流水线 Pipeline 编排实现多步骤 PDF 自动化处理,对外暴露 REST API 方便第三方系统调用;集成 SpringSecurity 实现账号登录、SSO 企业单点登录;前端 PDF.js 实现客户端预览渲染,i18next 实现四十多种语言国际化,Docker 容器一键部署降低运维成本。
3.2后端技术栈
开发语言:Java 17+
核心框架:SpringBoot、SpringSecurity
PDF 底层库:PDFBox、Qpdf
格式转换:LibreOffice
文字识别:Tesseract‑OCR
构建工具:Gradle
接口能力:RESTful API,支持批量任务、流水线调用
安全:账号鉴权、SSO 单点登录
部署:Jar 包、Docker 容器、K8s 集群
3.3前端技术栈
开发语言:TypeScript
基础框架:React + Vite
UI 组件库:Mantine UI、TailwindCSS
PDF 预览渲染:PDF.js、PDF‑LIB.js
国际化:i18next(40 + 语言)
桌面打包:Tauri(Windows/macOS/Linux 客户端)
交互:拖拽上传、暗黑模式、并行多文件处理
3.4 数据库
默认不需要数据库,任务文件仅驻留服务器内存,处理完毕自动删除; 开启企业备份功能后,可配置持久化存储:
任务配置、流水线配置、用户账号信息可持久化; 原始 PDF 文件不在服务端长久留存,下载后自动清除临时文件; 支持数据库备份导入导出配置。
3.5开发及生产环境
开发环境:JDK17+、Node、Gradle、Docker
运行环境:Linux/Windows/macOS,支持内网私有化部署
配套资源:官方完整文档、API 文档、示例流水线配置
分发形式:Docker 镜像、Jar 包、Tauri 桌面安装包
项目主要功能
4.1 管理员 / 运维功能模块
4.1.1 系统安全配置
开启账号密码登录,配置 SSO 单点登录;设置文件最大限制、临时文件生命周期;开启 / 关闭匿名访问,管控工具访问权限。
4.1.2 流水线 Pipeline 管理
可视化编排 PDF 处理流水线,组合多步操作,实现批量自动化处理任务,保存模板重复调用。
4.1.3 系统参数配置
配置 OCR 语言包、LibreOffice 服务地址、多语言界面切换、暗黑模式默认设置;配置 API 访问密钥,管控第三方接口调用。
4.1.4 备份与运维
系统配置备份、导入恢复;查看任务执行日志,监控文件处理任务状态;自定义下载输出格式。
4.1.5 容器与扩展
支持 Docker 环境变量批量配置,可扩展自定义 PDF 工具插件。
4.2 普通用户功能模块
4.2.1PDF 页面组织操作
PDF 合并、拆分、提取指定页面、删除页面、旋转页面、裁剪页面、页面重排,可视化拖拽调整页面顺序。
4.2.2 文档格式互转
PDF 与 Word/PPT/ 图片 / HTML/Markdown 互转;URL 网页转 PDF;电子书格式转换,批量处理多文件。
4.2.3OCR 文字识别
扫描版 PDF 执行 OCR 识别,生成可复制文本的可编辑 PDF 文档,支持多语种识别。
4.2.4PDF 安全与签名
设置 / 移除 PDF 密码,修改文档权限;添加文本 / 图片水印;数字证书签名;文档内容脱敏红 act,去除敏感信息。
4.2.5PDF 编辑与压缩
PDF 压缩减小体积;添加文本、图片、批注注释;表单 PDF 解锁、扁平化处理。
4.2.6API 调用与流水线
调用 REST API 对接自有业务系统;使用预设流水线一键执行多步 PDF 处理;支持并行多文件同时处理。
4.3 通用功能模块
4.3.1 本地隐私处理
全部 PDF 处理本地完成,不上传外部服务器,临时文件任务结束自动删除,适合涉密内部文档。
4.3.2 多端运行
Web 网页访问,同时提供 Tauri 桌面客户端,无需浏览器独立运行。
4.3.3 强大流水线自动化
自定义 Pipeline,把拆分‑>OCR‑> 加水印‑> 压缩组合为一套自动化流程,批量处理大量文档。
4.3.4REST 开放 API
几乎全部工具提供 API 接口,业务系统可以直接调用实现 PDF 能力集成。
4.3.5 国际化多语言
界面内置 40 + 国家语言,支持中英文等,适配不同地区办公需求。
4.3.6 暗黑模式
支持明暗主题切换,并行多文件上传处理,批量打包下载结果。
项目安装和部署
5.1 Docker 一键部署(推荐)
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling‑pdf
部署完成浏览器访问 [http://localhost:8080](http://localhost:8080)
1. 后端使用 Gradle 构建,执行`task build`编译打包 Jar;
2. 前端进入 frontend 目录执行 pnpm install && pnpm build 编译静态资源;
3. 启动 Jar 包:`java ‑jar stirling‑pdf.jar`,默认端口 8080;
注意:完整 OCR、Office 转换需要系统预装 LibreOffice、Tesseract‑OCR。
这个系统实际效果图片展示

这个源码适合的学习人群
该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。
这个项目源码获取方式
关注公众号,回复:PDF编辑管理
夜雨聆风