84,993· 7,382 forks· Java· NOASSERTION自托管

Stirling PDF - 开源全功能 PDF 工具箱

Stirling-Tools/Stirling-PDF

GitHub 最火 PDF 应用(8.5万星), 支持桌面/浏览器/私有部署, 50+工具覆盖编辑/签名/OCR/自动化, 无需上传第三方服务

成熟度维护活跃, 最近提交1天前, 最新版本4天前发布, 但有468个待解决issue

项目体检

部署 · Docker 单命令启动(docker run -p 8080:8080), 默认端口8080, 支持桌面客户端和 Kubernetes 部署

成本 · 开箱即用, 无需外部 API Key, 高级 OCR 功能可能需配置 Tesseract 语言包, 企业功能(SSO/审计)需商业授权

技术 · Java 后端 + Spring Boot 框架, 前端 Web UI, 调用开源命令行工具(如 PDFtk/Ghostscript)处理 PDF

许可 · NOASSERTION(许可证未明确声明), 项目自述为 open-core 模式, 核心功能开源但企业特性需付费, 商用前建议咨询官方

活跃 · 高度活跃, 最新版本 v2.13.2 发布于4天前, 296名贡献者, 昨日仍有代码提交

解决什么

传统 PDF 编辑工具要么需要购买昂贵的 Adobe Acrobat 订阅, 要么只能上传到在线服务冒隐私泄露风险。Stirling PDF 提供完全私有化的 PDF 处理方案, 涵盖合并、拆分、签名、水印、OCR 识别、格式转换、压缩优化等 50 多项功能, 所有操作在本地或自建服务器完成, 文档不出内网。支持桌面客户端、浏览器访问和 REST API 三种使用方式, 既能满足个人临时需求, 也能集成到企业工作流实现批量自动化处理。

为何火

GitHub 上获得 8.5 万星的核心原因是功能全面 + 部署简单 + 隐私优先。一条 Docker 命令即可启动完整服务, 无需复杂配置; 界面支持 40 多种语言(含中文), 降低使用门槛; 提供可视化工作流编排, 非技术人员也能搭建 PDF 自动化流程。项目最初作为 24 小时 ChatGPT 编程挑战的产物在 Reddit 引发关注, 后经作者持续迭代成熟, 成为开源社区对抗 Adobe 垄断的标杆项目。企业用户看重其 SSO 集成和审计日志能力, 开发者则青睐完整的 API 文档可快速对接现有系统。

核心功能

  • 基础编辑: 合并/拆分 PDF, 旋转/删除页面, 重新排序, 提取图片和文本
  • 高级处理: OCR 文字识别(支持多语言), 添加/移除水印, 数字签名, 敏感信息涂黑
  • 格式转换: PDF 与 Word/Excel/图片互转, 支持批量处理
  • 优化压缩: 减小文件体积, 调整 DPI, 清理元数据
  • 自动化工具: 无代码可视化流程编排, REST API 支持百万级文档批处理
  • 企业特性: 单点登录(SSO), 操作审计, 多租户隔离(付费版)

安装

Docker 快速启动(推荐):

docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf

访问 http://localhost:8080 即可使用。

桌面客户端: 从 GitHub Releases 下载对应系统的安装包(Windows/macOS/Linux)。

Kubernetes 部署: 参考官方文档的 Helm Chart 配置, 适合生产环境高可用部署。

中文用户注意: 国内网络可直接访问 Docker 镜像源, OCR 功能首次使用时会自动下载语言包, 中文识别需确保 Tesseract 包含简体中文训练数据。

适合谁

  • 个人用户: 需要频繁处理 PDF 但不想订阅 Adobe 的学生、自由职业者
  • 中小企业: 需要内网部署保护客户合同、财务报表等敏感文档的公司
  • 开发团队: 需要集成 PDF 生成/处理能力到业务系统(如电子签约、发票管理)的技术团队
  • 隐私敏感场景: 政府机构、医疗行业等不能将文档上传公网的组织

不适合: 需要复杂排版设计的专业出版场景(建议用 Adobe InDesign), 以及对响应速度有极致要求的高并发场景(Java 后端性能不如 Go/Rust 实现)。

社区评价

HN 讨论(366 点赞, 103 条评论)中争议集中在**"ChatGPT 开发"宣传**。批评者认为 AI 生成代码质量堪忧且存在安全隐患, 有用户吐槽"花 3 小时让 ChatGPT 写三次插值函数都不对"; 支持者反驳"能用就行, 何必在意工具", 并指出实际 PDF 处理调用的是人类编写的成熟命令行工具(PDFtk/Ghostscript), ChatGPT 只负责最初的 Web 界面脚手架。

作者澄清: 项目并非完全由 AI 生成, 仅最初 24 小时用 ChatGPT 3.0 搭建原型作为实验, 此后一年多完全靠人工迭代。这一说明平息部分质疑, 但仍有用户担心暴露到公网的安全性, 建议仅内网使用或严格输入验证。

正面评价集中在功能丰富度和部署便捷性, 多位用户表示已替代 Adobe 用于日常工作, 称赞其"开源社区少有的全栈解决方案"。

选型对比

vs Adobe Acrobat: Adobe 功能更强(专业排版/3D PDF), 但年费 $239 且必须联网激活; Stirling 免费开源, 覆盖 90% 日常需求, 完全离线可用, 但缺少高级编辑(如段落重排)。

vs 同类开源工具(如 pdf.js/PDFtk): pdf.js 仅提供渲染库需自行开发界面, PDFtk 是命令行工具学习曲线陡; Stirling 整合数十个底层工具并提供统一 Web UI, 开箱即用。

vs 在线服务(iLovePDF/Smallpdf): 在线服务便捷但文档需上传第三方, 免费版有次数限制; Stirling 私有部署无限制, 适合处理敏感文档, 代价是需自行维护服务器。

已知坑

  1. 许可证不明确: GitHub 显示 NOASSERTION, 项目自述为 open-core(核心开源+企业功能付费), 商用前务必联系官方确认授权范围
  2. OCR 依赖外部包: 中文识别需手动配置 Tesseract 语言数据, 首次使用可能遇到"语言包缺失"报错
  3. 高并发性能: Java 后端在处理大文件(>100MB)或高并发时内存占用较高, 生产环境建议配置 4GB+ 内存
  4. 468 个未关闭 issue: 反映功能请求多但维护精力有限, 部分边缘 bug 修复较慢
  5. API 文档需梯子: Scalar 托管的 API 文档在国内访问不稳定, 建议本地部署后查看 Swagger UI

安装方式:docker