DoctVault: Plataforma Web de Procesamiento de PDFs en el Navegador
Procesamiento de PDFs directamente en el navegador: firmar, unir, dividir y proteger documentos sin subir archivos a servidores. Privacidad total en cliente.

Galería del Proyecto









Tecnologías Utilizadas
Sobre el Proyecto
DoctVault : Plataforma de Procesamiento de PDFs 100% en Cliente
DoctVault es una aplicación web en producción diseñada para realizar operaciones avanzadas sobre documentos PDF directamente en el navegador del usuario, sin subir archivos a servidores externos.
La plataforma implementa un motor completo de procesamiento PDF en cliente, basado en una arquitectura modular con Web Workers, estado centralizado y validaciones conscientes del dispositivo.
Funcionalidades implementadas en producción
- Firma de PDFs mediante canvas táctil (desktop y móvil), con suavizado de trazo y posicionamiento visual.
- Creación de documentos A4 con DNI/documentos a doble cara en una sola hoja.
- Unión y división de múltiples PDFs con batching según dispositivo.
- Reordenación visual de páginas mediante drag & drop.
- Eliminación selectiva de páginas.
- Protección de PDFs con contraseña (AES-128/256).
- Eliminación de contraseñas y restricciones de impresión/copia.
- Conversión de imágenes a PDF multipágina.
- Extracción de páginas PDF a imágenes.
Arquitectura técnica
- Procesamiento principal encapsulado en un módulo central (
pdfProcessor.js) con más de 10 operaciones PDF reales. - Uso de Web Workers para operaciones pesadas (merge, split, reorder, delete) evitando bloqueo de la UI.
- Gestión de estado con Zustand para archivos, configuración y progreso.
- Sistema de batching dinámico (móvil/desktop) y control de rendimiento.
- Renderizado de PDFs con pdfjs-dist.
- Firma táctil con canvas y generación de PNG recortado para inserción precisa.
- Internacionalización (ES/EN) y dark mode.
- Arquitectura SPA con rutas individuales por herramienta.
Ejemplo real de procesamiento (Web Worker + progreso)
// pdfProcessor.worker.js
postMessage({ type: 'PROGRESS', value: progress })
const mergedPdf = await mergePDFs(files, {
onProgress: (p) => sendProgress(p)
})
postMessage({ type: 'SUCCESS', blob: mergedPdf })
Información Técnica
doctvault-plataforma-web-de-procesamiento-de-pdfs-en-el-navegador
QphC98fR3N8gG5nukKue
Documentación Específica del Proyecto
DoctVault está diseñado para ejecutar las operaciones de procesamiento de documentos directamente en el navegador del usuario. Los archivos PDF no se envían a servidores externos para ser transformados, firmados o modificados.
Este enfoque elimina la dependencia de backends para el tratamiento de documentos y reduce la exposición de información sensible, ya que el archivo permanece en el entorno del usuario durante todo el flujo de trabajo.
La arquitectura está orientada a cliente, utilizando procesamiento en memoria, Web Workers y APIs estándar del navegador para ejecutar las operaciones sin necesidad de transferir el documento a servicios de terceros.
La plataforma implementa un flujo completo de firma y manipulación visual de documentos PDF, combinando renderizado en canvas, posicionamiento interactivo y conversión a coordenadas reales del documento.
El usuario puede dibujar una firma directamente sobre el PDF, posicionarla visualmente y redimensionarla antes de que sea insertada en el documento final.
El procesamiento final se ejecuta mediante el motor PDF y Web Workers para mantener la interfaz fluida.
Ejemplo real de comunicación con Web Worker durante una operación PDF:
// pdfProcessor.worker.js
postMessage({ type: 'PROGRESS', value: progress })
const mergedPdf = await mergePDFs(files, {
onProgress: (p) => sendProgress(p)
})
postMessage({ type: 'SUCCESS', blob: mergedPdf })
Este enfoque permite mostrar progreso en tiempo real al usuario mientras se realizan operaciones como unión, división o modificación de páginas, sin bloquear la interfaz ni depender de servicios externos.
DoctVault está diseñado para mantener una experiencia de uso fluida incluso durante operaciones intensivas como la unión, división o modificación de documentos PDF.
Las tareas pesadas se ejecutan en segundo plano mediante Web Workers, lo que evita bloqueos de la interfaz y permite mostrar progreso en tiempo real al usuario. El sistema adapta el batching y los límites de procesamiento según el dispositivo para mantener tiempos de respuesta estables tanto en desktop como en móvil.
Compartir este Conocimiento
Si este proyecto aporta valor o podría inspirar a otros, considera difundirlo en tu red profesional.
