Файлы PDF широко используются для хранения и обмена конфиденциальной информацией, от финансовых отчетов до юридических документов. Однако эти файлы могут быть уязвимы для несанкционированного доступа и редактирования, поэтому шифрование и защита паролем PDF-файлов имеют решающее значение для обеспечения их безопасности. В этом сообщении блога мы рассмотрим, как шифровать и защищать паролем PDF-файлы с помощью REST API на основе Python. Следуя пошаговым инструкциям, изложенным в этом руководстве, вы сможете добавить дополнительный уровень безопасности к своим PDF-файлам и гарантировать, что они останутся в безопасности от посторонних глаз. Итак, если вам нужно защитить конфиденциальные деловые документы или личные файлы, читайте дальше, чтобы узнать, как с легкостью зашифровать, защитить и обезопасить ваши PDF-файлы.

REST API для защиты PDF

Aspose.PDF Cloud SDK для Python — это мощный инструмент, который позволяет легко добавлять защиту паролем к файлам PDF. Всего несколькими строками кода вы можете зашифровать свои PDF-файлы и ограничить доступ к ним только уполномоченным лицам. SDK предоставляет на выбор несколько алгоритмов шифрования, включая 40-битный RC4, 128-битный RC4, 128-битный AES и 256-битный AES.

Теперь, чтобы начать работу с Python SDK, первым шагом будет его установка. Он доступен для загрузки в репозиториях PIP и GitHub. Поэтому, пожалуйста, выполните следующую команду в терминале/командной строке, чтобы установить последнюю версию SDK в системе.

 pip install asposepdfcloud

Учетные данные клиента

После установки следующим важным шагом будет бесплатная подписка на наши облачные сервисы на панели инструментов Aspose.Cloud. Просто зарегистрируйтесь, используя учетную запись GitHub или Google, нажав кнопку Создать новую учетную запись и предоставив необходимую информацию. Затем войдите в систему с новой учетной записью и получите учетные данные клиента.

Учетные данные клиента

Изображение 2: учетные данные клиента на панели инструментов Aspose.Cloud.

Зашифровать PDF с помощью Python

API позволяет установить два типа паролей, т. е. пароль для открытия документа (пароль пользователя) и пароль доступа (пароль владельца).

Пароль для открытия документа

Пароль для открытия документа (также известный как пароль пользователя) требует, чтобы пользователь ввел пароль для открытия PDF-файла.

Пароль разрешений

Пароль разрешения (также известный как пароль мастера/владельца) требуется для изменения настроек разрешения. Используя пароль разрешений, вы можете ограничить печать, редактирование и копирование содержимого PDF-файла. Этот пароль требуется для изменения ограничений, которые вы уже применили.

Если файл PDF защищен обоими типами паролей, его можно открыть любым паролем.

Также обратите внимание, что API принимает пароли владельца и пользователя в формате Base64. В следующем фрагменте кода указаны ownerPassword (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) и userPassword (dXNlciAkXlBhc3N3b3JkISY=). Пожалуйста, следуйте инструкциям ниже, чтобы зашифровать файлы PDF с помощью фрагмента кода Python.

  • Создайте экземпляр класса ApiClient, указав идентификатор клиента и секрет клиента в качестве аргументов.
  • Во-вторых, создайте экземпляр класса PdfApi, который принимает объект ApiClient в качестве входного аргумента.
  • Теперь вызовите метод postencryptdocumentinstorage(..) класса PdfApi, передав в качестве аргументов имя входного файла PDF, пароли пользователя и владельца (в кодировке Base64) и криптографический алгоритм.

Вот именно! С помощью всего нескольких строк кода мы узнали, как защитить PDF-файлы паролем с помощью Aspose.PDF Cloud SDK для Python.

def encrypt():
    try:
        #Client credentials
        client_secret = "d34641f4ff6bcc96e3a0ab6ac69768b2"
        client_id = "8e2b082f-1f74-4bc0-b454-5f68457d1c97"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # создать экземпляр PdfApi при передаче PdfApiClient в качестве аргумента
        pdf_api = PdfApi(pdf_api_client)

        #input PDF file name
        input_file = 'image-based-pdf-sample.pdf'

        # вызвать API для шифрования документа
        response = pdf_api.post_encrypt_document_in_storage(name=input_file,user_password='dXNlciAkXlBhc3N3b3JkISY=',owner_password='b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm',crypto_algorithm='AESX128')

        # вывести сообщение об успешном завершении в консоль (необязательно)
        print('PDF encrypted successfully !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Обратите внимание, что вы можете использовать любое значение криптографического алгоритма в процессе шифрования PDF.

Имя Описание
RC4x40 RC4 с длиной ключа 40.
RC4x128 RC4 с длиной ключа 128.
AESx128 AES с длиной ключа 128.
AESx256 AES с длиной ключа 256.

Входной PDF-файл, используемый в приведенном выше примере, можно загрузить с awesomeTable.pdf.

Зашифровать PDF с помощью команды cURL

API REST также доступны через команды cURL на любой платформе. Мы можем использовать окно командной строки/терминала для выполнения команд cURL. Поскольку Aspose.PDF Cloud также разработан в соответствии с архитектурой REST, мы также можем использовать команду cURL для шифрования файлов PDF. Но прежде чем двигаться дальше, нам нужно сгенерировать веб-токен JSON (JWT) на основе ваших индивидуальных учетных данных клиента, указанных на панели управления Aspose.Cloud. Это обязательно, потому что наши API доступны только зарегистрированным пользователям. Пожалуйста, выполните следующую команду, чтобы сгенерировать токен JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Теперь, когда у нас есть токен JWT, нам нужно выполнить следующую команду, чтобы зашифровать документ PDF.

curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Заключение

В заключение, использование REST API для шифрования PDF-файлов — это быстрый и эффективный способ обеспечить безопасность и конфиденциальность ваших важных документов. Если вам нужно заблокировать PDF от редактирования или добавить защиту паролем, эти методы обеспечивают удобное решение, удобное и безопасное. Следуя шагам, описанным в этом сообщении блога, вы можете легко защитить свои PDF-файлы и быть уверенными в том, что ваша ценная информация защищена.

Обратите внимание, что наши облачные SDK создаются под лицензией MIT, поэтому вы можете загрузить полный фрагмент кода с GitHub. Кроме того, мы настоятельно рекомендуем изучить Руководство разработчика, чтобы узнать больше о других интересных функциях API.

Наконец, если вы столкнетесь с какой-либо проблемой или у вас возникнут вопросы при использовании API, свяжитесь с нами через бесплатный форум поддержки клиентов.

Статьи по Теме

Мы также предлагаем ознакомиться со следующими статьями, чтобы узнать больше о