PDF 文件廣泛用於存儲和共享敏感信息,從財務報表到法律文件。但是,這些文件可能容易受到未經授權的訪問和編輯,這就是為什麼加密和密碼保護 PDF 對維護其安全至關重要。在這篇博文中,我們將探索如何使用基於 Python 的 REST API 來加密和密碼保護 PDF 文件。按照本指南中概述的分步說明,您將能夠為您的 PDF 文件添加額外的安全層,並確保它們免受窺探。因此,無論您是需要保護機密商業文檔還是個人文件,請繼續閱讀以了解如何輕鬆加密、保護和保護您的 PDF 文件。

用於保護 PDF 的 REST API

Aspose.PDF Cloud SDK for Python 是一款功能強大的工具,可讓您輕鬆地為 PDF 文件添加密碼保護。只需幾行代碼,您就可以加密您的 PDF 文件並限制對授權個人的訪問。 SDK提供多種加密算法可供選擇,包括40位RC4、128位RC4、128位AES、256位AES。

現在,為了開始使用 Python SDK,第一步是安裝它。它可以通過 PIPGitHub 存儲庫下載。所以請在終端/命令提示符下執行以下命令,在系統上安裝最新版本的SDK。

 pip install asposepdfcloud

客戶憑證

安裝後,下一個主要步驟是在 Aspose.Cloud dashboard 上免費訂閱我們的雲服務。只需單擊 創建新帳戶 按鈕並提供所需信息,即可使用 GitHub 或 Google 帳戶進行註冊。然後使用新訂閱的帳戶登錄並獲取您的客戶憑證。

客戶憑證

圖 2:- Aspose.Cloud 儀表板上的客戶端憑證。

使用 Python 加密 PDF

API 允許您設置兩種類型的密碼,即文檔打開密碼(用戶密碼)和權限密碼(所有者密碼)。

文檔打開密碼

文檔打開密碼(也稱為用戶密碼)需要用戶鍵入密碼才能打開 PDF。

權限密碼

更改權限設置需要權限密碼(也稱為主/所有者密碼)。使用權限密碼,您可以限制打印、編輯和復制 PDF 中的內容。需要此密碼才能更改您已經應用的限制。

如果 PDF 使用兩種類型的密碼進行保護,則可以使用任何一種密碼打開它。

另外請注意,API 接受 Base64 編碼格式的所有者和用戶密碼。在以下代碼片段中,指定了所有者密碼 (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) 和用戶密碼 (dXNlciAkXlBhc3N3b3JkISY=)。請按照以下步驟使用 Python 代碼片段加密 PDF 文件。

  • 創建 ApiClient 類的實例,同時提供客戶端 ID 和客戶端密碼作為參數
  • 其次,創建一個 PdfApi 類的實例,它將 ApiClient 對像作為輸入參數
  • 現在調用 PdfApi 類的 postencryptdocumentinstorage(..) 方法,同時傳遞輸入 PDF 文件的名稱、用戶和所有者密碼(採用 Base64 編碼)和加密算法作為參數。

就是這樣!僅用幾行代碼,我們就了解了使用 Aspose.PDF Cloud SDK for Python 對 PDF 文件進行密碼保護的步驟。

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)

        # 在將 PdfApiClient 作為參數傳遞時創建 PdfApi 實例
        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 密鑰長度為 40 的 RC4。
RC4x128 密鑰長度為 128 的 RC4。
AESx128 密鑰長度為 128 的 AES。
AESx256 密鑰長度為 256 的 AES。

上例中使用的輸入 PDF 文件可以從 awesomeTable.pdf 下載。

使用 cURL 命令加密 PDF

還可以在任何平台上通過 cURL 命令訪問 REST API。我們可以使用命令提示符/終端窗口來執行 cURL 命令。由於Aspose.PDF Cloud也是按照REST架構開發的,所以我們也可以使用cURL命令對PDF文件進行加密。但在進一步進行之前,我們需要根據您在 Aspose.Cloud 儀表板上指定的個人客戶端憑據生成一個 JSON Web 令牌 (JWT)。這是強制性的,因為我們的 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 時遇到任何問題或有任何相關疑問,請隨時通過免費客戶支持論壇與我們聯繫。

相關文章

我們還建議您閱讀以下文章以了解更多信息