DEV Community

Rodrigo Garcia Trejo
Rodrigo Garcia Trejo

Posted on

Poner contrasena a PDF | qpdf

Hola a todos

El dia de hoy le enseñare como pueden poner contrasena a sus archivos de pdf de una manera muy sencilla.

Para ello necesitaremos instalar qpdf

¿Que es QPDF?

qpdf es una herramienta de código abierto utilizada para trabajar con archivos PDF (Portable Document Format). Proporciona una serie de funcionalidades para manipular y modificar archivos PDF, incluyendo la capacidad de dividir, fusionar, cifrar, descifrar, comprimir y reparar archivos PDF. También puede utilizarse para convertir documentos en otros formatos a PDF y viceversa.

Algunas de las tareas comunes que se pueden realizar con qpdf incluyen:

Dividir un archivo PDF en varios archivos más pequeños.
Fusionar varios archivos PDF en uno solo.
Cifrar un archivo PDF con una contraseña para proteger su contenido.
Descifrar un archivo PDF protegido por contraseña.
Comprimir imágenes dentro de un archivo PDF para reducir su tamaño.
Reparar archivos PDF dañados o corruptos.
Convertir documentos en otros formatos (como archivos de texto o imágenes) a PDF.
Realizar manipulaciones avanzadas en la estructura interna de un archivo PDF.
qpdf es una herramienta de línea de comandos y se utiliza principalmente en entornos de desarrollo y administración de sistemas. Es especialmente útil cuando se necesita automatizar tareas relacionadas con archivos PDF o realizar manipulaciones específicas en estos archivos.

Instalación

sudo apt install qpdf
Enter fullscreen mode Exit fullscreen mode

Fin.

jajajaj

Encriptar

Para poder utilizar qpdf para poner una contrasena se realiza de la siguiente manera.

qpdf --encrypt "TUCONTRASENA" "TUCONTRASENA" 256 -- "NOMBRE_DE_TU_ARCHIVO_PDF" "NOMBRE_DE_TU_ARCHIVO_PDF_ENCRIPTADO";
Enter fullscreen mode Exit fullscreen mode

Basicamente es todo lo que necesitas para encriptar. Como pueden ver es demasiado facil utilizar esta herramienta y bastante intuitiva

A continuación les muestro un ejemplo de como utilizar qpdf para encriptar todos los archivos de una carpeta utilizando bash.

#/bin/bash

# Directorio que contiene los archivos PDF a encriptar
directorio_pdf="./"
# Contraseña para encriptar los archivos PDF
contrasena="AQUIVATUCONTRASENA"

# Titulo
echo "Encriptador de PDFS"

# Itera sobre todos los archivos PDF en el directorio
for archivo_pdf in "$directorio_pdf"/*.pdf; do
    if [ -f "$archivo_pdf" ]; then

    # NOMBRE DEL ARCHIVO A ENCRIPTAR
    nombre_archivo=$(basename "$archivo_pdf")

    # NOMBRE DEL ARCHIVO ENCRIPTADO
    archivo_temporal="${nombre_archivo}_encriptado.pdf"

    echo "----------------"
    echo "Encriptando el archivo: $archivo_pdf"


    if qpdf --encrypt "$contrasena" "$contrasena" 256 -- "$archivo_pdf" "$directorio_pdf/${archivo_temporal}"; then
        echo "El comando se ejecuto correctamente"

        rm "$directorio_pdf/${nombre_archivo}"
        cp "$directorio_pdf/${archivo_temporal}" "$directorio_pdf/${nombre_archivo}"
        rm "$directorio_pdf/${archivo_temporal}"

    else
        echo "Ocurrio un error al ejecutar el comando"
    fi
    #echo "Encriptado: $archivo_pdf -> ${nombre_archivo}_encriptado.pdf"
    fi
done

echo "Proceso completado."


Enter fullscreen mode Exit fullscreen mode

Top comments (0)