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
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0197
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0126
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python06
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07
