Skip to content
BotServBotServ
Stirling-PDFPDFOCRSelf-HostingDockerOpen SourceDocumentos

Stirling-PDF self-hosted: Kit de herramientas PDF

Aloja Stirling-PDF localmente: fusiona, divide, OCR y convierte PDFs. Docker, n8n e integración RGPD.

S

schutzgeist

4 min read
Stirling-PDF self-hosted: Kit de herramientas PDF

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íaHerramientasUtilidad práctica
OrganizarMerge, Split, Rotate, Reorder, Remove PagesEnsamblar documentos
ConvertirPDF↔Word/Imágenes/HTML/MarkdownPipelines de importación/exportación
OCRBasado en TesseractHacer escaneos buscables (entrada para RAG)
SeguridadFirmar, Marcas de agua, Contraseña, SanitizeProteger documentos empresariales
OptimizarComprimir, AplanarEnvío por email, archivo
ImágenesImagen↔PDF, Ajuste de colorPost-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:8080 es 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

HerramientaFortalezaDebilidad
Stirling-PDFCaja de herramientas PDF completa, API, mantenimiento activoJava (más pesado de lo necesario)
Paperless-ngxGestión de documentos con etiquetado basado en IASin editor de PDF
PDF-Toolbox/CUPSMinimalistaSin interfaz web
iLovePDF etc.Sin configuraciónDatos 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?

Sí, código abierto (GPL). Existe una versión Enterprise con SSO y funciones avanzadas, pero para la mayoría la edición Community es completamente suficiente.

¿Puede Stirling-PDF hacer OCR en alemán?

Sí: Tesseract soporta deu. En docker-compose establecer LANGS=deu,eng, luego OCR con reconocimiento de idioma alemán.

¿Tiene API?

Sí, una API REST completa bajo /api/v1/, lo que convierte a Stirling-PDF en un componente para flujos n8n y scripts propios.

¿Stirling-PDF o Paperless-ngx?

Propósitos diferentes: Paperless es un sistema de gestión documental (almacenamiento, etiquetado, búsqueda). Stirling-PDF es una caja de herramientas PDF (editar, OCR, convertir). Juntos son poderosos: Paperless archiva, Stirling edita.

¿Cuántos recursos necesita?

Aplicación Java: 500 MB a 1 GB de RAM en reposo, más durante procesos OCR. Corre sin problemas junto a otros servicios en una computadora mini.

¿Múltiples usuarios?

Sí, con login activado hay cuentas de usuario y roles. Sin login es una herramienta de usuario único.

Fuentes y lecturas adicionales

Volver al blog
Share:

Entradas relacionadas