Stirling-PDF 有 85k Star,功能列表拉出来两屏都写不完。
但我第一次打开它的界面,看到 54 个工具排成一片,愣了好几秒——该点哪个?
后来我发现,这 54 个工具里,真正高频用到的也就十来个,关键是按场景串起来。这篇文章就干这件事:按实际工作场景拆解,看完直接上手。
项目卡片
项目:Stirling-PDF[1] 状态:v2.13.2 / 85k Star / 持续活跃更新 一句话判断:自托管 PDF 全家桶,54 个工具 + REST API + 自动化流水线,覆盖日常 90% 需求
Docker 一行命令:
docker run -d -p 8080:8080 \
-v ./data:/usr/share/tessdata \
--name stirling-pdf \
docker.stirlingpdf.com/stirlingtools/stirling-pdf
打开 http://localhost:8080,即用。
三个版本可选:
| 版本 | 命令后缀 | 适用场景 | 内存 |
|---|---|---|---|
| Standard | 无 | 日常使用,含 OCR 和格式转换 | 4G |
| Fat | :fat |
离线环境,内置全部字体 | 6G |
| Ultra-Lite | :ultra-lite |
只需基础操作,资源紧张 | 2G |
桌面版直接去 GitHub Releases 下载安装包,Windows / Mac / Linux 都有。

收到一份 3 页合同,需要拆出第 2 页签字后再合并回去。
拆分:进入 Split PDF → 输入页码 2 → 下载
签字:进入 Sign → 上传签章图片或在触控板上手写签名 → 拖到指定位置 → 调整大小 → 应用
合并:进入 Merge → 上传处理好的三份文件 → 调整顺序 → 下载
整个流程不到两分钟,文件全程在本地处理。
Stirling-PDF 支持 16 种格式互转:
PDF → Word/Excel/PPT:方便编辑内容 PDF → 图片:提取页面为 PNG/JPG 图片 → PDF:扫描件合并成文档 Markdown/HTML → PDF:技术文档排版 PDF → EPUB:电子书阅读器友好格式
操作路径:进入 Convert → 选择目标格式 → 上传文件 → 下载
转换引擎底层用 LibreOffice 和 Calibre。实际用下来,PDF 转 Word 的还原度比我预期好,但复杂排版还是会跑偏。如果格式不对,试试先转 HTML 再手动调,比直接修 Word 快。
纸质文件扫描后是图片,需要变成可搜索的 PDF。
OCR:进入 OCR → 选择语言(支持 100+ 语言)→ 上传扫描件 → 等待处理
底层用 Tesseract 引擎。中文识别准确率取决于扫描质量,300dpi 以上效果最好。
如果扫描件歪了,先用 Rotate 调整角度,再做 OCR。
扫描效果:Scanner Effect 工具可以给普通 PDF 加上"扫描件"的质感——发给对方看起来更像原始文件。
发给外部的文档需要保护。
加水印:Watermark → 输入文字(如"机密-仅供内部")→ 选位置、大小、透明度 → 生成
加密码:Add Password → 设置打开密码和权限密码 → 可限制打印、复制、编辑
去除敏感信息:Redact → 框选要遮盖的区域 → 应用。下载的 PDF 里这些内容被永久删除——不是用黑块盖住,而是从文件里彻底移除,无法恢复
清理元数据:Sanitize → 移除 PDF 里的 JavaScript、嵌入文件、隐藏元数据,防止信息泄露
收到一份 PDF 表单需要填写。
表单填写:Form Fill → 自动识别表单字段 → 直接在浏览器里填写 → 保存
添加批注:Annotate → 高亮、画线、加便签、画形状 → 适合审阅文档时标记修改意见
对比两版 PDF:Compare → 上传两个版本 → 自动高亮差异,适合合同修改后的核对

大部分人用完基础工具就停了,但 Pipeline 才是 Stirling-PDF 真正拉开差距的地方。
UI 内拖拽流水线
进入 Automate → 拖拽工具组成流水线 → 上传文件 → 一键执行
比如:OCR → 压缩 → 加水印 → 加密码,四步合成一步。
文件夹监控
在服务器上配置监控目录,PDF 进去自动处理、结果出来:
{
"operations": [
{"operation": "ocr", "parameters": {"language": "eng+chi_sim"}},
{"operation": "compress", "parameters": {"optimizeLevel": "2"}},
{"operation": "watermark", "parameters": {"watermarkText": "CONFIDENTIAL"}}
]
}
把 PDF 和这个 JSON 一起丢进监控目录,60 秒后在 finished 目录取结果。
REST API 集成
每个工具都有对应的 API 端点,可以批量处理:
# 压缩 PDF
curl -X POST http://localhost:8080/api/v1/general/compress-pdf \
-H "X-API-KEY: your-api-key" \
-F "fileInput=@document.pdf" \
-o compressed.pdf
# PDF 转 Word
curl -X POST http://localhost:8080/api/v1/convert/pdf/to/docx \
-H "X-API-KEY: your-api-key" \
-F "fileInput=@document.pdf" \
-o document.docx
API 文档地址:http://localhost:8080/swagger-ui.html
可以用 API Key 认证,适合集成到 CI/CD 或内部系统。

自定义设置
挂载配置文件:
docker run -d -p 8080:8080 \
-v ./settings.yml:/configs/settings.yml \
-v ./data:/usr/share/tessdata \
docker.stirlingpdf.com/stirlingtools/stirling-pdf
常用配置项:
system:
defaultLocale: "zh-CN" # 默认中文界面
tessdataDir: "/usr/share/tessdata" # OCR 语言包路径
security:
enableLogin: true # 启用登录
csrfDisabled: false # 生产环境建议开启 CSRF
OCR 语言包
默认只有英文。中文 OCR 需要额外安装:
# 下载中文语言包
wget https://github.com/tesseract-ocr/tessdata_fast/raw/main/chi_sim.traineddata
# 放到 tessdata 目录
mv chi_sim.traineddata ./data/
重启容器后生效。chi_sim 是简体中文,chi_tra 是繁体。
反向代理配置
Nginx 反代需要注意:
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100M; # 大文件上传需要调大
}
Stirling-PDF 很强,但别指望它替代所有 PDF 工具。我用了一段时间,踩过几个坑:
复杂 PDF 编辑:如果要深度修改 PDF 结构(比如编辑扫描件里的文字),还是得 Adobe Acrobat。Stirling-PDF 有 pdfTextEditor 工具能编辑文本层,但复杂排版搞不定。
OCR 准确率:取决于扫描件质量。300dpi 以上、清晰的打印体效果最好。手写体和复杂排版的准确率会下降。
大文件处理:默认内存配置下,超过 100MB 的 PDF 处理会比较慢。Fat 版本给了 6G 内存,处理大文件更稳。
企业功能需要付费:SSO、审计日志、文件共享、集群部署这些是 proprietary 功能,需要 Server Plan 或 Enterprise 授权。
下次遇到 PDF 需求,直接查这张表:
| 你的需求 | 去哪个工具 |
|---|---|
| 合并多个 PDF | Merge |
| 拆出指定页面 | Split / Extract Pages |
| PDF 转 Word | Convert → PDF to Word |
| 扫描件变可搜索 | OCR |
| 加密码保护 | Add Password |
| 批量加水印 | Watermark |
| 去除敏感信息 | Redact / Sanitize |
| 填写 PDF 表单 | Form Fill |
| 压缩文件大小 | Compress |
| 自动化多步操作 | Automate(Pipeline) |
项目地址:github.com/Stirling-Tools/Stirling-PDF[2]
文档:docs.stirlingpdf.com[3]
API 文档:启动服务后访问 http://localhost:8080/swagger-ui.html
这里会继续拆真实可用的开发者工具:少讲概念,多看入口、成本和坑点。你只需要判断一件事——它值不值得放进自己的工作流。
引用链接
[1]Stirling-PDF: https://github.com/Stirling-Tools/Stirling-PDF
[2]github.com/Stirling-Tools/Stirling-PDF: https://github.com/Stirling-Tools/Stirling-PDF
[3]docs.stirlingpdf.com: https://docs.stirlingpdf.com
夜雨聆风