Stirling PDF 在线 PDF 工具搭建教程
Stirling PDF 是一款功能全面的开源 PDF 处理工具,提供 Web 界面进行各种 PDF 操作。它不依赖任何第三方云服务,所有文件处理都在你的服务器本地完成,充分保障文档隐私。涵盖合并、拆分、转换、压缩、OCR 识别、水印等数十种功能。本教程将在搬瓦工 VPS 上使用 Docker 部署 Stirling PDF。
一、Stirling PDF 功能列表
- 页面操作:合并多个 PDF、拆分页面、旋转、重新排序、删除页面和提取页面。
- 格式转换:PDF 转图片、图片转 PDF、Word/Excel/PPT 转 PDF、HTML 转 PDF、Markdown 转 PDF。
- 安全功能:添加/移除密码保护、添加数字签名、编辑敏感信息、添加水印。
- OCR 文字识别:对扫描版 PDF 进行文字识别,生成可搜索的 PDF。
- 压缩优化:压缩 PDF 文件大小,优化图片质量。
- 其他功能:修复损坏的 PDF、扁平化表单、提取图片、对比 PDF 差异等。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 1GB RAM(OCR 功能需要更多内存),推荐 2GB。
- 磁盘:至少 5GB 可用空间(完整版含 OCR 语言包较大)。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。
三、Docker 部署 Stirling PDF
3.1 创建项目目录
mkdir -p /opt/stirling-pdf && cd /opt/stirling-pdf
3.2 完整版部署(含 OCR)
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:latest
container_name: stirling-pdf
restart: always
ports:
- "8080:8080"
environment:
DOCKER_ENABLE_SECURITY: "false"
INSTALL_BOOK_AND_ADVANCED_HTML_OPS: "true"
LANGS: "zh_sim+eng"
volumes:
- stirling_data:/usr/share/tessdata
- stirling_config:/configs
- stirling_logs:/logs
volumes:
stirling_data:
stirling_config:
stirling_logs:
EOF
LANGS 环境变量指定 OCR 语言包,zh_sim 为简体中文,eng 为英文。可以按需添加其他语言。
3.3 轻量版部署(不含 OCR)
如果不需要 OCR 功能,可以使用更轻量的配置:
docker run -d \
--name stirling-pdf \
--restart always \
-p 8080:8080 \
stirlingtools/stirling-pdf:latest
3.4 启动服务
docker compose up -d
docker compose logs -f stirling-pdf
首次启动需要下载 OCR 语言包,可能需要几分钟。启动后访问 http://你的服务器IP:8080 即可使用。
四、Nginx 反向代理
cat > /etc/nginx/sites-available/stirling-pdf <<'EOF'
server {
listen 80;
server_name pdf.example.com;
client_max_body_size 200m;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -s /etc/nginx/sites-available/stirling-pdf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d pdf.example.com
注意将 client_max_body_size 设置得足够大,以支持上传大型 PDF 文件。
五、功能使用详解
5.1 合并与拆分
在首页选择"Merge"功能,上传多个 PDF 文件,调整顺序后点击合并。拆分功能支持按页码范围拆分、每 N 页拆分或按书签拆分。
5.2 格式转换
支持 PDF 与多种格式的双向转换。将 PDF 转为 PNG/JPEG 图片时可以设置 DPI 分辨率。图片转 PDF 支持多图合并为一个 PDF。Office 文档(Word、Excel、PPT)转 PDF 通过 LibreOffice 引擎实现。
5.3 OCR 文字识别
上传扫描版 PDF 或图片 PDF,选择语言后执行 OCR。识别完成后生成可搜索的 PDF,可以直接复制和搜索文字内容。对于中英文混合文档,选择 zh_sim+eng 语言组合获得最佳识别效果。
5.4 安全与水印
添加密码保护防止未授权打开 PDF。添加水印功能支持文字水印和图片水印,可以调整位置、角度和透明度。清除隐私元数据功能可以移除 PDF 中的作者、创建工具等信息。
5.5 启用登录认证
如果希望限制访问,可以启用内置认证功能。修改环境变量:
DOCKER_ENABLE_SECURITY: "true"
SECURITY_INITIALLOGIN_USERNAME: "admin"
SECURITY_INITIALLOGIN_PASSWORD: "your_admin_password"
六、API 接口
Stirling PDF 提供完整的 REST API,可以通过编程方式调用 PDF 处理功能:
# 合并 PDF 示例
curl -X POST "http://pdf.example.com/api/v1/general/merge-pdfs" \
-F "fileInput=@file1.pdf" \
-F "fileInput=@file2.pdf" \
-o merged.pdf
# PDF 转图片
curl -X POST "http://pdf.example.com/api/v1/convert/pdf/img" \
-F "fileInput=@document.pdf" \
-F "imageFormat=png" \
-F "dpi=300" \
-o images.zip
七、升级
cd /opt/stirling-pdf
docker compose pull
docker compose down
docker compose up -d
总结
Stirling PDF 是目前最全面的开源 PDF 处理工具,部署在自己的搬瓦工 VPS 上可以确保文档不会经过第三方服务器,保障敏感文档的安全。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。更多部署教程请访问 搬瓦工VPS中文网。