如何使用 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 可確保已編輯的資料已完全刪除且無法恢復,因此非常適合處理法律、財務或個人文件中的機密資訊。

拉取並啟動 IronSecureDoc

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

本地托管 部署到雲端

[POST] 編輯區域 API

[POST] 編輯區域 API 端點可讓您使用真正的編輯功能隱藏 PDF 文件特定區域中的敏感資訊。 對於管理機密文件(例如法律合約、醫療記錄或財務報表)的應用程式而言,此功能至關重要。 利用此 API,您可以確保永久刪除 PDF 指定區域內的敏感文本,從而兼顧安全性和合規性。

一旦某個區域被編輯,該區域內的內容將無法恢復。

在 Swagger 中嘗試一下

Swagger 是一款強大的工具,它使開發人員能夠透過使用者友好的 Web 介面與 RESTful API 進行互動。 無論你使用 Python、Java 或其他語言,Swagger 都提供了一種方便的方法來測試和實作此 API。

使用 Swagger 編輯區域的步驟

1.存取 Swagger 使用者介面:

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

Swagger 文件

2.找到 [POST] 編輯區域 API:

在 Swagger UI 中,找到 [POST] /v1/document-services/pdfs/redact-region 端點。

編輯區域

3.指定編輯座標:

在這個範例中,我們將從 PDF 的頁面索引 1(即第 2 頁)中刪除一個表格。 使用以下座標定義編輯區域:

  • 頁面索引(specific_pages):1
  • X 座標(region_to_redact_x):60
  • Y座標(region_to_redact_y):270
  • 寬度(region_to_redact_w):470
  • 高度(region_to_redact_h):200

4.設定可選參數:

您也可以選擇新增使用者或擁有者密碼、指定特定頁面,或決定是否在編輯區域上繪製黑框並以 PDF/A 或 PDF/UA 合規性儲存文件。

輸入 Swagger

5.上傳範例 PDF 檔:

在請求正文中,上傳一個需要進行編輯的範例 PDF 檔案。 確保將文件新增為pdf_file

6.執行請求:

點擊"執行"按鈕運行請求。回應將包含已編輯的 PDF 文件,其中表格已按指定方式從第 1 頁索引處移除。

Response

Swagger UI 互動功能讓您可以輕鬆測試編輯流程,並立即提供有關座標如何影響 PDF 內容的回饋。

7.檢查輸出的PDF檔案:

塗黑的部分將在第2頁。


了解輸入參數

使用此 API 之前,必須先了解編輯 PDF 中某個區域所需的輸入參數(包括必要參數和選用參數)。 這些參數有助於確定需要編輯的特定區域。

關鍵參數

  • pdf_file:要編輯的 PDF 文件。
  • region_to_redact_x:要編輯的區域的 X 座標(從頁面左下角開始)。
  • region_to_redact_y:要編輯的區域的 Y 座標(從頁面左下角開始)。
  • region_to_redact_w:要編輯的區域的寬度。
  • region_to_redact_h:要編輯的區域的高度。

選用參數

  • user_password:如果 PDF 檔案受密碼保護,請提供使用者密碼。
  • owner_password:如果修改受到限制,請提供擁有者密碼。
  • specific_pages:指定要編輯的頁面。 如未提供相關信息,則所有頁面均適用此刪減規定。
  • save_as_pdfa:以符合 PDF/A-3 標準的方式儲存 PDF。
  • save_as_pdfua:儲存符合 PDF/UA 規格的 PDF 檔案。

API 整合:Python 範例

熟悉參數後,您可以使用您喜歡的程式語言呼叫此 API。 下面是一個使用 Python 整合此 API 的範例。

import requests

# Define the API endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/redact-region'

# Set the headers for the request (optional relevant metadata)
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'REDACT REGION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Open the PDF file to be redacted in binary read mode
files = {
    'pdf_file': ('sample_file.pdf', open('sample_file.pdf', 'rb'), 'application/pdf')
}

# Define the coordinates and page for the redaction region
data = {
    'region_to_redact_x': '60',  # X-coordinate starting at the bottom-left
    'region_to_redact_y': '270', # Y-coordinate starting at the bottom-left
    'region_to_redact_w': '470', # Width of the region to be redacted
    'region_to_redact_h': '200', # Height of the region to be redacted
    'specific_pages': [1]        # Specify the page index to redact
}

# Make the POST request to the API with the provided parameters and file
response = requests.post(url, headers=headers, files=files, data=data)

# Save the redacted PDF response to a new file
with open('redacted_output.pdf', 'wb') as f:
    f.write(response.content)

print('PDF redacted successfully.')
import requests

# Define the API endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/redact-region'

# Set the headers for the request (optional relevant metadata)
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'REDACT REGION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Open the PDF file to be redacted in binary read mode
files = {
    'pdf_file': ('sample_file.pdf', open('sample_file.pdf', 'rb'), 'application/pdf')
}

# Define the coordinates and page for the redaction region
data = {
    'region_to_redact_x': '60',  # X-coordinate starting at the bottom-left
    'region_to_redact_y': '270', # Y-coordinate starting at the bottom-left
    'region_to_redact_w': '470', # Width of the region to be redacted
    'region_to_redact_h': '200', # Height of the region to be redacted
    'specific_pages': [1]        # Specify the page index to redact
}

# Make the POST request to the API with the provided parameters and file
response = requests.post(url, headers=headers, files=files, data=data)

# Save the redacted PDF response to a new file
with open('redacted_output.pdf', 'wb') as f:
    f.write(response.content)

print('PDF redacted successfully.')
PYTHON

這段程式碼執行以下步驟:

-載入 PDF:從本機檔案系統載入要編輯的 PDF 檔案。 -設定編輯參數:指定要編輯的座標(X,Y)、寬度、高度和特定頁面。 -呼叫 API:呼叫 [POST] 編輯區域 API,並傳入必要的參數。 -儲存結果:將編輯後的 PDF 檔案儲存為新檔案。

如下所示,給定區域已被隱去。

已編輯的輸出

常見問題解答

我如何在 PDF 文件中編輯特定區域?

您可以使用 IronSecureDoc 的 [POST] 編輯區域 API 在 PDF 文件中編輯特定區域。通過提供編輯區域的坐標和尺寸,API 確保敏感信息永久刪除。

設置 IronSecureDoc API 的編輯功能涉及哪些步驟?

要設置 IronSecureDoc API 以進行編輯,您需要拉取並啟動 Docker 映像,使用 Swagger 配置 API,指定編輯參數,並執行 API 調用以在 PDF 文檔中編輯區域。

IronSecureDoc 可以用於雲平台嗎?

可以,IronSecureDoc 可以部署在 Azure 和 AWS 等雲平台上,提供可擴展和靈活的編輯解決方案。

我如何指定使用 IronSecureDoc 要編輯 PDF 的哪些區域?

要使用 IronSecureDoc 指定編輯區域,您需要提供 X 和 Y 坐標以及該區域的寬度和高度。這些參數定義了 PDF 頁面上的確切區域。

是否有方法在完全實施之前測試編輯過程?

可以,您可以通過運行 IronSecureDoc API 服務器並使用 Swagger 與 API 交互來本地測試編輯過程。這使您能夠試驗編輯參數並在全面實施之前驗證輸出。

可以使用哪些編程語言來集成 IronSecureDoc API?

可以使用任何能發出 HTTP 請求的編程語言來集成 IronSecureDoc API,例如 Python、Java、C# 等。

PDF 的真實編輯是什麼?為什麼它很重要?

PDF 的真實編輯確保敏感數據不僅被隱藏而且完全從文件中刪除。這對於保持機密性和遵守數據保護法規至關重要。

IronSecureDoc 支持 PDF 合規標準嗎?

支持,使用 IronSecureDoc 保存已編輯的 PDF 時,您可以選擇遵循 PDF/A-3 或 PDF/UA 等標準以滿足特定的文檔要求。

IronSecureDoc 可以處理需要密碼保護的 PDF 進行編輯嗎?

可以,IronSecureDoc 可以通過在編輯過程中提供所需的用戶和擁有者密碼作為可選參數來處理需要密碼保護的 PDF。

Curtis Chau
技術作家

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

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

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