如何加密/新增密碼和權限到PDF文件 in C

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

使用密碼和特定權限保護PDF文件,對於保護敏感文件免受未經授權的存取和操作至關重要。 [POST] Encrypt/Add Password & Permissions API 來自 IronSecure Doc,提供了一種有效的方法,將PDF文件加密並設置使用者和擁有者密碼,同時配置列印、填寫表單、註釋等權限。 此API確保PDF得到充分保護並可控存取,使其成為法律、金融或個人文件的理想選擇。

擷取並啟動 IronSecureDoc

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

在本地主機部署到雲端

The [POST] Encrypt/Add Password & Permissions API

[POST] Encrypt/Add Password & Permissions API 允許您通過使用密碼加密PDF文件並設置特定操作的權限來新增安全層。 無論是授予讀取存取、允許填寫表單或禁用列印,此API都能讓您控制PDF文件的存取方式和修改方式。

Swagger

Swagger 提供一個使用者友好的介面以互動式測試此API。 您可以使用它發送測試請求並接收回應,而不需要撰寫程式碼,使其成為開發人員的絕佳工具。

使用Swagger編削文字的步驟

  1. 存取 Swagger UI:

如果您的API伺服器正在本地主機運行,您可以在您的網頁瀏覽器中導航到 http://localhost:8080/swagger/index.html 存取 Swagger。

Swagger 文件

  1. 定位API:

找到[POST] /v1/document-services/pdfs/encrypt API,對應於加密/新增密碼和權限。

編削文字

  1. 輸入參數:

提供API所需的參數。 您可以上傳一個樣本PDF文件並指定所需的權限。

  1. 上傳PDF文件:

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

  1. 執行請求:

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

  1. 檢查輸出PDF:

輸入 'password' 來查看PDF內容。


瞭解輸入參數

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

必要參數

名稱資料型別描述
pdf_fileapplication/pdf您想加密的PDF文件。
allow_extracting_contentboolean指示是否允許內容擷取。
allow_form_fillingboolean指示是否允許填寫表單。
allow_annotationsboolean指示是否允許註釋。
allow_printingboolean指示是否允許列印。
allow_modificationsboolean指示是否允許修改。
new_owner_passwordstringPDF的新擁有者密碼,授予完全存取和更改權限的能力。

可選參數

名稱資料型別描述
user_passwordstring當PDF有使用者密碼以授予讀取存取時所需的當前使用者密碼。
owner_passwordstring當PDF有擁有者密碼以授予完全存取時所需的當前擁有者密碼。
new_user_passwordstring新使用者密碼,用於讀取存取。
save_as_pdfaboolean將PDF保存為PDF/A-3相容。
save_as_pdfuaboolean將PDF保存為PDF/UA相容。
authorstring設置PDF元資料作者屬性。
titlestring設置PDF元資料標題屬性。
subjectstring設置PDF元資料主題屬性。

API整合:Python範例

一旦您熟悉了輸入參數,您可以使用Python或其他任何首選語言呼叫API。 以下是使用Python整合此API的範例。

import requests

# Endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'

# Headers with metadata information
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'ENCRYPTION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdf_file': ('sample.pdf', open('sample.pdf', 'rb'), 'application/pdf')
}

# Parameters for encryption and permissions
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'
}

# Send POST request with parameters
response = requests.post(url, headers=headers, files=files, data=data)

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

print('PDF encrypted successfully.')
import requests

# Endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'

# Headers with metadata information
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'ENCRYPTION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdf_file': ('sample.pdf', open('sample.pdf', 'rb'), 'application/pdf')
}

# Parameters for encryption and permissions
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'
}

# Send POST request with parameters
response = requests.post(url, headers=headers, files=files, data=data)

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

print('PDF encrypted successfully.')
PYTHON

步驟說明:

  • 載入PDF:要加密的PDF文件從本地檔案系統載入。
  • 設置加密參數:定義允許列印、填寫表單和內容擷取等權限,並設置新密碼。
  • 呼叫API:調用 [POST] Encrypt/Add Password & Permissions API,傳遞必要的參數。
  • 保存結果:加密的PDF保存為一個新文件。

PDF文件加密如以下所示。 輸入 'password' 來查看PDF內容。

常見問題

我如何加密PDF文件以保護敏感資訊?

要加密PDF文件,您可以使用IronSecureDoc API,它允許您設定使用者密碼和擁有者密碼。這些密碼有助於控制存取和權限,例如列印和表單填寫,確保文件的安全性。

使用IronSecureDoc API進行PDF加密涉及哪些步驟?

首先,提取IronSecureDoc Docker Image並根據您的託管環境進行設置。接下來,使用API指定加密參數,如設定密碼和權限,並執行API調用以生成安全的PDF。

如何不編寫程式碼測試IronSecureDoc API?

您可以使用Swagger測試IronSecureDoc API。存取Swagger UI,找到相關的API端點,輸入必要的參數,並執行請求以查看響應並確保API正常工作。

什麼是在PDF安全性中的使用者密碼和擁有者密碼?

在PDF安全性中,使用者密碼允許閱讀文件,而擁有者密碼授予完全存取權,包括變更權限。使用IronSecureDoc,您可以設置這兩種型別的密碼以增強文件安全性。

我可以使用IronSecureDoc將PDF配置為符合PDF/A標準嗎?

是的,IronSecureDoc API包括允許您將加密的PDF保存為PDF/A-3標準的參數,這是電子文件長期保存的標準。

使用IronSecureDoc API可以控制哪些權限?

使用IronSecureDoc API,您可以控制許可,包括列印、表單填寫、內容提取、註釋和修改,確保PDF的使用符合您的安全政策。

如何將IronSecureDoc API整合到Python應用程式中?

要將IronSecureDoc API整合到Python中,請使用requests庫向API端點發送POST請求。在您的請求中包含必要的標頭、參數和文件資料,以加密和管理您的PDF文件。

使用IronSecureDoc加密PDF所必需的參數有哪些?

必要的參數包括要加密的PDF文件、使用者密碼和擁有者密碼,以及列印和編輯等操作的權限。這些參數確保文件的安全性和對其使用的控制。

在使用IronSecureDoc進行加密過程中,可以修改PDF中的元資料嗎?

可以,您可以使用IronSecureDoc API的選擇性參數修改PDF元資料,如作者、標題和主題,使您能夠在加密過程中自定義文件資訊。

本地運行IronSecureDoc的託管要求是什麼?

IronSecureDoc可以在Windows、Mac或Linux系統本地託管。按照您的操作系統的特定安裝教程,以確保服務的正確安裝和運行。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
版本: 2024.10 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想要快速證明嗎?
運行一個樣本觀看您的PDF加密。