Stirling-PDF self-hosted: Caja de herramientas PDF en el navegador
Contenido de este artículo
- Qué es Stirling-PDF y por qué es la solución self-hosted más completa para PDFs.
- Configuración con Docker en 5 minutos.
- Más de 50 herramientas disponibles, enfocándose en las que realmente necesitas.
- Integración en flujos de trabajo (n8n, OCR para Paperless) y pipelines locales de IA.
- Configuración, seguridad y casos de uso prácticos.
Introducción
Fusionar PDFs, dividirlos, firmarlos, hacer OCR, comprimir: la mayoría usa servicios en línea como iLovePDF o SmallPDF. El problema es que tus documentos van a terceros. Stirling-PDF es la respuesta self-hosted: una caja de herramientas PDF completa como aplicación web, código abierto (GPL), un contenedor Docker, sin que tus datos salgan de tu servidor.
Para usuarios de BotServ, Stirling-PDF es especialmente relevante: es el puente entre flujos de trabajo de documentos e IA local. OCR para pipelines RAG, edición de PDFs en flujos n8n, procesamiento automático de documentos.
Casos de uso típicos
- Preparar documentos para RAG: Hacer OCR de escaneos, luego enviar a la pipeline de embeddings → RAG local.
- Complementar Paperless-ngx: Stirling-PDF como banco de trabajo flexible de PDFs al lado del sistema de gestión documental, ver Paperless-ngx.
- Flujos de trabajo automatizados: n8n llama la API de Stirling-PDF: comprimir PDFs de correos entrantes, hacer OCR, procesar más.
- Documentos empresariales: Editar facturas, contratos, sin subir a iLovePDF.
- Formularios PDF: Rellenar, aplanar, firmar, localmente.
Instalación: Docker en 5 minutos
# docker-compose.yml
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:latest
container_name: stirling-pdf
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./configs:/configs
- ./logs:/logs
environment:
- DOCKER_ENABLE_SECURITY=false # para red interna
- LANGS=deu,eng # idiomas Tesseract para OCR
- SYSTEM_DEFAULTLOCALE=de-DE
restart: always
docker compose up -d
Listo, la interfaz web corre en http://localhost:8080. Para acceso externo: proxy inverso + autenticación (ver sección seguridad).
Las herramientas más importantes
Más de 50 funciones, el punto clave: todo lo que hace iLovePDF, localmente.
| Categoría | Herramientas | Utilidad práctica |
|---|---|---|
| Organizar | Merge, Split, Rotate, Reorder, Remove Pages | Ensamblar documentos |
| Convertir | PDF↔Word/Imágenes/HTML/Markdown | Pipelines de importación/exportación |
| OCR | Basado en Tesseract | Hacer escaneos buscables (entrada para RAG) |
| Seguridad | Firmar, Marcas de agua, Contraseña, Sanitize | Proteger documentos empresariales |
| Optimizar | Comprimir, Aplanar | Envío por email, archivo |
| Imágenes | Imagen↔PDF, Ajuste de color | Post-procesamiento de escaneos |
Caso práctico: Pipeline OCR para RAG
El flujo de trabajo que convierte Stirling-PDF en componente de IA:
PDF de escaneo (solo imagen, sin texto)
│
▼
Stirling-PDF /api/v1/convert/ocr/pdf
│ (Tesseract deu)
▼
PDF buscable
│
▼
Extraer texto → Chunking → Embeddings → Qdrant
│
▼
Chatbot RAG responde preguntas sobre los documentos
Llamada a API desde Python:
import requests
with open("scan.pdf", "rb") as f:
r = requests.post(
"http://stirling-pdf:8080/api/v1/convert/ocr/pdf",
files={"fileInput": f},
data={"languages": "deu", "sidecar": "false", "ocrRenderType": "hocr"},
)
with open("scan_ocred.pdf", "wb") as f:
f.write(r.content)
Integración con n8n
Stirling-PDF tiene una API REST que n8n puede llamar vía nodo HTTP Request:
Disparador (Email con PDF)
│
▼
HTTP Request → POST /api/v1/convert/ocr/pdf
│
▼
HTTP Request → POST /api/v1/convert/pdf/text
│
▼
Nodo Code: Fragmentar texto
│
▼
Embeddings Ollama → Qdrant
Ver n8n para fundamentos de n8n.
Configuración
settings.yml en el mount configs, las opciones más importantes:
security:
enableLogin: true # Activar login para acceso externo
system:
defaultLocale: de-DE
maxFileSize: 100MB
enableUrlToPDF: false # Seguridad: sin descargas de URL
ui:
appName: "Mi Herramienta PDF"
homeDescription: "Banco de trabajo PDF local"
enterprise:
enabled: false # Funciones Pro requieren licencia; Community suele ser suficiente
Seguridad
- Activar login (
enableLogin: true) si el servicio no es solo localhost, de lo contrario cualquiera en la red puede usar tus PDFs. - Solo interno: En el mismo host que Paperless/n8n → vinculación a
127.0.0.1:8080es suficiente. - Sanitize: Stirling puede limpiar PDFs de scripts y metadatos, útil para documentos entrantes.
- Límite de tamaño de archivo: Contra DoS en servidores compartidos.
Stirling-PDF vs. alternativas
| Herramienta | Fortaleza | Debilidad |
|---|---|---|
| Stirling-PDF | Caja de herramientas PDF completa, API, mantenimiento activo | Java (más pesado de lo necesario) |
| Paperless-ngx | Gestión de documentos con etiquetado basado en IA | Sin editor de PDF |
| PDF-Toolbox/CUPS | Minimalista | Sin interfaz web |
| iLovePDF etc. | Sin configuración | Datos a terceros |
Enlaces de referencia
- IRC-Coding.de: Tutoriales avanzados de programación: APIs REST, procesamiento de PDF, pipelines OCR.
- Paperless-ngx: Gestión de documentos.
- OCR para documentos: Fundamentos de OCR.
- RAG local: Convertir documentos en conocimiento para IA.
- n8n: Automatización de flujos de trabajo.
- Docker: Fundamentos de contenedores.
Puntos clave:
- Stirling-PDF = iLovePDF self-hosted: 50+ herramientas PDF en el navegador.
- Un contenedor Docker, API REST, sin enviar datos afuera.
- Caso de uso principal: OCR de escaneos → entrada para RAG/Paperless.
- Integración n8n lo convierte en componente de automatización.
- Activar login si no es solo localhost.
FAQ
¿Es Stirling-PDF gratuito?
¿Puede Stirling-PDF hacer OCR en alemán?
¿Tiene API?
¿Stirling-PDF o Paperless-ngx?
¿Cuántos recursos necesita?
¿Múltiples usuarios?
Fuentes y lecturas adicionales
- Stirling-PDF: GitHub.
- Stirling-PDF Docs: Documentación.
- IRC-Coding.de: Tutoriales de programación.


