Este proyecto permite seleccionar uno o varios archivos PDF protegidos con contraseña y generar copias desbloqueadas mediante una interfaz gráfica sencilla desarrollada con tkinter.
- Python 3.8 o superior.
- Instalar dependencias necesarias:
pip install PyPDF2
tkinterya viene incluido con Python por defecto.
Desde la raíz del proyecto, ejecuta:
python app.pyEsto abrirá una ventana para:
- Seleccionar uno o varios archivos PDF.
- Ingresar la contraseña común.
- Guardar los archivos desbloqueados en la carpeta
pdfs_unlocked.
unlock_pdfs/
├── main.py
├── services/
│ └── pdf_service.py
├── utils/
│ └── file_utils.py
pip install pyinstallerpyinstaller --onefile --noconsole main.pyEsto generará el archivo:
dist/main.exe
Puedes renombrarlo si deseas, por ejemplo: DesbloquearPDFs.exe.
Asegúrate de tener un archivo .ico (por ejemplo: icono.ico) y ejecuta:
pyinstaller --onefile --noconsole --icon=icono.ico main.pyLos archivos desbloqueados se guardan automáticamente en:
pdfs_unlocked/
- El script asume que todos los archivos seleccionados tienen la misma contraseña.
- Si deseas desbloquear PDFs con contraseñas distintas, puedes modificar la lógica para pedir la contraseña archivo por archivo.
Desarrollado por marjuz | Mario Juez
Este proyecto utiliza pip-tools para gestionar dependencias. Sigue estos pasos para configurar el entorno e instalar los paquetes necesarios.
- Python 3.8 o superior: Descargar Python
- pip: Gestor de paquetes de Python (viene incluido con Python 3.4+).
git clone https://github.com/tu-usuario/tu-repositorio.git
cd tu-repositorioEste proyecto incluye un script llamado setup_env.sh que automatiza la instalación de dependencias:
./setup_env.shEste script:
- Crea un entorno virtual en
.venv. - Instala
pip-toolssi no está presente. - Genera
requirements.txtdesderequirements.in. - Instala todas las dependencias requeridas.
- Sincroniza el entorno virtual con las dependencias actualizadas.
Dependiendo de tu sistema operativo:
- Linux/MacOS:
source .venv/bin/activate- Windows (Git Bash o WSL):
source .venv/Scripts/activate- Windows (CMD):
.\.venv\Scripts\activateSi agregas o modificas dependencias en requirements.in, simplemente ejecuta:
./setup_env.shEsto actualizará requirements.txt y sincronizará el entorno.
⚠️ pip-synceliminará los paquetes que ya no estén listados enrequirements.txt.
tu-repositorio/
├── .venv/ # Entorno virtual (ignorado por Git)
├── requirements.in # Lista editable de dependencias
├── requirements.txt # Archivo generado automáticamente
├── setup_env.sh # Script de configuración de entorno
├── main.py
├── services/
│ └── pdf_service.py
├── utils/
│ └── file_utils.py
└── README.md # Este archivo