>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Python

PdfDing y domando el caos infinito de los PDF

PdfDing Logo

La mayoría de nosotros tenemos una carpeta Downloads o un servidor doméstico donde se acumulan cientos de PDFs a lo largo de los años. Documentación técnica, libros de programación de sistemas, recibos, contratos, escaneos y artículos de investigación. Por lo general, encontrar el párrafo correcto en ese desorden se convierte en una pesadilla: un archivo está abierto en la vista previa del navegador, otro está descargado en una tablet, y tus notas están en tu portátil del trabajo.

Si alguna vez has usado linkding para marcadores, el concepto te resultará familiar. El desarrollador mrmn2 se inspiró en él para crear PdfDing — una solución ligera y autohospedada todo en uno para leer, catalogar y editar PDFs directamente a través de una interfaz web.

PdfDing Demo Screenshot

Qué puede hacer el servicio

PdfDing resuelve un problema simple: proporciona un único punto de entrada para todos tus documentos con sincronización de estado entre dispositivos. Abres un libro en tu escritorio, cierras la pestaña, y por la noche continúas leyendo desde la misma página en tu teléfono.

El proyecto cubre las necesidades básicas de gestión de documentos sin la funcionalidad empresarial inflada.

Lectura y sincronización

La característica principal del lector es el seguimiento del progreso. La interfaz muestra barras de progreso claras para cada archivo, así que puedes ver inmediatamente qué manual está a medio leer y cuál ni siquiera has tocado todavía.

Para una lectura cómoda, el autor añadió:

  • Tema oscuro
  • Modo de inversión de color para escaneos antiguos con fondo blanco
  • Múltiples opciones de diseño de página para diferentes pantallas
  • Panel de notas con soporte para Markdown justo junto al documento

Anotaciones y firmas

PdfDing incluye un editor de marcado con todas las funciones. Puedes resaltar texto con un marcador, dibujar diagramas a mano en los márgenes e insertar bloques de texto.

Una ventaja adicional es el manejo de firmas. Guardas tu firma en tu perfil una vez, y luego puedes sellarla rápidamente en contratos y facturas desde cualquier dispositivo autorizado. Todos los comentarios y resaltados se recopilan en un panel separado, desde el cual se pueden exportar sin subir el archivo de origen más pesado.

Organización del catálogo

Cuando los documentos superan el ciento, una lista plana deja de funcionar. En PdfDing, puedes construir la estructura que se adapte a tus necesidades:

  • Espacios de trabajo para separar archivos personales y de trabajo
  • Colecciones anidadas
  • Etiquetas multinivel
  • Favoritos y archivo para versiones obsoletas

Las acciones masivas están disponibles para operaciones en masa. Puedes seleccionar veinte informes del último trimestre y enviarlos al archivo o aplicar una etiqueta común en un par de clics.

Compartir y seguridad

Si necesitas mostrar un documento a un compañero o cliente, no es necesario reenviar el archivo por mensajería. En la aplicación, puedes generar un enlace público o código QR para un documento específico o una colección completa. El acceso puede estar protegido con contraseña o tener límite de tiempo si es necesario.

Desde una perspectiva de seguridad, todo también está en orden:

  • Soporte SSO mediante protocolo OIDC
  • Autenticación de dos factores mediante códigos TOTP
  • Claves de hardware y biometría mediante el estándar WebAuthn

Cómo funciona internamente

Python impulsa el proyecto internamente. El autor no sobrecargó el sistema con complejidad de microservicios, optando por una arquitectura monolítica que se despliega fácilmente en una VPS modesta o una Raspberry Pi doméstica.

Por cierto, el desarrollo recibió apoyo financiero del Fondo NGI0 Commons europeo (programa de Internet de Nueva Generación de NLnet). Es una buena señal: el autor tiene recursos para desarrollar la base de código, y el proyecto no será abandonado un mes después del lanzamiento.

NLnet foundation logo

Cómo ejecutarlo tú mismo

La forma más fácil es iniciar el servicio mediante Docker Compose. Crea un manifiesto estándar:

services:
  pdfding:
    image: mrmn/pdfding:latest
    container_name: pdfding
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - SECRET_KEY=your-super-secret-key-change-me

Después de ejecutar docker compose up -d, el panel web estará disponible en el puerto 8080. Para uso en producción, solo necesitas enrutar el tráfico a través de Nginx Proxy Manager, Traefik o Caddy con un certificado SSL.

Para clústeres, la documentación incluye charts de Helm listos para usar, así que el despliegue en Kubernetes tampoco será un problema.

A quién le resultará útil

PdfDing probablemente no reemplazará sistemas pesados de gestión documental como Paperless-ngx si necesitas reconocimiento automático de texto (OCR), canales complejos de procesamiento de correo entrante y análisis de códigos de barras.

Pero si buscas un lector y catálogo limpio y rápido para libros, documentación, manuales y contratos con la capacidad de anotar rápidamente una firma desde una tablet, este proyecto es perfecto. Puedes probar la interfaz antes de instalar en la demo oficial demo.

Proyectos relacionados