一篇面向「重视隐私 + 需要批量处理 PDF」的技术干货。所有数据均于 2026-08 核实自 GitHub 官方仓库与多个第三方评测。

一、先说痛点:你的 PDF 正在被"免费工具"偷看

日常办公里,我们几乎每天都要和 PDF 打交道:合并合同、拆分标书、给报表加密、把扫描件转成可搜索的文字……

但大多数人图方便,直接把文件丢进"某某在线 PDF 工具"——你永远不知道这些网站背后是谁,文件会不会被原样留存、转卖或训练模型。 财务表、身份证、标准文档、商业合同,一旦上传就脱离了你的控制。

那有没有一种可能:功能比在线工具全、数据完全留在自己手里、还免费?

有。它就是今天要聊的 Stirling-PDF

二、Stirling-PDF 是什么

Stirling-PDF 是一个本地托管(locally hosted)的 Web 端 PDF 全能处理工具,由 Stirling-Tools 团队开发,被 GitHub 官方描述为 "#1 PDF Application on GitHub"(GitHub 上排名第一的 PDF 应用)。

它的核心哲学就一句:所有文件处理都在你的本地机器或私有服务器上完成,任务结束自动清理临时文件,从根本上杜绝敏感数据外泄。

它提供三种使用形态:

  • 浏览器网页:部署后局域网/内网访问,多人共享一台处理服务;
  • 桌面客户端:基于 Tauri 打包的跨平台原生应用,自带 JRE;
  • 私有 REST API:对外提供 OpenAPI(Scalar 文档),可接自动化流水线。

核实过的硬数据(2026-08)

指标数值
GitHub Star8.9 万(多个 2026-08 评测落在 89,600–89,990 区间)
Fork8,100
贡献者300+
最新版本v2.14.3(2026-08-06 发布,hotfix)
定位GitHub 星标最高的 PDF 类项目

三、50+ 工具,覆盖你能想到的所有 PDF 操作

Stirling-PDF 主界面一览:左侧导航 + 中间拖放区 + 右侧 50+ 工具面板(签署 / 文档安全 / 验证 / 文档审阅等)

Stirling-PDF 把常用 PDF 操作做成了一个"工具箱",目前有 50 多个功能,按场景大致分为:

  • 页面操作:合并、拆分、旋转、重排、删除指定页;
  • 格式转换:PDF ⇄ Office(Word/Excel/PPT,借助 LibreOffice)、PDF ⇄ 图片、HTML → PDF(WeasyPrint);
  • 压缩与优化:压缩体积、用 qpdf 做底层优化;
  • 安全与合规:加密/解密、加/去打开密码、脱敏(redact)、水印、数字签名、增删文档元数据;
  • 识别:OCR 文字识别(Tesseract)、结构化数据提取(Python 引擎);
  • 批注与表单:注释、表单填写;
  • 修复与清理:修复损坏 PDF、清理多余冗余数据;
  • 多语言界面:基于 i18next,内置几十种语言包。
划重点:上面这些全部免费、全部本地运行

四、技术架构:一个"三语言"的开源平台

很多人以为它只是"PDFBox 套了层网页",其实早就不是了。Stirling-PDF 已经长成一个真正的多服务开源自托管平台:

  • 后端(Java):Spring Boot 4.0.6,跑在 Java 25(JDK 25) 上,用 Gradle 构建;核心 PDF 引擎是 Apache PDFBox 3.0.8,转档靠 LibreOffice、优化靠 qpdf;加密签名用 BouncyCastle 1.85、静态加密用 Google Tink 1.23.0;企业级 SSO 走 Spring Security SAML 7.1.0 / OpenSAML 5.2.1;接口限流用 Bucket4j;还能直连 S3 / SFTP / SMB 做文件进出处。
  • 前端(TypeScript):React + Vite,Mantine UI + TailwindCSS,用 PDF.js 做浏览器内渲染,IndexedDB 做本地暂存。
  • 引擎(Python):独立的 FastAPI 服务(用 uv 管理),专门负责 OCR 和结构化提取——因为 Python 生态的 OCR/ML 工具确实比 JVM 上成熟。
  • 桌面端(Rust):Tauri 打包,跨平台,自带 JRE。

一句话:它不是"一个 Jar 包",而是 Java 后端 + Python 引擎 + TS 前端 + Rust 桌面端四个独立代码库拼起来的平台。(这也是它技术债和架构复杂度偏高的原因,自托管时docker 部署最省心。)

五、部署:一条命令跑起来

最省事的方式是 Docker。一行即可拉起:

docker run -d \
  -p 8080:8080 \
  -v $(pwd)/data:/configs \
  -e DOCKER_ENABLE_SECURITY=false \
  --name stirling-pdf \
  stirlingtools/stirling-pdf:latest
镜像名说明:官方 Docker 镜像现用 stirlingtools/stirling-pdf:latest,历史上曾用 frooodle/s-pdf,以官方文档为准。开启安全登录请把 DOCKER_ENABLE_SECURITY 设为 true 并配置账号。

除了单容器,还支持 Docker Compose、桌面客户端、以及暴露 REST API 接自动化(新版本还加入了 Pipelines / Policies 概念,可配置"始终运行"的自动处理流水线)。

六、开源与商业:open-core 模式(重要提醒)

Stirling-PDF 采用 open-core(开放核心) 模式,这点务必说清楚:

  • 免费、开源、可自部署的部分在 app/core:合并、拆分、压缩、脱敏、OCR、转换等核心工具,MIT 风格许可,个人和小团队自托管完全没问题;
  • 企业级能力在 app/proprietaryapp/saas:SSO、审计日志、托管 SaaS、计费(real credits / payment flows)等,是专有代码

正因为仓库里混了开源与专有代码,GitHub 的许可证检测器会把它标成 NOASSERTION(无法干净归类)。对个人自托管基本无影响,但如果你打算基于它做商业流程,建议先读一遍 LICENSE 再决定。

七、适合谁 / 不适合谁

适合:

  • 重视隐私、不想把合同/证件/标准文档丢给在线工具的个人;
  • 需要批量处理 PDF 的团队(如标准体系、档案、法务);
  • 想自建一套文档处理工具的技术人。

不太适合:

  • 只想偶尔转一次格式、且完全不想碰 Docker 的小白(当然,桌面版可以救一下)。

八、快速上手

  1. 有 Docker 环境 → 直接跑上面的 docker run
  2. 不想折腾 → 下载桌面客户端(Windows/macOS/Linux);
  3. 想研究源码 / 追更 → 去 GitHub 仓库:

Stirling-PDF 官方 GitHub 仓库

4.如果你觉得GitHub下载太慢,请关注底部微信公众号,回复关键词:Stirling-PDF,获取百度网盘下载链接。

九、小结

在线 PDF 工具用一次,你的文件就"裸奔"一次。Stirling-PDF 用"本地托管 + 50+ 免费工具 + 开源自部署"把隐私权和功能完整性同时还给了你。 无论你是个人防泄露,还是团队批量处理文档,它都值得放进你的自托管清单。

想看实际效果?本号后续会出一篇 Stirling-PDF 实操演示,欢迎关注。

个人观点,仅供参考,如有不对之处,请多包涵,欢迎指出。本文由AI协助完成!