Una suite completa de herramientas PDF de escritorio, construida con tecnologías modernas para ofrecer una experiencia de usuario fluida y profesional.
PDF Toolkit es una aplicación de escritorio multiplataforma diseñada para simplificar el trabajo diario con documentos PDF. Combina la potencia de Rust para el backend y React para una interfaz moderna e intuitiva, todo empaquetado en una aplicación ligera gracias a Tauri.
Ideal para profesionales, estudiantes y empresas que necesitan:
- Convertir documentos entre múltiples formatos
- Editar PDFs agregando firmas, sellos y anotaciones
- Crear firmas de correo electrónico profesionales
- Manipular páginas PDF (fusionar, dividir, rotar, reordenar)
- Aplicar marcas de agua personalizadas
- Proteger documentos con encriptación y firmas digitales
Centro de control con acceso rápido a todas las herramientas:
- Acciones rápidas: Anotaciones, Redactar, Formularios, Editor PDF, Extraer Imágenes, Convertidor
- Firmas y Sellos: Acceso directo a gestión de firmas digitales y sellos
Herramientas completas de edición con pdf-lib y PDF.js:
- Fusión de PDFs: Combina múltiples archivos en uno solo
- Reordenamiento visual: Arrastra y suelta páginas para reorganizar
- Eliminar páginas: Quita páginas no deseadas
- Rotar páginas: Rota páginas individuales o todas (90°, 180°, 270°)
- Vista previa: Renderizado fiel con PDF.js en tiempo real
- Exportación: Guarda el documento editado preservando calidad
Gestión completa de firmas manuscritas y digitales:
- Firmas manuscritas: Dibuja tu firma con el mouse o panel táctil
- Subir firma: Importa imágenes PNG/JPG de firmas predefinidas
- Biblioteca de firmas: Guarda múltiples firmas para uso rápido
- Posicionar en PDF: Arrastra, redimensiona y coloca la firma en cualquier página
Biblioteca de sellos prediseñados y personalizados:
- Sellos predefinidos: Aprobado, Revisado, Urgente, Borrador, Confirmado, Personalizado
- Subir sello: Importa imágenes de sellos propios
- Posicionar en PDF: Arrastra, redimensiona y coloca el sello en cualquier página
- Gestión de sellos: Guarda y organiza tu biblioteca de sellos
Workflow dedicado para posicionar firmas y sellos:
- Cargar PDF: Arrastra o selecciona el documento a firmar
- Navegación de páginas: Ve todas las páginas del documento
- Arrastrar y soltar: Posiciona la firma/sello con drag & drop
- Redimensionar: Ajusta el tamaño con controles visuales
- Colores de tinta: Cambia el color de la firma (negro, azul, rojo)
- Descargar PDF: Exporta el documento con la firma aplicada
Diseña firmas de email profesionales con personalización total:
Plantillas disponibles:
| # | Plantilla | Estilo |
|---|---|---|
| 1 | Minimalista Limpio | Tipografía elegante con espaciado generoso |
| 2 | Minimalista Oscuro | Fondo oscuro con texto claro y acentos |
| 3 | Jerárquico Superior | Logo centrado con jerarquía visual clara |
| 4 | Jerárquico Lateral | Barra lateral con bloques de información |
| 5 | Visual Centrado | Logo grande con diseño simétrico |
| 6 | Visual Lateral | Logo con tarjetas de información internas |
| 7 | Sectorial Bloques | Secciones diferenciadas por color |
| 8 | Sectorial Grid | Grid de 2x2 para campos organizados |
| 9 | Corporativo Estricto | Diseño formal compatible con Outlook |
| 10 | Corporativo Moderno | Gradientes y badges coloridos |
| 11 | Elegante Serif | Tipografía serif con ornamento decorativo |
| 12 | Tech Startup | Colores vibrantes para empresas tecnológicas |
| 13 | Tarjeta Sombra | Contenido elevado con sombras suaves |
| 14 | Legal Formal | Minimalista extremo para sector legal |
| 15 | Dark Gradient | Fondo oscuro con degradado moderno |
| 16-20 | Personalizadas | Espacios para diseños custom |
Campos configurables:
- Información personal: Nombre, Cargo, Empresa/Organización
- Contacto: Email, Teléfono, Web, Dirección, Skype
- Redes sociales: LinkedIn, Twitter, Instagram, Facebook
Personalización avanzada:
- Estilo de iconos: Emoji, Texto o Ninguno
- Campos visibles: Control granular (8 campos) con selección múltiple
- Tamaños: Foto y logo ajustables con sliders
- Colores: Fondo, texto, links, color de acento
- Bordes: Estilo y esquinas redondeadas ajustables
- Vista previa: Desktop y Móvil en tiempo real
- Exportación: PNG, JPG o HTML listo para usar
- Gestión: Guardar/Cargar múltiples firmas
Aplica marcas de agua profesionales:
- Texto personalizado: Añade texto con estilo configurable
- Imagen/Logo: Usa una imagen como marca de agua
- Posición: 9 posiciones predefinidas + posición libre
- Opacidad: Control deslizable de transparencia
- Tamaño: Ajuste fino del tamaño de la marca
- Ángulo: Rotación libre (diagonal, horizontal, etc.)
- Aplicar a: Todas las páginas o selección específica
Añade comentarios y marcas a tus documentos:
- Resaltado: Resalta texto con colores (amarillo, verde, azul, rosa)
- Subrayado: Subraya palabras o frases importantes
- Notas: Agrega notas adhesivas con comentarios
- Navegación: Salta entre anotaciones fácilmente
- Exportar: Guarda el PDF con anotaciones integradas
Oculta permanentemente información sensible:
- Selección de área: Dibuja rectángulos sobre el contenido a ocultar
- Razón de redacción: Añade descripción del área removida
- Aplicación permanente: El texto subyacente se elimina completamente
- Vista previa: Previsualiza antes de aplicar
Gestiona formularios interactivos:
- Rellenar formularios: Completa campos de formulario existentes
- Crear campos: Añade nuevos campos de entrada
- Tipos de campo: Texto, checkboxes, radio buttons, listas desplegables
- Validación: Verifica datos antes de guardar
Protege documentos con certificados digitales:
- Cargar certificado: Importa archivos P12/PFX con clave
- Información del certificado: Muestra detalles del certificado
- Firmar PDF: Aplica firma digital con marca de tiempo
- Niveles de firma: Básico, Avanzado, Calificado
Compara dos documentos visualmente:
- Vista lateral: Compara páginas una al lado de otra
- Vista superpuesta: Overlay de diferencias
- Informe de diferencias: Resumen por página
- Similitud: Porcentaje de coincidencia entre documentos
Extrae texto de imágenes escaneadas:
- Procesamiento: Convierte imágenes en texto editable
- Confianza: Muestra nivel de precisión por página
- Exportar: Guarda texto extraído en archivo
Recupera todas las imágenes de un PDF:
- Exportar imágenes: Guarda cada imagen como archivo separado
- Calidad original: Mantiene la resolución de las imágenes
- Explorador de imágenes: Vista previa de todas las imágenes
Convierte documentos entre múltiples formatos:
- PDF → DOCX: Convierte PDF a documento Word editable
- PDF → XLSX: Extrae tablas de PDF a Excel manteniendo estructura
- PDF → HTML: Convierte contenido PDF a páginas web
- PDF → TXT: Extrae texto plano preservando saltos de línea
- DOCX → PDF: Genera PDF desde documentos Word
- Interfaz drag & drop: Carga rápida de archivos
- Procesamiento por lotes: Convierte múltiples archivos
Opera sobre múltiples PDFs a la vez:
- Comprimir: Reduce el tamaño de múltiples archivos
- Aplicar marca de agua: Marca de agua en varios PDFs
- Encryption: Encripta múltiples documentos
- Renombrar: Nombra archivos según patrones
Edita información del documento:
- Título, Autor, Asunto: Metadatos básicos
- Palabras clave: Para búsqueda
- Productor/Creador: Información de software
- Fechas: Fecha de creación y modificación
Prepara documentos para archivado:
- Validar: Verifica cumplimiento de estándar PDF/A
- Convertir: Transforma a formato PDF/A-1b o PDF/A-2b
- Informe: Muestra estado de cumplimiento
Conjunto de utilidades esenciales:
- Fusionar PDFs: Combina múltiples archivos
- Dividir PDF: Extrae páginas específicas
- Rotar páginas: Rotación visual
- Comprimir: Optimiza tamaño de archivo
- Extraer páginas: Guarda páginas seleccionadas
(Próximamente)
- Node.js 18.x o superior
- npm 9.x o superior (o pnpm/yarn)
- Node.js 18.x o superior
- Rust 1.70 o superior con Rustup
- macOS: Xcode Command Line Tools (
xcode-select --install) - Windows: Visual Studio Build Tools 2022+ con C++ desktop development
- Linux:
libwebkit2gtk-4.1-dev,libssl-dev,build-essential
node --version
npm --version
rustc --version
cargo --versiongit clone <URL_DEL_REPOSITORIO>
cd PDF-Toolkitnpm installEditar src-tauri/tauri.conf.json:
{
"productName": "PDF Toolkit",
"identifier": "com.tu-dominio.pdf-toolkit",
"bundle": {
"active": true,
"targets": "all",
"macOS": {
"frameworks": [],
"identifier": "com.tu-dominio.pdf-toolkit"
}
}
}Nota: El
identifierdebe ser un dominio inverso único.
npm run devInicia el servidor de Vite en http://localhost:5173 con recarga en caliente.
npm run tauri devAbre la aplicación de escritorio Tauri con recarga en caliente y herramientas de desarrollo.
npm run buildOutput en dist/. Desplegable en Vercel, Netlify, GitHub Pages, etc.
npm run tauri buildGenera ejecutables en src-tauri/target/release/bundle/:
- macOS:
.appy.dmg - Windows:
.exe(NSIS installer) - Linux:
.deb,.AppImage
cd /Users/adrian/Desktop/5-5-2026/PDF-Toolkit
npx tauri build --bundles dmg
# El ejecutable estará en:
# src-tauri/target/release/bundle/dmg/PDF Toolkit_0.1.0_aarch64.dmgPDF-Toolkit/
├── src/
│ ├── components/ # Componentes reutilizables
│ │ ├── FileDropzone.tsx # Zona de arrastrar y soltar
│ │ ├── PdfGrid.tsx # Grid de páginas PDF
│ │ ├── Toolbar.tsx # Barra de herramientas
│ │ └── ErrorBoundary.tsx # Manejo de errores
│ ├── modules/ # Módulos de la aplicación
│ │ ├── dashboard/ # Dashboard principal
│ │ │ └── DashboardPage.tsx
│ │ ├── converter/ # Conversor de documentos
│ │ │ └── ConverterPage.tsx
│ │ ├── html-to-image/ # Creador de firmas de correo
│ │ │ ├── HtmlToImagePage.tsx
│ │ │ └── signatureTemplates.tsx (20 plantillas)
│ │ ├── pdf-editor/ # Editor de PDF (fusión/reordenamiento)
│ │ │ ├── PdfEditorPage.tsx
│ │ │ ├── SignatureModal.tsx
│ │ │ └── SearchBar.tsx
│ │ ├── asset-positioner/ # Posicionador de firmas/sellos
│ │ │ └── AssetPositionerPage.tsx
│ │ ├── pdf-tools/ # Herramientas PDF
│ │ │ └── PdfToolsPage.tsx
│ │ ├── signatures/ # Gestión de firmas
│ │ │ └── SignaturesPage.tsx
│ │ ├── stamps/ # Gestión de sellos
│ │ │ └── StampsPage.tsx
│ │ ├── watermark/ # Marca de agua
│ │ │ └── WatermarkPage.tsx
│ │ ├── annotations/ # Anotaciones PDF
│ │ │ └── AnnotationsPage.tsx
│ │ ├── redact/ # Redactar información sensible
│ │ │ └── RedactPage.tsx
│ │ ├── forms/ # Formularios PDF
│ │ │ └── PdfFormsPage.tsx
│ │ ├── digital-signature/ # Firma digital con certificados
│ │ │ └── DigitalSignaturePage.tsx
│ │ ├── compare/ # Comparar PDFs
│ │ │ └── PdfComparePage.tsx
│ │ ├── ocr/ # OCR - Reconocimiento de texto
│ │ │ └── OcrPage.tsx
│ │ ├── image-extractor/ # Extraer imágenes
│ │ │ └── ImageExtractorPage.tsx
│ │ ├── batch/ # Procesamiento por lotes
│ │ │ └── BatchProcessingPage.tsx
│ │ ├── metadata/ # Editor de metadatos
│ │ │ └── MetadataEditorPage.tsx
│ │ ├── compliance/ # Cumplimiento PDF/A
│ │ │ └── PdfACompliancePage.tsx
│ │ └── templates/ # Generador de documentos
│ │ └── TemplatesPage.tsx
│ ├── stores/
│ │ └── appStore.ts # Estado global (Zustand)
│ ├── types/
│ │ └── index.ts # Tipos compartidos TypeScript
│ ├── utils/
│ │ └── pdfjs.ts # Utilidades PDF.js
│ ├── App.tsx # Componente principal
│ └── main.tsx # Punto de entrada
├── src-tauri/ # Código Rust (Tauri)
│ ├── src/
│ │ ├── lib.rs # Comandos Tauri
│ │ ├── main.rs # Entry point
│ │ └── commands/ # Comandos organizados
│ │ ├── pdf_tools.rs # Operaciones PDF en Rust
│ │ └── converter.rs # Conversor
│ ├── Cargo.toml # Dependencias Rust
│ ├── tauri.conf.json # Configuración Tauri
│ └── icons/ # Iconos de la aplicación
├── public/ # Archivos estáticos
├── index.html
├── package.json
├── tsconfig.json
├── vite.config.ts
└── README.md
- Crear carpeta en
src/modules/mi-modulo/ - Crear
MiModuloPage.tsxcon el componente principal - Agregar la ruta en
src/App.tsx - Agregar el tipo en
src/types/index.ts
| Tecnología | Versión | Propósito |
|---|---|---|
| React | 19 | Biblioteca de UI con hooks y componentes funcionales |
| TypeScript | 6 | Tipado estático para mayor seguridad y autocompletado |
| Vite | 5 | Bundler ultrarrápido con HMR (Hot Module Replacement) |
| Ant Design | 6 | Biblioteca de componentes UI profesional |
| Zustand | 5 | Gestión de estado global minimalista y performante |
| React Dropzone | 15 | Zona de arrastrar y soltar archivos |
| html-to-image | Latest | Exportar componentes React como imágenes (PNG/JPG) |
| pdf-lib | Latest | Manipulación avanzada de PDFs (firmas, sellos, edición) |
| pdfjs-dist | 4 (Legacy) | Renderizado de PDFs en canvas (vista previa) |
| mammoth | Latest | Conversión DOCX a HTML manteniendo formato |
| xlsx | Latest | Lectura y escritura de archivos Excel |
| jspdf | Latest | Generación de PDFs desde cero |
| DOMPurify | Latest | Sanitización de HTML para prevenir XSS |
| @dnd-kit | Latest | Drag and drop accesible y personalizable |
| Tecnología | Versión | Propósito |
|---|---|---|
| Tauri | 2 | Framework de escritorio ligero (Rust + WebView) |
| Rust | 1.70+ | Lenguaje seguro y de alto rendimiento para backend |
| lopdf | Latest | Biblioteca Rust para manipulación de PDFs |
| LibreOffice | 7+ | Motor de conversión de documentos (vía Tauri) |
- ESLint: Linting de código JavaScript/TypeScript
- Prettier: Formateo de código (opcional)
- TypeScript Compiler: Verificación de tipos (
tsc --noEmit)
- Sanitización XSS: Uso de
DOMPurifyen renderizado de HTML - Error Boundaries: Manejo graceful de errores en React
- Context Isolation: Tauri aísla el backend Rust del frontend
- Validación de entrada: Verificación de tipos con TypeScript
| Plataforma | Versión mínima | Arquitectura |
|---|---|---|
| macOS | 10.14+ (Mojave) | x64, ARM64 (Apple Silicon) |
| Windows | 7+ | x64 |
| Linux | Ubuntu 18.04+, Debian 10+ | x64 |
Distribuido bajo la MIT License. Ver archivo LICENSE para más detalles.
- Haz un fork del repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcion) - Haz commit de tus cambios (
git commit -m 'Añadir nueva función') - Push a la rama (
git push origin feature/nueva-funcion) - Abre un Pull Request
- Seguir las reglas de ESLint y TypeScript
- Usar componentes funcionales de React con hooks
- Mantener español para UI y comentarios
- Documentar funciones complejas
Si encuentras algún problema o tienes sugerencias:
- Abre un issue en el repositorio
- Describe el paso a paso para reproducir el error
- Adjunta capturas de pantalla si es posible
- Dashboard con acceso rápido
- Conversor de documentos
- Editor de PDF con firmas y sellos
- Posicionador de firmas/sellos (asset-positioner)
- Creador de firmas de correo (20 plantillas)
- Herramientas PDF (fusionar, dividir, rotar)
- Marca de agua personalizable
- Gestión de firmas y sellos
- Anotaciones PDF (resaltado, subrayado, notas)
- Redactar información sensible
- Formularios PDF interactivos
- Firma digital con certificados
- Comparación de PDFs
- OCR (Reconocimiento de caracteres)
- Extraer imágenes de PDF
- Procesamiento por lotes
- Editor de metadatos
- Cumplimiento PDF/A
- Mejoras adicionales de UI/UX
Desarrollado con ❤️ usando Rust y React