Encrypt and Decrypt PDF
Contents
[
Hide
]
Encriptar Archivo PDF usando Diferentes Tipos de Encriptación y Algoritmos
Una forma efectiva de proteger archivos PDF es mediante encriptación. En este artículo, exploraremos cómo encriptar documentos PDF usando Python con la ayuda de la biblioteca Aspose.PDF.
La encriptación de PDF implica cifrar el contenido de un documento PDF usando algoritmos criptográficos para prevenir el acceso no autorizado. Los archivos PDF encriptados requieren una contraseña para abrirse y pueden tener restricciones en acciones como imprimir, copiar y editar.
- La contraseña de usuario, si se establece, es la que necesitas proporcionar para abrir un PDF. Acrobat/Reader solicitará al usuario que ingrese la contraseña de usuario. Si no es correcta, el documento no se abrirá.
- La contraseña de propietario, si se establece, controla permisos, como imprimir, editar, extraer, comentar, etc. Acrobat/Reader deshabilitará estas cosas basándose en la configuración de permisos. Acrobat requerirá esta contraseña si deseas establecer/cambiar permisos.
El siguiente fragmento de código te muestra cómo encriptar archivos PDF.
- Crear la ruta de archivo de entrada y salida
- Cargar el documento PDF usando AsposePDFPythonWrappers
- Definir los permisos para el documento encriptado
- Definir el algoritmo de encriptación que se utilizará
- Encriptar el documento con las contraseñas de usuario y propietario, permisos y algoritmo de encriptación especificados usando el método ‘document.encrypt’
- Guardar el documento encriptado en el archivo de salida especificado con el método ‘document.save’.
import AsposePDFPythonWrappers as apw
import AsposePDFPython as apCore
import os
import os.path
# Establecer la ruta del directorio para los archivos de muestra
dataDir = os.path.join(os.getcwd(), "samples")
# Establecer la ruta del archivo de entrada
input_file = os.path.join(dataDir, "sample.pdf")
# Establecer la ruta del archivo de salida
output_file = os.path.join(dataDir, "results", "sample-enc.pdf")
# Cargar el documento PDF usando AsposePDFPythonWrappers
document = apw.Document(inputFile)
# Definir los permisos para el documento encriptado
permission = apCore.Permissions(apCore.Permissions.ExtractContent | apCore.ModifyContent)
# Definir el algoritmo de encriptación que se utilizará
cryptoAlgorithm = apCore.CryptoAlgorithm.RC4x128
# Encriptar el documento con las contraseñas de usuario y propietario, permisos y algoritmo de encriptación especificados
document.encrypt("user", "owner", permission, cryptoAlgorithm)
# Guardar el documento encriptado en el archivo de salida especificado
document.save(output_file)
Desencriptar archivo PDF usando contraseña de propietario
- Crear la ruta del archivo de entrada y salida
- Crear una nueva instancia de la clase Document del módulo AsposePDFPythonWrappers
- Desencriptar el documento usando el método document_decrypt
- Guardar el documento desencriptado en la ruta del archivo de salida usando el método save() con la función document_save.
import AsposePDFPythonWrappers as apw
import AsposePDFPython as apCore
import os
import os.path
# Establecer la ruta del directorio para los archivos de muestra
dataDir = os.path.join(os.getcwd(), "samples")
# Establecer la ruta del archivo de entrada
input_file = os.path.join(dataDir, "sample_enc.pdf")
# Establecer la ruta del archivo de salida
output_file = os.path.join(dataDir, "results", "sample-dec.pdf")
# Crear una nueva instancia de la clase Document del módulo AsposePDFPythonWrappers
document = apw.Document(input_file, "owner")
# Desencriptar el documento usando el método decrypt()
document.decrypt()
# Guardar el documento desencriptado en la ruta del archivo de salida usando el método save()
document.save(output_file)