Защитите PDF паролем в Python SDK
API для шифрования PDF-документов с использованием облачного Python SDK.
Get StartedКак зашифровать PDF через облачный Python SDK
Для шифрования PDF мы будем использовать Aspose.PDF Cloud Python SDK. Этот облачный SDK помогает программистам на Python разрабатывать облачные приложения для создания, аннотирования, редактирования и конвертации PDF-документов с использованием языка программирования Python через Aspose.PDF REST API. Просто создайте учетную запись на Aspose for Cloud и получите информацию о вашем приложении. Как только у вас будут App SID и ключ, вы можете использовать Aspose.PDF Cloud Python SDK. Если пакет Python размещен на Github, вы можете установить его напрямую с Github:
Установка с Github
pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git
Команда для консоли диспетчера пакетов
pip install asposepdfcloud
Шаги для шифрования PDF через Python SDK
Разработчики Aspose.PDF Cloud могут легко загрузить и зашифровать PDF всего за несколько строк кода.
- Установите Python SDK.
- Перейдите на Aspose Cloud Dashboard.
- Зашифруйте файл с помощью AES-256, используя пароли, закодированные в base64.
- Загрузите защищенный PDF обратно в локальную папку.
Шифрование PDF с использованием 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()
Шифрование PDF
Шифрование PDF-документа — это простой, но мощный способ защитить конфиденциальное содержимое, обеспечить конфиденциальность и контролировать использование документа. Независимо от того, делитесь ли вы бизнес-контрактами, финансовыми отчетами или личными записями, шифрование помогает защитить вашу информацию от несанкционированного доступа, подделки или неправильного использования. Применяя шифрование и устанавливая соответствующие разрешения, вы повышаете безопасность документа, обеспечиваете соответствие отраслевым требованиям и укрепляете доверие у вашей аудитории. В современном цифровом мире шифрование PDF — это не просто функция, а необходимость для ответственного обращения с данными. Зашифруйте PDF-документы с помощью Aspose.PDF Cloud Python SDK.
С нашей библиотекой для Python вы можете:
- Объединять PDF-документы.
- Разделять PDF-файлы.
- Конвертировать PDF в другие форматы и наоборот.
- Работать с аннотациями.
- Работать с изображениями в PDF и т.д.
- Вы можете попробовать наши бесплатные приложения, чтобы протестировать функциональность онлайн.