如何加密/添加密碼與權限到 PDF 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

由 Mehr Muhammad Hamza

使用密碼和特定權限來保護 PDF 文件,對於防止敏感文件遭未授權存取和篡改至關重要。 這[發布]IronSecure Doc 的加密/添加密碼及權限 API 提供了一種高效的方法,可以使用用戶和所有者密碼加密 PDF 文件,同時配置列印、表單填寫、註釋等權限。 此 API 確保 PDF 完全受到保護並且可以控制存取,非常適合用於法律、財務或個人文件。

提取並啟動IronSecureDoc

如果您還沒有運行 IronSecureDoc,請按照以下鏈接進行設置:

本地主持部署到雲端

[發布] 加密/添加密碼與權限 API

這[發布]加密/添加密碼與權限 API 允許您透過使用密碼加密 PDF 文件並為各種操作設置特定權限,來為文件增加安全層。 無論是授予讀取權限、允許填寫表單,還是禁用列印,此 API 都讓您能夠控制 PDF 檔案的訪問和修改方式。

Swagger

Swagger 提供使用者友好的介面來互動測試此 API。 您可以使用它发送测试请求并接收响应,而无需编写代码,使其成为开发者的绝佳工具。

使用 Swagger 編輯文本的步驟

  1. 存取 Swagger UI:

    如果你的 API 伺服器在本地運行,可以在網頁瀏覽器中導航至 http://localhost:8080/swagger/index.html 來訪問 Swagger。

    Swagger 文檔

  2. 定位 API:

    尋找[發布]/v1/document-services/pdfs/encrypt API,對應於加密/添加密碼及權限。

    編輯文本

  3. 輸入參數:

    提供 API 所需的參數。 您可以上傳範例 PDF 文件並指定所需的權限。

  4. 上傳 PDF 檔案:

    在請求正文中,上傳作為 pdf_file 的 PDF 文件,並定義必要的權限,比如允許或限制列印、填寫表單和內容提取。

  5. 執行請求:

    設定所有參數後,點擊「執行」以發送請求。回應將返回設有指定安全設定的加密PDF。

  6. 檢查輸出 PDF:

    輸入「password」以查看 PDF 內容。


了解輸入參數

該 API 需要特定參數來加密 PDF 並指派權限。 以下是必須參數和可選參數的詳細說明:

必填參數

名稱數據類型描述
pdf_file應用程式/pdf您要加密的 PDF 文件。
允許提取內容布林指示是否允許內容提取。
允許填寫表單布林指明是否允許填寫表單。
允許註釋布林指示是否允許註釋。
允許列印布林指示是否允許列印。
允許修改布林指出是否允許修改。
new_owner_password字串新的 PDF 擁有者密碼,授予完整的存取權限以及更改權限的能力。

可選參數

名稱數據類型描述
使用者密碼字串如果 PDF 設有用戶密碼以授予讀取權限,則需要當前的用戶密碼。
擁有者密碼字串如果 PDF 設有擁有者密碼以授予完全訪問權限,則需要當前擁有者密碼。
new_user_password用戶新密碼供讀取訪問。
save_as_pdfa布林將 PDF 儲存為符合 PDF/A-3 規範。
保存為PDF/UA布林將 PDF 儲存為符合 PDF/UA 標準。
作者字串設置 PDF 中的元資料 Author 屬性。
標題字串設置 PDF 元數據標題屬性。
主旨字串設定 PDF 元數據主題屬性。

API整合:Python範例

一旦熟悉了輸入參數,就可以使用 Python 或任何其他偏好的語言調用 API。 以下是如何使用 Python 整合此 API 的範例。

import requests

url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'
headers = {
    'accept': '*/*',
    'author': 'IronSoftware',
    'title': 'ENCRYPTION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

files = {
    'pdf_file': ('sample.pdf', open('sample.pdf', 'rb'), 'application/pdf')
}

data = {
    'allow_extracting_content': 'true',
    'allow_form_filling': 'true',
    'allow_annotations': 'false',
    'allow_printing': 'false',
    'allow_modifications': 'true',
    'new_owner_password': 'password',
    'new_user_password': 'password',
    'save_as_pdfa': 'false',
    'save_as_pdfua': 'false'
}

response = requests.post(url, headers=headers, files=files, data=data)

# Save the encrypted PDF
with open('sample.pdf', 'wb') as f:
    f.write(response.content)

print('PDF encrypted successfully.')
PYTHON

步驟說明:

  • 加載 PDF:要加密的 PDF 文件從本地文件系統載入。
  • 設置加密參數:定義許可權,如允許列印、填寫表單和內容提取,並設置新密碼。
  • 呼叫 API: The[發布]調用加密/添加密碼和權限 API,傳遞必要的參數。
  • 保存結果:加密的 PDF 被保存為新文件。

    PDF 檔案已加密,如下所示。 輸入「password」以查看 PDF 內容。