乐于分享
好东西不私藏

一个命令跑起 PDF 工作台,文件不用再交给陌生网页

一个命令跑起 PDF 工作台,文件不用再交给陌生网页

Stirling PDF 不是那种一眼就让人尖叫的开源项目。

但它解决的是办公室里每天都会碰到的小麻烦:合同要合并,扫描件要 OCR,文件太大要压缩,身份证号要涂掉,PDF 要转 Word。过去很多人会随手打开一个在线工具,把文件传上去,处理完再下载。文件越敏感,这个动作越让人心里发紧。

截至 2026 年 6 月 23 日,Stirling-Tools/Stirling-PDF 在 GitHub 上已经有约 8.3 万星,最新版本 v2.13.1 在 6 月 19 日发布。它做的事很朴素:把合并、拆分、压缩、转换、签名、涂黑、OCR、加水印这些 PDF 操作,放进一个可以自己掌控的网页工作台。

真正吸引人的不是功能多,而是它把“找网站上传文件”这一步拿掉了。

图 1:GitHub 仓库页,能看到项目活跃度、star、fork 和最近提交。

别再把 PDF 拆成十几个网页

Stirling PDF 的界面像一个文件处理台。左侧是工具列表,中间是上传区。要合并文件,就点 Merge;要压缩,就点 Compress;扫描件不能搜索,就点 OCR / Cleanup scans;要把 PDF 转成 Word、图片或文本,就去 Convert。

这套逻辑对不懂技术的人也友好。它不是让你学习 PDF 原理,而是把动作拆成按钮:上传文件,选参数,点运行,下载结果。

最适合它的场景,不是专业设计师修版面,而是财务、人事、运营、内容团队每天反复做的文件小活。多份发票合成一个包,报名表删掉空白页,发给同事前加水印,扫描合同变成可搜索文本,这些动作最耗人。

图 2:仓库 README 引用的真实 Dashboard 图,左侧就是常用 PDF 工具入口。

先跑起来,再谈长期使用

最快的方式是 Docker。电脑上先装 Docker Desktop,服务器上先装 Docker。然后新建一个文件夹,打开终端,执行:

docker run -d --name stirling-pdf -p 8080:8080 -v ./stirling-data:/configs stirlingtools/stirling-pdf:latest

浏览器打开 http://localhost:8080,看到上传框和工具栏,就算跑起来了。第一条验证动作很简单:找两份不敏感的 PDF,进入 Merge,合成一个文件;再进入 Compress,看文件体积有没有下降。

如果 8080 端口被别的软件占用,把命令里的 -p 8080:8080 改成 -p 9000:8080,再打开 http://localhost:9000。

图 3:官方 Docker 文档的 Quick Start,命令和验证地址都在同一屏。

长期使用,要把配置留下来

只试一次,用 docker run 够了。准备长期放在电脑、NAS 或办公室服务器上,建议改成 docker-compose.yml:

services:

stirling-pdf:

image:stirlingtools/stirling-pdf:latest

container_name:stirling-pdf

ports:

-"8080:8080"

volumes:

-./stirling-data:/configs

restart:unless-stopped

保存后执行 docker compose up -d。以后更新,就是 docker compose pull,再 docker compose up -d。因为配置挂在 ./stirling-data 里,常用设置不会跟着容器一起丢。

版本也不用纠结。多数人先用 latest。经常做 Office 转 PDF、PDF 转 Word、字体要求高,再换 latest-fat。机器很小、只要基础合并拆分,就用 latest-ultra-lite。

三件事最适合马上试

第一件,是把零散文件收成一个交付包。进入 Merge 或 PDF Multi Tool,上传多个 PDF,拖动排序,删掉空白页,加页码,再导出。会议材料、报销附件、课程资料,都适合这样处理。

第二件,是发布前的安全处理。Compress 能压小文件,Add Watermark 能加水印,Redact 和 Sanitise 能处理不该出现的信息。涂黑不是画一个黑块那么简单,真正发布前要重新下载结果并搜索一次,确认文字层里也没有残留。

第三件,是把重复动作交给自动化。Stirling PDF 自带 API 文档,部署后访问 /swagger-ui.html 可以看到接口。官方文档还给了 Pipeline 思路:把 OCR、压缩、加水印串成一个流程,再用 n8n、Make、Power Automate 或脚本去调用。对经常整理表单、简历、票据的人,这一步能少掉很多重复点击。

图 4:官方 API 文档页面,部署后也可以在自己的实例里打开 /swagger-ui.html。

有些地方不能偷懒

Stirling PDF 不是万能排版软件。PDF 转 Word 的还原度,取决于原文件结构和字体;扫描件 OCR 的质量,取决于清晰度和语言包。需要中文或多语言识别时,要把对应的 .traineddata 放进 /usr/share/tessdata,并保留 eng.traineddata。

如果只在自己电脑上用,localhost 就够了。放到办公室网络或外网前,要开启登录,把 SECURITY_ENABLELOGIN 设为 true;公开访问还要配 HTTPS。对敏感文件流程,可以把 SYSTEM_ENABLEANALYTICS=false 写进环境变量。官方说明里写得很清楚:分析功能需要同意才启用,也不会收集文档内容,但能关掉就少一层担心。

把文件留在自己手里

一个好的 PDF 工具,不该逼人每次都把文件交给陌生网页。Stirling PDF 的用处就在这里:它把散落的 PDF 小动作收回到一个可控的地方。

会用之后,它不是新玩具,而是文件流转里少一次上传、少一次等待。