Proteger con Contraseña PDF en Python SDK
API para encriptar documentos PDF usando Cloud Python SDK.
Get StartedCómo encriptar PDF a través de Cloud Python SDK
Para encriptar PDF, usaremos Aspose.PDF Cloud Python SDK. Este Cloud SDK ayuda a los programadores de Python a desarrollar aplicaciones basadas en la nube para crear, anotar, editar y convertir PDFs usando el lenguaje de programación Python a través de Aspose.PDF REST API. Simplemente crea una cuenta en Aspose for Cloud y obtén la información de tu aplicación. Una vez que tengas el App SID & clave, estarás listo para usar el Aspose.PDF Cloud Python SDK. Si el paquete de Python está alojado en Github, puedes instalarlo directamente desde Github:
Instalación desde Github
pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git
Comando de la Consola del Administrador de Paquetes
pip install asposepdfcloud
Pasos para encriptar PDF a través de Python SDK
Los desarrolladores de Aspose.PDF Cloud pueden cargar y encriptar fácilmente un PDF en solo unas pocas líneas de código.
- Instala Python SDK.
- Ve al Panel de Control de Aspose Cloud.
- Encripta el archivo con AES-256 usando contraseñas codificadas en base64.
- Descarga el PDF seguro de vuelta a una carpeta local.
Encriptar PDF usando Python
import shutil
import json
import logging
from pathlib import Path
import base64
from asposepdfcloud import ApiClient, PdfApi, CryptoAlgorithm
# Configure logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
class Config:
"""Configuration parameters."""
CREDENTIALS_FILE = Path(r"C:\\Projects\\ASPOSE\\Pdf.Cloud\\Credentials\\credentials.json")
LOCAL_FOLDER = Path(r"C:\Samples")
PDF_DOCUMENT_NAME = "sample.pdf"
LOCAL_RESULT_DOCUMENT_NAME = "output_sample.pdf"
ENCRYPT_ALGORITHM = CryptoAlgorithm.AESX256
USER_PASSWORD = 'User-Password'
OWNER_PASSWORD = 'Owner-Password'
class pdfEncryption:
"""Class for managing PDF encryption using Aspose PDF Cloud API."""
def __init__(self, credentials_file: Path = Config.CREDENTIALS_FILE):
self.pdf_api = None
self._init_api(credentials_file)
def _init_api(self, credentials_file: Path):
"""Initialize the API client."""
try:
with credentials_file.open("r", encoding="utf-8") as file:
credentials = json.load(file)
api_key, app_id = credentials.get("key"), credentials.get("id")
if not api_key or not app_id:
raise ValueError("init_api(): Error: Missing API keys in the credentials file.")
self.pdf_api = PdfApi(ApiClient(api_key, app_id))
except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
logging.error(f"init_api(): Failed to load credentials: {e}")
def upload_document(self):
""" Upload a PDF document to the Aspose Cloud server. """
if self.pdf_api:
file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
try:
self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
logging.info(f"upload_file(): File '{Config.PDF_DOCUMENT_NAME}' uploaded successfully.")
except Exception as e:
logging.error(f"upload_document(): Failed to upload file: {e}")
def download_result(self):
""" Download the processed PDF document from the Aspose Cloud server. """
if self.pdf_api:
try:
temp_file = self.pdf_api.download_file(Config.PDF_DOCUMENT_NAME)
local_path = Config.LOCAL_FOLDER / Config.LOCAL_RESULT_DOCUMENT_NAME
shutil.move(temp_file, str(local_path))
logging.info(f"download_result(): File successfully downloaded: {local_path}")
except Exception as e:
logging.error(f"download_result(): Failed to download file: {e}")
def encrypt_document(self):
"""Encrypt the PDF document."""
if self.pdf_api:
try:
user_password_encoded = base64.b64encode(bytes(Config.USER_PASSWORD, encoding='utf-8'))
owner_password_encoded = base64.b64encode(bytes(Config.OWNER_PASSWORD, encoding='utf-8'))
response = self.pdf_api.post_encrypt_document_in_storage(Config.PDF_DOCUMENT_NAME, user_password_encoded, owner_password_encoded, Config.ENCRYPT_ALGORITHM)
if response.code == 200:
logging.info(f"encrypt_document(): Document #{Config.PDF_DOCUMENT_NAME} successfully encrypted.")
else:
logging.error(f"encrypt_document(): Failed to encrypt document #{Config.PDF_DOCUMENT_NAME}. Response code: {response.code}")
except Exception as e:
logging.error(f"aencrypt_document(): Error while encrypted document: {e}")
if __name__ == "__main__":
pdf_encrypt = pdfEncryption()
pdf_encrypt.upload_document()
pdf_encrypt.encrypt_document()
pdf_encrypt.download_result()
Encriptar PDF
Encriptar un documento PDF es una forma simple pero poderosa de proteger contenido sensible, asegurar la privacidad y mantener el control sobre cómo se utiliza el documento. Ya sea que estés compartiendo contratos comerciales, informes financieros o registros personales, la encriptación ayuda a proteger tu información contra el acceso no autorizado, la manipulación o el uso indebido. Al aplicar encriptación y establecer permisos apropiados, mejoras la seguridad del documento, aseguras el cumplimiento con las regulaciones de la industria y construyes confianza con tu audiencia. En el mundo digital de hoy, la encriptación de PDFs no es solo una característica, es una necesidad para el manejo responsable de datos. Encripta documentos PDF con Aspose.PDF Cloud Python SDK.
Con nuestra biblioteca de Python puedes:
- Combinar documentos PDF.
- Dividir archivos PDF.
- Convertir PDF a otros formatos, y viceversa.
- Manipular Anotaciones.
- Trabajar con Imágenes en PDF, etc.
- Puedes probar nuestras Apps gratuitas para probar la funcionalidad en línea.