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

CategoryOperations
Page OperationsMerge, split, rotate, rearrange, remove, extract pages
ConversionPDF ↔ Word, Excel, PowerPoint, images, HTML, Markdown
CompressionReduce file size with quality options
SecurityAdd/remove password, permissions, watermark
OCRExtract text from scanned PDFs (Tesseract)
ManipulationAdd page numbers, headers/footers, flatten forms
SigningAdd 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

FeatureStirling-PDFILovePDF/SmallPDF
PrivacyFiles stay on your serverUploaded to cloud
CostFree, no limitsFree tier limited
Operations30+20+
APIYes, RESTPaid plans only
WatermarksNoneFree tier adds watermarks
OCRIncluded (Tesseract)Paid feature

Troubleshooting

ProblemSolution
OCR produces poor resultsInstall additional language packs in /usr/share/tessdata
Large files timeoutIncrease Docker memory limit and timeout settings
”File too large” errorSet STIRLING_PDF_MAX_FILE_SIZE environment variable
API returns 500Check 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.