你有没有遇到过这种场景:收到一份扫描件 PDF,想复制里面的文字却全是图片;或者手里有好几份合同要合并成一份,打开 Adobe Acrobat 发现要订阅;又或者只是想把一个 PDF 压缩一下发邮件,结果搜了一圈全是收费在线工具,上传你的文件到某个不知名的服务器。
PDF 处理这件事,看似简单,实际上坑很多。市面上的选择大致分三类:Adobe 全家桶(贵)、各种”免费”在线工具(要么有水印,要么把你的文档传到云端),还有一堆功能残缺的桌面小软件。
今天要聊的 Stirling PDF,是另一个路子——开源、自托管、功能齐全,GitHub 上 30 万 Star、3000 万下载量,稳坐 PDF 类目第一名。更重要的是,它完美适配 NAS/Docker 部署,数据不出自己的服务器。
它到底是什么?
Stirling PDF 是一个基于 Web 的 PDF 操作平台,你可以把它当成一个私有化的”瑞士军刀”。支持三种运行方式:
- 浏览器直接用:访问本地或远程部署的 Web 界面
- 桌面客户端:Windows / macOS / Linux 都有原生应用(Tauri 构建)
- Docker 部署:一行命令跑在 NAS 或 VPS 上,全家共享
核心卖点就一句话:60+ 种 PDF 操作,全部在本地完成,不传任何数据到第三方。
最近更新了什么?V2 的变化很大
Stirling PDF 从 V1 到 V2 是一次大重构,最近几个月更新节奏非常密集:
v2.12.0(6 月 9 日)—— 性能大优化
这个版本最值得关注的是内存占用问题得到了根本性解决。合并和拆分 PDF 的内存消耗降低了 99%,底层换用了新的 JPDFium 引擎。同时强制升级到 JDK 25,整体性能提升明显。另外新增了”我的文件”系统,可以在服务端管理文件夹和存储。
v2.13.0(6 月 18 日)—— MCP 支持
新增了 MCP(Model Context Protocol)页面(还在开发中),意味着未来可以通过 AI Agent 直接调用 Stirling PDF 的能力。另外加了 Ctrl+A 全选文本、Open Graph 分享预览等实用功能。
v2.13.1(6 月 19 日)—— 紧急修复
修复了两个影响体验的 Bug:多工具模式下旋转某些 PDF 会丢失旋转状态,以及桌面端通过二维码扫码上传的问题。
从版本号节奏能看出来,项目维护非常活跃,基本上每两周一个大版本。
60+ 功能到底有哪些?
官方把工具分成好几类,我挑几个 NAS 用户最可能用到的说:
基础操作
- Merge / Split:合并多个 PDF,或按页码拆分
- Compress:调整分辨率和 DPI 来缩小文件体积
- Convert:PDF 和图片/Word/HTML 之间互转
OCR 文字识别
这是我最常用的功能之一。扫描件、照片里的文字,丢进去就能提取出来,支持多语言识别。底层用的是 Tesseract 引擎,Docker 镜像里已经内置好了。
安全相关
- Add Password / Unlock:给 PDF 加密码或移除密码(前提是你知道密码)
- Redact:涂黑敏感信息,不是简单的画黑框,而是真的从底层数据中删除
- Sanitise:清除 PDF 中的元数据、脚本、链接等隐藏信息
- Sign:手写签名、证书签名都支持
实用工具
- Watermark:批量添加水印
- Flatten:把可编辑的表单字段压平成静态内容
- Add Page Numbers:自动添加页码
- Extract Images / Extract Pages:从 PDF 中提取图片或特定页面

V2 还引入了一个很爽的特性叫 Stateful Processing(有状态处理)。以前用这类工具,每个操作都要重新上传文件;现在上传一次,可以在不同工具之间流转,做完 OCR 再去签名再去压缩,全程不用重新上传。加上 Undo/Redo 支持,操作失误也能撤回。
Docker 部署,一行命令搞定
对于 NAS 玩家来说,Stirling PDF 最舒服的用法就是 Docker 部署。官方提供了三个镜像版本:
# 标准版(推荐)
docker run -d -p 8080:8080
-v ./stirling-data:/configs
stirlingtools/stirling-pdf:latest
# 完整版(额外字体 + 更全的格式支持)
stirlingtools/stirling-pdf:latest-fat
# 极简版(资源受限环境)
stirlingtools/stirling-pdf:latest-ultra-lite
启动后浏览器打开 http://你的NAS IP:8080 就能用。如果要用 Nginx 反代加域名,配置也很简单。
几点实际使用经验:
- 挂载 volume 很重要。
./stirling-data:/configs这个映射会保存你的设置、用户数据(如果开了登录认证)和文件存储。不挂的话容器重建数据全没。 - 默认不需要登录。V2 桌面版和基础 Web 模式都是免登录的,直接用。如果你部署在公网或者多人共用,建议在设置里开启认证。
- OCR 需要一点资源。首次 OCR 会比较慢,因为 Tesseract 要加载语言包。后续会快很多。
- fat 版 vs 标准版。标准版日常够用了。fat 版多了 CJK 字体和一些转换依赖,如果你经常处理中文 PDF 转换任务,选 fat 版更省心。
有没有什么坑?
说实话,项目质量很高,但作为自托管工具还是有几个要注意的点:
许可证不是纯 GPL。Stirling PDF 用的是 open-core 模式——核心功能开源免费,但企业级功能(SSO、外部数据库、Google Drive 集成、优先支持)需要付费。对个人用户来说完全不影响,开源部分已经覆盖了几乎所有需求。
Java 依赖。后端是 Java/Spring Boot 写的,镜像体积不算小(标准版约 1GB)。如果你的 NAS 内存只有 2-4GB,跑起来会有点吃力。建议至少留 2GB 给它。
桌面版的限制。原生桌面应用目前功能比 Web 版少一些,主要定位是快速查看和轻量编辑。重度操作还是推荐 Web/Docker 版。
中文翻译。界面支持 40+ 语言包括中文,但部分新功能的翻译可能滞后于英文版。不过核心操作的中文翻译是完整的,不影响正常使用。
为什么值得装一个?
说白了,Stirling PDF 解决的是一个很具体的问题:你需要一个靠谱的 PDF 工具,但你不想为此付费,也不想把文档交给第三方在线服务。
对于 NAS 用户来说尤其合适:
- Docker 一行命令,飞牛/群晖/Unraid 都能跑
- 全家人都能通过浏览器访问
- OCR、签名、加密这些高频场景全覆盖
- 数据完全留在本地,隐私有保障
- 免费开源,没有功能阉割
如果你已经有 NAS 在跑 Docker,Stirling PDF 属于那种”装了不一定天天用,但用到的时候特别顺手”的工具。反正也就占个端口和一两 GB 内存,何妨一试?
项目地址:github.com/Stirling-Tools/Stirling-PDF
官网:stirling.com
文档:docs.stirlingpdf.com