Utilidad de escritorio para separar, sellar y firmar documentos PDF con certificado digital, firma manuscrita o imagen de firma.
Pensado para cualquier persona que necesite firmar documentos PDF de forma masiva: certificados de asistencia, actas, diplomas, expedientes, etc.
- Cuatro modos de trabajo:
- Firmar un PDF — sella y firma un PDF multipágina tal cual, sin cortarlo
- Separar y firmar — divide un PDF en documentos individuales (configurable: cada 1, 2, 3… páginas), sella y firma cada uno
- Firmar carpeta — sella y firma todos los PDFs de una carpeta de una vez
- Solo separar — divide un PDF en documentos individuales sin sellar ni firmar (útil para preparar documentos antes de firmarlos)
- Tres tipos de firma:
- Digital (certificado) — firma criptográfica con certificado FNMT u otro PKCS#12, con sello visible configurable
- Manuscrita — dibuja tu firma a mano con el ratón directamente en la aplicación; trazo suavizado con interpolación Catmull-Rom y antialiasing por supersampling
- Imagen (PNG) — coloca una imagen de tu firma (PNG, JPG, BMP) en la posición que elijas del documento
- Sello visible configurable (solo firma digital): nombre del firmante, cargo, organización y fecha/hora
- Tres posiciones del sello:
- Inferior — franja en la parte baja de cada página
- Lateral izquierdo — franja vertical en el margen izquierdo
- Zona personalizada — selección visual sobre la página, estilo Adobe, con texto en mayúsculas y tamaño de fuente auto-ajustable al área seleccionada
- Nombre automático de archivos desde el PDF:
- Seleccionar zona: dibuja un rectángulo sobre la página y se extrae el texto de esa posición en cada página (útil para expedientes, DNIs, referencias, etc.)
- OCR automático: si el PDF es escaneado (imágenes), al seleccionar una zona se activa automáticamente el reconocimiento óptico de caracteres mediante la API OCR de Windows — sin instalar nada adicional (requiere Windows 10 o superior)
- Buscar en frase: escribe una frase del tipo "acreditamos que {NOMBRE} ha asistido al curso" y el programa extrae automáticamente lo que haya en
{NOMBRE}de cada página, sin necesidad de seleccionar zona - Ambos métodos son combinables y muestran una vista previa en tiempo real del nombre resultante
- Plantilla de nombre de archivo configurable (ej:
Certificado_{nombre}.pdf)
- Firma digital con certificado FNMT directamente desde el almacén de Windows (como hace Chrome), sin necesidad de exportar la clave privada
- También soporta archivos .pfx / .p12 exportados
- Interfaz gráfica sencilla (no requiere conocimientos técnicos)
- Empaquetable como un único
.exeportable
Si solo quieres usar el programa sin instalar nada:
- Ve a la sección Releases de este repositorio
- Descarga
FirmaPDF.exe - Ejecuta con doble clic
No necesitas instalar Python ni ninguna dependencia. El
.exees autocontenido.
Si no tienes Python instalado:
- Ve a python.org/downloads
- Descarga la última versión de Python 3 (3.9 o superior)
- Al instalar, marca la casilla "Add Python to PATH" (muy importante)
- Pulsa "Install Now"
Para comprobar que se instaló correctamente, abre una terminal (tecla Windows, escribe cmd, Enter) y ejecuta:
python --version
Debería mostrar algo como Python 3.12.x.
Descarga o clona este repositorio:
git clone https://github.com/TU_USUARIO/firmapdf.git
cd firmapdf
O descarga el ZIP desde el botón verde "Code" > "Download ZIP" y descomprímelo.
Abre una terminal en la carpeta del proyecto y ejecuta:
pip install -r requirements.txt
python FirmaPDF.py
Si quieres generar tu propio .exe portable:
pip install pyinstaller
pyinstaller --onefile --windowed --noupx --name "FirmaPDF" FirmaPDF.py
El ejecutable se generará en la carpeta dist/FirmaPDF.exe.
- Elige el modo de trabajo:
- Firmar un PDF: selecciona un PDF y se firmará sin cortarlo
- Separar y firmar: selecciona un PDF multipágina y elige cuántas páginas tendrá cada documento resultante
- Firmar carpeta: selecciona una carpeta y se firmarán todos los PDFs que contenga
- Solo separar: divide un PDF en documentos sin sellar ni firmar
- (Modos separar, carpeta y solo separar, opcional) Marca "Nombre de archivo desde el PDF":
- Pulsa "Seleccionar zona…" para dibujar un área de donde extraer texto, o
- Escribe una frase en "Buscar en frase" usando
{NOMBRE}como comodín (ej:acreditamos que {NOMBRE} ha asistido) - Personaliza el nombre de archivo (ej:
Certificado_{nombre}) - La vista previa te muestra al instante cómo quedará el nombre
- Elige el tipo de firma:
- Digital (certificado): selecciona tu certificado del almacén de Windows o un archivo .pfx/.p12, rellena los datos del sello y elige su posición
- Manuscrita: pulsa "Dibujar firma…", firma con el ratón en el lienzo que aparece, y selecciona la zona del documento donde colocarla
- Imagen (PNG): selecciona una imagen con tu firma y elige la zona del documento donde colocarla
- Selecciona la carpeta de salida
- Pulsa "Firmar Documentos" o "Separar Documentos" según el modo
| Librería | Función |
|---|---|
| pypdf | Separar y manipular páginas PDF |
| reportlab | Generar el sello visual y overlay de firma como imagen |
| pyhanko | Firma digital PAdES con certificado PKCS#12 |
| PyMuPDF | Previsualización del PDF y extracción de texto por zona |
| Pillow | Procesamiento de imágenes: firma manuscrita, previews, antialiasing |
| winocr | OCR de imágenes mediante Windows.Media.Ocr (requiere Windows 10+) |
- Firma manuscrita: dibuja tu firma con el ratón directamente en la aplicación, con trazo suavizado (Catmull-Rom + supersampling LANCZOS) y posicionamiento libre sobre el documento
- Firma con imagen: coloca un PNG/JPG con tu firma en cualquier zona del documento
- Interfaz reorganizada con selector de tipo de firma (Digital / Manuscrita / Imagen) — los datos del sello solo aparecen en firma digital
- Vista previa de la firma manuscrita/imagen en el panel principal
- OCR automático: detección de texto en PDFs escaneados mediante la API OCR de Windows (sin dependencias adicionales, requiere Windows 10+)
- Detección automática del idioma del sistema para el OCR
MIT
