如何對 PDF 檔案進行加密/設定密碼與權限 in C
透過密碼和特定權限來保護 PDF 檔案,對於防止敏感文件遭到未經授權的存取與篡改至關重要。 IronSecure Doc 提供的 [POST] 加密/新增密碼與權限 API,提供了一種高效的方式,可透過使用者密碼和擁有者密碼加密 PDF 檔案,同時設定列印、表單填寫、註解等操作的權限。 此 API 可確保 PDF 檔案受到全面保護並受存取控制,因此非常適合用於法律、財務或個人文件。
如何對 PDF 檔案進行加密/設定密碼與權限
- 拉取並啟動 IronSecureDoc Docker 映像檔
- 使用 Swagger 測試 API
- 指定密碼與權限的參數
- 執行 API 呼叫以套用變更
- 匯出加密的 PDF 文件
拉取並啟動 IronSecureDoc
若您尚未執行 IronSecureDoc,請點擊下方連結進行設定:
| 本地部署 | 部署至雲端 |
|---|---|
[POST] 加密/新增密碼與權限 API
[POST] 加密/新增密碼與權限 API 讓您能透過密碼加密 PDF 文件,並針對各項操作設定特定權限,為文件增添安全防護層。 無論是授予讀取權限、允許表單填寫,還是停用列印功能,此 API 都能讓您掌控 PDF 檔案的存取與修改方式。
Swagger
Swagger 提供一個使用者友善的介面,可透過互動方式測試此 API。 您可藉此在不撰寫程式碼的情況下發送測試請求並接收回應,使其成為開發者的絕佳工具。
使用 Swagger 進行文字遮蔽的步驟
- 存取 Swagger UI:
若您的 API 伺服器在本地端運行,您可透過在網頁瀏覽器中導航至 http://localhost:8080/swagger/index.html 來存取 Swagger。

- 定位 API:
請尋找 [POST] /v1/document-services/pdfs/encrypt API,該 API 對應於"加密/新增密碼與權限"功能。

- 輸入參數:
請提供 API 的必要參數。 您可以上傳範例 PDF 檔案並指定所需的權限。
- 上傳 PDF 檔案:
在請求主體中,將 PDF 檔案上傳為 pdf_file,並定義必要的權限,例如允許或限制列印、表單填寫及內容擷取。
- 執行請求:
設定完所有參數後,請點擊"執行"以發送請求。系統將回傳符合指定安全性設定的加密 PDF 檔案。
- 檢查輸出 PDF:
輸入"password"以檢視 PDF 內容。
理解輸入參數
該 API 需要特定的參數來加密 PDF 並設定權限。 以下是必填與選填參數的詳細說明:
必填參數
| 名稱 | 資料類型 | 描述 |
|---|---|---|
pdf_file | application/pdf | 您要加密的 PDF 檔案。 |
allow_extracting_content | boolean | 請說明是否允許內容擷取。 |
allow_form_filling | boolean | 請說明是否允許表單自動填寫功能。 |
allow_annotations | boolean | 請說明是否允許添加註解。 |
allow_printing | boolean | 請註明是否允許列印。 |
allow_modifications | boolean | 請說明是否允許進行修改。 |
new_owner_password | string | PDF 的新擁有者密碼,此密碼賦予完全存取權限及變更權限的能力。 |
可選參數
| 名稱 | 資料類型 | 描述 |
|---|---|---|
user_password | string | 當前使用者密碼(若 PDF 設有使用者密碼以授予讀取權限,則需輸入此密碼)。 |
owner_password | string | 當前擁有者密碼(若 PDF 設有擁有者密碼,則需輸入此密碼以授予完整存取權限)。 |
new_user_password | string | 用於讀取權限的新使用者密碼。 |
save_as_pdfa | boolean | 請將 PDF 儲存為符合 PDF/A-3 標準的檔案。 |
save_as_pdfua | boolean | 請將 PDF 儲存為符合 PDF/UA 標準的格式。 |
作者 | string | 設定 PDF 元資料的"作者"屬性。 |
標題 | string | 設定 PDF 元資料的 Title 屬性。 |
主題 | string | 設定 PDF 元資料的 Subject 屬性。 |
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.co/ntent)
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.co/ntent)
print('PDF encrypted successfully.')步驟說明:
- 載入 PDF:將要加密的 PDF 檔案從本機檔案系統載入。
- 設定加密參數:定義權限,例如允許PRINT、表單填寫和內容擷取,以及設定新密碼。
- 呼叫 API:呼叫 [POST] 加密/新增密碼與權限 API,並傳遞必要的參數。
- 儲存結果:加密後的 PDF 將儲存為新檔案。
PDF 檔案已加密,如下所示。 輸入"password"以檢視 PDF 內容。
常見問題
如何加密 PDF 檔案以保護敏感資訊?
若要加密 PDF 檔案,您可以使用 IronSecureDoc API,該 API 允許您同時設定使用者密碼和擁有者密碼。這些密碼有助於控制存取權限,例如列印和表單填寫,以確保文件的安全性。
using 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,您可以控制 PRINT、表單填寫、內容擷取、註解及修改等權限,確保 PDF 檔案的使用方式符合您的安全政策。
如何將 IronSecureDoc API 整合至 Python 應用程式中?
若要將 IronSecureDoc API 與 Python 整合,請使用 requests 函式庫向 API 端點發送 POST 請求。請在請求中包含必要的標頭、參數及檔案資料,以加密並管理您的 PDF 檔案。
using IronSecureDoc 加密 PDF 時,哪些參數是不可或缺的?
關鍵參數包括待加密的 PDF 檔案、使用者密碼與擁有者密碼,以及列印和編輯等操作的權限設定。這些參數可確保文件的安全性,並對其使用方式進行管控。
using IronSecureDoc 進行加密時,是否可以修改 PDF 中的元資料?
是的,您可以透過 IronSecureDoc API 的可選參數修改 PDF 元資料(例如作者、標題和主題),讓您能在加密過程中自訂文件資訊。
在本地執行 IronSecureDoc 的主機需求為何?
IronSecureDoc 可在 Windows、Mac 或 Linux 系統上進行本地部署。請遵循您所使用作業系統的特定設定教學,以確保服務能正確安裝並運作。





