乐于分享
好东西不私藏

PDF 工具不想再付费了?试试这个 78k Stars 的开源方案

PDF 工具不想再付费了?试试这个 78k Stars 的开源方案

本文字数约 4200 字 | 阅读约需 12 分钟

💡 导读:Adobe Acrobat Pro 年费 448 元,但你真正用到的功能有多少?本文介绍一个 GitHub 78k Stars 的开源 PDF 工具——Stirling PDF,支持 50+ 功能,完全本地运行,一条 Docker 命令搞定部署。适合有隐私顾虑、想摆脱订阅制、被 PDF 折磨的各类人群。相关链接附在本文末, 请自取。


一、痛点:我们默认了 PDF 必须付费

你有没有被 PDF 工具折腾过?

月末整理报销,发票是七八个 PDF,得一个个打开合并;设计师同事发来一份 30 页的合同,签完字扫描回去,格式全乱了;甚至就是想把 PDF 转成 Word 查个资料,结果软件提示"请升级专业版"。

我们默认了 PDF 编辑这件事,必须花钱。

Adobe Acrobat Pro,年费 448 元。Foxit、Nitro,一个套路,全是订阅制。贵就算了——你每个月打开它的次数,真的值得每年掏这些钱吗?

但你又没法不用。PDF 就是这个互联网的"标准格式",绕不开。

直到我在 GitHub 上刷到这个项目:Stirling PDF。

78,400 Stars,GitHub PDF 类应用排名第一,作者用 Java + PDFBox 写的,Docker 一条命令就能跑。本地部署,不上传任何文档到服务器,50+ 功能,基本覆盖你日常碰到的所有 PDF 场景。

这篇文章,我把它完整拆一遍:功能到底怎么样,本地怎么部署,适合谁用。


二、Stirling PDF 是什么

一句话:Stirling PDF 是一个可以本地部署的 Web 版 PDF 处理平台。

不是浏览器里那种"上传到云端处理"的服务,是跑在你自己的机器(或服务器)上的私有工具。打开浏览器访问,界面长这样:

功能仪表盘 → 左侧功能分类 → 点击即用 

核心特性: - 50+ PDF 工具:合并、拆分、旋转、压缩、加密、解密、签名、OCR、格式转换…… - 完全本地运行:文档不经过任何第三方服务器,隐私敏感场景也能用 - 开源免费:GitHub 开源,MIT 协议,社区活跃(Discord + GitHub Issues) - 多端访问桌面客户端 + 浏览器 + API,平板,手机都可以, 适合团队共享 - REST API:几乎每个工具都有 API,可以集成到现有系统做批量自动化 - 多语言:支持 40+ 种语言,包括中文

对了,技术栈是 Java 后端 + TypeScript 前端,用 Gradle 构建,Docker 部署。78k Stars,176 个 Release,5,000+ 次 Commit,社区相当活跃,不是什么小众玩具。


三、功能全景:什么能做,什么还不能

⚠️ 部署门槛说明:Stirling PDF 不是"下载即用"的消费级产品,需要有 Docker 环境(或能在服务器上跑 Java)。技术人 15 分钟搞定,非技术人需要有人帮忙搭一下。但搭好之后,任何设备浏览器都能用。

按使用频率,我把这 50+ 功能分成四类说:

3.1 日常高频功能(你一定用得上)

功能
场景
备注
合并 PDF
多张发票、合同合并成一个文件
最常用
拆分 PDF
几十页合同拆成单独页
按页数或书签拆分
旋转页面
扫描件方向歪了
支持批量
压缩 PDF
邮件发附件太大
有多种压缩级别
提取页面
只要合同前 5 页
可多选
删除页面
去掉多余页
可视化操作

这几个功能,我估计能覆盖你 80% 的日常需求。

3.2 格式转换功能

功能
支持方向
PDF → Word / Excel / PPT
✅ 支持
PDF → 图片(JPG / PNG)
✅ 支持
图片 → PDF
✅ 支持
PDF → PDF/A(归档格式)
✅ 支持
Word / Excel → PDF
✅ 支持

特别说一下 PDF 转 Word。效果比不上付费软件完美还原,但用于"查资料、提取文字"完全够用。如果你对格式还原度要求极高(比如合同版式必须一模一样),建议还是用 Adobe。

3.3 安全与签名功能

功能
说明
电子签名
导入签名图片或手绘签名,添加到 PDF 指定位置
密码加密
AES-256 加密,限制打印/复制/编辑权限
文档签名
支持更正式的签名流程
水印添加
文字或图片水印,批量添加

这个签名功能对我来说特别实用。合同签完打印扫描这种事,现在直接电子签名,5 秒搞定。

3.4 OCR 与高级处理

功能
说明
PDF OCR
把扫描件图片转成可搜索文字
页面重排序
拖拽调整页面顺序
多页合一
2合1、4合1、8合1
PDF 元数据编辑
修改作者、标题、创建日期等
比较 PDF
两份 PDF 差异高亮对比
_flatten PDF
将注释/表单固化到页面

Stirling PDF 能做什么(完整清单)

  • 基础操作:合并、拆分、旋转、删除、提取、重组
  • 格式转换:Word、Excel、图片、Markdown、HTML
  • 安全:签名、加密、解密、水印、权限管理
  • OCR:图片 PDF 转文字,支持 100+ 语言
  • 高级:重排序、压缩、元数据、比较、签名证书
  • 自动化:API 调用、批量处理、无代码流水线

什么还不能做

诚实说几点局限:

  1. 格式还原度
    :PDF 转 Word/Excel,复杂排版(如多栏混排)还原度不如 Adobe Acrobat Pro
  2. 需要 Docker
    :不是"下载双击运行"那种,零技术基础用户有门槛
  3. 内存占用
    :跑在本地,较大 PDF(比如几百兆)会占内存
  4. 批量处理
    :适合日常小批量,大规模企业级文档流建议看他们的企业方案

四、为什么隐私很重要(很多人在意这个)

Stirling PDF 最打动我的一个点:你的文档,永远不会离开你的机器

用过那些在线 PDF 工具吗?Smallpdf、iLovePDF、PDF2DOC……你把合同、发票、个人信息文件上传到别人的服务器,处理完再下载。文件在服务器上存多久?有没有被缓存?安不安全?

你不知道。也不可控。

财务报销的发票、有保密条款的合同、内部文件——你真的敢随便上传吗?

Stirling PDF 跑在你自己的 Docker 里,文档从进来到出去,全程在本地处理。服务器是别人的,这个服务器是你自己的。

这是一个经常被忽视、但其实非常关键的差异。


五、本地部署:一条命令,15 分钟跑起来

接下来是实操部分。

前提条件:Docker

Stirling PDF 的部署方式有两种,推荐 Docker:

方式一:Docker(推荐,15 分钟搞定)

一条命令启动:

docker run -d \   -p 8080:8080 \   -v ./stirling-pdf/data:/usr/share/Stirling-PDF/files \   --name stirling-pdf \   docker.stirlingpdf.com/stirlingtools/stirling-pdf 

启动后浏览器访问:http://localhost:8080

参数说明: - -p 8080:8080:容器 8080 端口映射到主机 8080 - -v:持久化数据目录,配置文件和输出文件存在这里 - --name stirling-pdf:给容器起个名字,方便管理

如果你的机器上 Docker 装好了,这条命令 copy 过去,回车,2 分钟拉镜像,10 分钟服务就起来了。15 分钟是给第一次操作、不熟悉 Docker 的人的预估时间。

方式二:桌面客户端

不想用 Docker,也有桌面版:

  • macOS:下载 .dmg 文件,双击安装
  • Windows:下载 .exe 安装包(Launch4j 打包)
  • Linux:AppImage / RPM 包

桌面版适合个人使用,不想折腾服务器或 Docker 的人。缺点是每个设备都要装,版本更新要手动升级。

方式三:已有部署方案的团队

Stirling PDF 支持: - Kubernetes 部署(官方有 Helm Chart) - 反向代理配置(Nginx / Caddy) - SSO 单点登录(企业版功能) - API 集成:REST API 对接现有系统

大团队或者有运维资源的,可以研究官方文档:https://docs.stirlingpdf.com


六、进阶玩法:API + 自动化工作流

这部分的受众是开发者 / 有技术能力的读者,可以跳过。

Stirling PDF 的每个功能几乎都有 REST API。这意味着你可以:

批量处理成百上千个 PDF:

# 批量压缩某个目录下所有 PDF for file in ./documents/*.pdf; do   curl -X POST "http://localhost:8080/api/v1/general/compress" \     -F "file=@$file" \     -o "./compressed/$(basename $file)" done 

无代码流水线:

在 UI 内可以配置"无代码流水线"——把多个 PDF 操作串联起来:合并 → 压缩 → 添加水印 → 发送邮件,一条流水线搞定,不用写代码。

集成到现有系统:

# 示例:调用合并 API curl -X POST "http://localhost:8080/api/v1/general/merge" \   -F "files=@file1.pdf" \   -F "files=@file2.pdf" \   -o "merged.pdf" 

API 文档在这里:https://registry.scalar.com/@stirlingpdf/apis/stirling-pdf-processing-api/


七、三类人的使用建议

👤 普通上班族:直接用桌面版或 Docker

财务、行政、法务——你们是 PDF 处理频率最高的人群。

不需要懂技术: 1. 电脑装好 Docker Desktop 2. 一条命令跑起来 3. 浏览器打开 localhost:8080,之后每次用直接访问

发票合并、合同拆分、签名、压缩——这几个功能就值回"票价"了。

🧑‍💻 技术人 / 开发者:API + 自动化是你的主场

如果你懂命令行,Stirling PDF 的价值远不止 Web UI。

想想这几个场景: - 每次 PR 合入,自动把 changelog 生成 PDF 存档 - CI/CD 里加一步 PDF 签名验证 - 定时任务自动压缩备份文件

一个命令就能把这些串起来:

# 示例:Git Hook 里加 PDF 签名 git commit-msg-hook.sh → 调用 Stirling PDF API → 签名存档 

技术人的优势:15 分钟部署,零成本,私有化,完全可控。

🏢 企业 IT:考虑稳定性方案

处理敏感文件多的部门(法务、财务、HR),Stirling PDF 的本地部署模式很适合。

要注意的点: - 需要有人维护 Docker / Kubernetes 环境 - 有条件的话用 SSO 版本,权限管理更规范 - 留意内存使用,大文件场景可能需要更多资源


八、总结

Stirling PDF 不是一个"完美替代 Adobe Acrobat Pro"的方案——那种话我不说,说了你也不信。

但如果你符合以下任意一条:

  • 被订阅制 PDF 工具的年费恶心到了
  • 处理的文件有隐私要求,不想上传到第三方
  • 日常 PDF 操作以合并、拆分、签名、压缩为主
  • 想在团队内搭建一个私有 PDF 处理平台

Stirling PDF 值得你花 15 分钟部署试试。

免费、开源、本地跑、API 完整——这四个标签放在 PDF 工具这个赛道上,相当能打。

Adobe 的付费墙正在松动。动手的成本很低,不动手的理由越来越少。

💡 本文核心结论 1. Stirling PDF 是 GitHub PDF 类应用排名第一的开源项目,78k Stars,社区活跃 2. 50+ 功能覆盖日常 PDF 处理场景,完全本地运行,隐私安全 3. Docker 一条命令 15 分钟搞定部署,技术门槛低 4. API 支持批量自动化,适合开发者和团队 5. 适合:想摆脱订阅制、有隐私需求、日常处理 PDF 的各类人群


🔗 相关链接 - Stirling PDF 官网:https://www.stirling-pdf.com - GitHub 项目:https://github.com/Stirling-Tools/Stirling-PDF - 官方文档:https://docs.stirlingpdf.com - Docker Hub:https://hub.docker.com/r/stirlingtools/stirling-pdf