Stirling-PDF完全指南:50+PDF操作一站式解决本地文档处理需求
你是否还在为处理PDF文件时需要安装多个软件而烦恼?是否担心在线工具泄露敏感文档?Stirling-PDF作为一款本地化部署的Web应用,整合了50+种PDF处理功能,让你无需上传文件即可在本地完成所有PDF操作。本文将从安装配置到高级功能,全面介绍这款开源工具如何提升你的文档处理效率。
关于Stirling-PDF
Stirling-PDF是一款基于Docker的本地化Web应用,提供PDF文件的拆分、合并、转换、重组、添加图片、旋转、压缩等全方位操作。所有文件处理均在本地完成,确保数据安全。项目采用Spring Boot+Thymeleaf构建后端,PDF.js实现前端预览,整合了PDFBox、LibreOffice等开源工具的强大功能。
官方文档:README.md
开发指南:devGuide/DeveloperGuide.md
核心功能概览
Stirling-PDF提供三大类核心功能,覆盖从基础编辑到高级处理的全场景需求:
页面操作
- 可视化编辑:通过PDF.js实现多页PDF预览、排序和搜索,支持批注、绘图、添加文本和图片
- 页面重组:合并多个PDF、按页码拆分、提取特定页面、旋转页面(90度增量)
- 高级布局:多页排版、内容缩放、对比度调整、自动裁剪、去除空白页
格式转换
- 跨格式转换:PDF与图片互转、Office文档(Word/PPT)与PDF互转(依赖LibreOffice)
- 特殊格式处理:HTML转PDF、URL转PDF、Markdown转PDF、PDF转CSV/XML
安全与增强
- 权限管理:添加/移除密码保护、修改PDF权限设置
- 文档保护:添加水印、数字签名、内容 sanitize、自动文本脱敏
- OCR识别:基于Tesseract的文字识别功能,支持多语言训练数据
OCR使用指南:HowToUseOCR.md
快速安装部署
Docker Compose部署
Stirling-PDF提供多种预配置的Docker Compose模板,满足不同场景需求:
# 基础版(无登录功能)
services:
stirling-pdf:
container_name: Stirling-PDF
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
ports:
- "8080:8080"
volumes:
- ./stirling/data:/usr/share/tessdata:rw
- ./stirling/config:/configs:rw
environment:
SYSTEM_MAXFILESIZE: "100"
restart: on-failure:5
可用配置模板:exampleYmlFiles/
安装步骤
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/st/Stirling-PDF
cd Stirling-PDF
- 选择合适的配置文件启动:
# 基础版
docker-compose -f exampleYmlFiles/docker-compose-latest.yml up -d
# 带安全认证版
docker-compose -f exampleYmlFiles/docker-compose-latest-security.yml up -d
- 访问应用:打开浏览器访问 http://localhost:8080
高级功能配置
多语言支持
Stirling-PDF已内置40种语言支持,包括:
- 简体中文(91%完成度)
- 英语(100%完成度)
- 日语(90%完成度)
- 德语(95%完成度)
- 西班牙语(95%完成度)
语言配置文件位于 app/core/src/main/resources 目录下,命名格式为 messages_{lang}_{region}.properties。
数据库备份
管理员可通过界面或API管理数据库备份:
- 自动备份:默认每日午夜执行(可通过
system.databaseBackup.cron配置) - 手动导出:用户数据库变更时触发自动导出
- 备份管理:查看备份列表、下载备份文件、删除旧备份
数据库配置文档:DATABASE.md
自定义流水线
通过"Pipelines"功能将多个操作组合成自动化流程:
- 在UI中拖拽操作步骤
- 设置参数和执行顺序
- 保存为模板供后续使用
流水线配置源码:app/core/src/main/java/stirling/software/SPDF/model/PipelineConfig.java
企业级特性
安全加固
启用安全功能需在配置中设置 SECURITY_ENABLELOGIN=true,支持:
- 本地用户认证
- SSO单点登录(SAML2/OAuth2)
- 细粒度权限控制
- 操作审计日志
高可用部署
企业版配置支持:
- 水平扩展:多实例负载均衡
- 持久化存储:外部数据库配置
- 监控集成:Prometheus指标暴露
示例配置:exampleYmlFiles/docker-compose-latest-fat-security.yml
开发与扩展
Stirling-PDF采用模块化架构,便于功能扩展:
项目结构
Stirling-PDF/
├── app/ # 应用代码
│ ├── common/ # 通用组件
│ ├── core/ # 核心功能
│ └── proprietary/ # 企业版功能
├── exampleYmlFiles/ # 配置示例
├── scripts/ # 工具脚本
└── test/ # 测试用例
核心控制器源码:app/core/src/main/java/stirling/software/SPDF/controller/
API集成
应用提供RESTful API,可通过 /swagger-ui/index.html 访问接口文档,支持:
- 所有UI功能的程序化调用
- 批量任务提交
- 异步处理与结果回调
总结
Stirling-PDF通过本地化部署解决了文档处理的隐私安全问题,同时整合了50+实用功能,满足从个人用户到企业团队的全场景需求。其模块化架构和丰富的配置选项,既保证了基础用户的易用性,又为高级用户提供了深度定制的可能。
无论是日常办公中的PDF编辑,还是企业环境下的文档管理,Stirling-PDF都能成为你的一站式解决方案。立即部署体验,告别繁琐的软件切换和文件上传风险。
项目贡献指南:CONTRIBUTING.md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




