Skip to main content

StirlingPDF: Manipulación avanzada de archivos PDF


StirlingPDF es una herramienta en contenedor para convertir, editar o aplicar OCR a documentos PDF. Funciona bien en local, con interfaz sencilla y muchas opciones.


.env

DOCKER_ENABLE_SECURITY=false
INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
LANGS=es_ES

docker-compose.yml

docker-compose.yml

services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    container_name: S-PDF
    restart: unless-stopped
    network_mode: bridge
    ports:
      - '9080:8080'
    volumes:
      - ./trainingData:/usr/share/tessdata
      - ./extraConfigs:/configs
      - ./customFiles:/customFiles/
      - ./logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=${DOCKER_ENABLE_SECURITY}
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=${INSTALL_BOOK_AND_ADVANCED_HTML_OPS}
      - LANGS=${LANGS}

Detalles clave

  • Puerto 9080: interfaz web accesible desde el navegador.

  • Volúmenes:

    • trainingData: datos adicionales de idioma para OCR.
    • logs: registros internos.
    • customFiles: carpeta para insertar archivos propios o logos.
    • extraConfigs: configuraciones extendidas (opcional).
  • Variables:

    • LANGS: puede incluir varios idiomas separados por comas.
    • DOCKER_ENABLE_SECURITY: si está en false, no se activa la capa extra de seguridad.
    • INSTALL_BOOK_AND_ADVANCED_HTML_OPS: activa funciones adicionales si se quiere editar HTML embebido o libros digitales.

Acceso y uso

  1. Preparar .env con tus valores.

  2. Levantar contenedor:

    docker-compose up -d
    
  3. Acceder desde navegador:

    http://<IP-del-servidor>:9080
    
  4. Usar interfaz para cargar PDFs, convertir, extraer texto, aplicar OCR, etc.


Notas personales

  • Lo uso principalmente para OCR de documentos escaneados.
  • El soporte para español es bueno, pero requiere el tessdata correspondiente en trainingData.
  • Algunas herramientas avanzadas están desactivadas por defecto, pero no hacen falta para tareas comunes.
  • Si se expone a internet, se recomienda protegerlo con Authentik o alguna capa de autenticación equivalente.

Enlaces de interés