TL;DR — Quick Summary

Deploy Stirling-PDF self-hosted PDF toolkit. Merge, split, compress, OCR, convert, and watermark PDFs without uploading to third-party services.

Why Stirling-PDF?

Every time you upload a PDF to an online tool, your data passes through a third party. Stirling-PDF keeps everything local:

  • 30+ PDF operations in one interface.
  • Zero data leakage — files never leave your server.
  • No accounts or limits — unlimited usage, no watermarks.
  • REST API — automate PDF processing from scripts.
  • Dark mode — beautiful modern UI.

Prerequisites

  • Docker on any machine.
  • At least 256 MB RAM (more for OCR).

Step 1: Deploy with Docker

docker run -d \
  --name stirling-pdf \
  -p 8080:8080 \
  -v ./training-data:/usr/share/tessdata \
  -v ./configs:/configs \
  -e DOCKER_ENABLE_SECURITY=false \
  frooodle/s-pdf:latest

Access at http://your-server:8080.


Step 2: Available Operations

Category Operations
Page Operations Merge, split, rotate, rearrange, remove, extract pages
Conversion PDF ↔ Word, Excel, PowerPoint, images, HTML, Markdown
Compression Reduce file size with quality options
Security Add/remove password, permissions, watermark
OCR Extract text from scanned PDFs (Tesseract)
Manipulation Add page numbers, headers/footers, flatten forms
Signing Add signature image to PDF

Step 3: API Integration

Every operation is available via REST API:

# Merge two PDFs
curl -F 'fileInput=@file1.pdf' \
     -F 'fileInput=@file2.pdf' \
     http://localhost:8080/api/v1/general/merge-pdfs \
     -o merged.pdf

# Compress a PDF
curl -F 'fileInput=@large.pdf' \
     -F 'optimizeLevel=3' \
     http://localhost:8080/api/v1/general/compress-pdf \
     -o compressed.pdf

# OCR a scanned PDF
curl -F 'fileInput=@scanned.pdf' \
     -F 'languages=eng+spa' \
     http://localhost:8080/api/v1/misc/ocr-pdf \
     -o searchable.pdf

Stirling-PDF vs Online Alternatives

Feature Stirling-PDF ILovePDF/SmallPDF
Privacy Files stay on your server Uploaded to cloud
Cost Free, no limits Free tier limited
Operations 30+ 20+
API Yes, REST Paid plans only
Watermarks None Free tier adds watermarks
OCR Included (Tesseract) Paid feature

Troubleshooting

Problem Solution
OCR produces poor results Install additional language packs in /usr/share/tessdata
Large files timeout Increase Docker memory limit and timeout settings
“File too large” error Set STIRLING_PDF_MAX_FILE_SIZE environment variable
API returns 500 Check Docker logs: docker logs stirling-pdf

Summary

  • One Docker command for a complete PDF toolkit.
  • Privacy first — no cloud uploads, no third parties.
  • REST API for automation from scripts and workflows.
  • Replaces paid subscriptions to ILovePDF, SmallPDF, or Adobe.