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

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

使用密碼和特定權限保護 PDF 文件對於保護敏感文件免受未經授權的存取和篡改至關重要。 IronSecure Doc 的 [POST] 加密/新增密碼和權限 API 提供了一種高效的方式,可以使用使用者和所有者密碼加密 PDF 文件,同時配置列印、表單填寫、註釋等權限。 此 API 可確保 PDF 檔案得到全面保護並受到存取控制,因此非常適合用於法律、財務或個人文件。

拉取並啟動 IronSecureDoc

如果您尚未執行 IronSecureDoc,請點擊以下連結進行安裝:

本地托管 部署到雲端

[POST] 加密/新增密碼和權限 API

[POST] 加密/新增密碼和權限 API 可讓您透過使用密碼加密 PDF 文件並為各種操作設定特定權限來新增安全層。 無論是授予讀取權限、允許填寫表單或停用列印,此 API 都允許您控制如何存取和修改 PDF 檔案。

昂首闊步

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

使用 Swagger 編輯文字的步驟

1.存取 Swagger 使用者介面:

如果您的 API 伺服器在本機上運行,您可以透過在 Web 瀏覽器中存取http://localhost:8080/swagger/index.html來存取 Swagger。

Swagger 文件

2.找到 API:

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

已編輯文字

3.輸入參數:

提供 API 所需的參數。 您可以上傳一個範例 PDF 檔案並指定所需的權限。

4.上傳PDF文件:

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

5.執行請求:

所有參數設定完畢後,點選"執行"發送請求。系統將傳回符合指定安全設定的加密 PDF 檔案。

6.檢查輸出的PDF檔案:

輸入"密碼"即可查看PDF內容。


了解輸入參數

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

必需參數

請輸入您的姓名 資料類型 描述
pdf文件 應用程式/pdf 您要加密的 PDF 檔案。
允許提取內容 布林值 指明是否允許提取內容。
允許表單填寫 布林值 請說明是否允許填寫表格。
允許註解 布林值 請指明是否允許添加註釋。
允許列印 布林值 請說明是否允許列印。
允許修改 布林值 請說明是否允許修改。
新所有者密碼 細繩 PDF 檔案的新所有者密碼,授予完全存取權限和更改權限的能力。

可選參數

請輸入您的姓名 資料類型 描述
使用者密碼 細繩 如果 PDF 檔案需要使用者密碼才能授予讀取權限,則需要輸入目前使用者密碼。
所有者密碼 細繩 如果 PDF 檔案設定了所有者密碼,則需要輸入目前所有者密碼以授予完全存取權限。
新用戶密碼 細繩 新使用者的讀取權限密碼。
儲存為pdf 布林值 將 PDF 檔案另存為符合 PDF/A-3 標準的格式。
保存為pdfua 布林值 將 PDF 儲存為符合 PDF/UA 規範的格式。
作者 細繩 設定PDF元數據作者屬性。
標題 細繩 設定PDF元資料標題屬性。
主題 細繩 設定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': '*/*',
    '作者': 'Iron Software',
    '標題': 'ENCRYPTION DEMO 2024',
    '主題': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdf文件': ('sample.pdf', open('sample.pdf', 'rb'), '應用程式/pdf')
}

# Parameters for encryption and permissions
data = {
    '允許提取內容': 'true',
    '允許表單填寫': 'true',
    '允許註解': 'false',
    '允許列印': 'false',
    '允許修改': 'true',
    '新所有者密碼': 'password',
    '新用戶密碼': 'password',
    '儲存為pdf': 'false',
    '保存為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': '*/*',
    '作者': 'Iron Software',
    '標題': 'ENCRYPTION DEMO 2024',
    '主題': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdf文件': ('sample.pdf', open('sample.pdf', 'rb'), '應用程式/pdf')
}

# Parameters for encryption and permissions
data = {
    '允許提取內容': 'true',
    '允許表單填寫': 'true',
    '允許註解': 'false',
    '允許列印': 'false',
    '允許修改': 'true',
    '新所有者密碼': 'password',
    '新用戶密碼': 'password',
    '儲存為pdf': 'false',
    '保存為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] 加密/新增密碼和權限 API,並傳遞必要的參數。 -儲存結果:加密後的 PDF 檔案將會儲存為新檔案。

PDF 文件已加密,如下所示。 輸入"密碼"即可查看PDF內容。

常見問題解答

如何加密 PDF 檔案以保護敏感資訊?

若要加密 PDF 檔案,您可以使用 IronSecureDoc API,該 API 允許您設置使用者和擁有者的密碼。這些密碼有助於控制訪問權限和權限,例如打印和表單填寫,確保文檔的安全性。

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

首先,拉取 IronSecureDoc Docker 映像並根據您的主機環境進行設置。接下來,使用 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 庫將 POST 請求發送到 API 端點。在請求中包含必要的標頭、參數和文件數據,以加密和管理您的 PDF 文件。

使用 IronSecureDoc 加密 PDF 時所需的主要參數有哪些?

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

在使用 IronSecureDoc 進行加密時可以修改 PDF 的元數據嗎?

是的,您可以使用 IronSecureDoc API 的可選參數來修改 PDF 的元數據,例如作者、標題和主題,允許您在加密過程中自訂文檔的資訊。

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

IronSecureDoc 可以在 Windows、Mac 或 Linux 系統上本地托管。遵循特定的設置教程,確保服務的正確安裝和運行。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Version: 2024.10 剛發表