How to Redact Text in C# PDF with IronSecureDoc

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

在本文中,我們將討論如何使用 IronSecureDoc 對 PDF 上的文字進行涂黑。 這使得服務或過程可以通過對運行中的 IronSecureDoc 伺服器發出簡單的 POST 請求,快速輕鬆地涂黑敏感資訊。 我們將通過使用 Swagger 文件以視覺化的方式展示這一點。 POST 請求接受必填和可選參數,並且高度可定制; 響應會返回帶有已涂黑文字的 PDF。

擷取並啟動 IronSecureDoc

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

在本地主機部署到雲端

[POST] 涂黑文字 API

[POST] 涂黑文字 API 端點允許您使用涂黑功能隱藏 PDF 文件中的敏感文字。 此功能對於處理機密文件的應用程式至關重要,如法律合同、醫療記錄或財務報告。 使用此 API 可確保特定文字被永久移除,提供加強的安全性,並確保符合資料保護標準。

請注意一旦一段文字被涂黑,內容就無法恢復。

Swagger

Swagger 是一個功能強大的工具,使開發者能夠通過使用者友好的網頁介面與 RESTful API 互動。 無論您使用 Python、Java 還是其他語言,Swagger 都提供了測試和實施此 API 的便捷方式。

使用Swagger編削文字的步驟

  1. 存取 Swagger UI:

如果您的 API 伺服器在本地運行,您可以通過網頁瀏覽器存取 http://localhost:8080/swagger/index.html 來存取 Swagger。

Swagger 文件

  1. 找到 [POST] 涂黑文字 API:

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

涂黑文字

  1. 指定配置:

在此範例中,我提供了 PDF 文件和要涂黑的單詞進行 POST 請求。我們將涂黑單詞"we"並在其上覆蓋一個黑框。 對於此演示,我們將使用 'sample.pdf' 文件並應用以下配置:

  • draw_black_box: true
  • match_whole_word: true
    • words_to_redact:we
  1. 上傳範例 PDF:

在請求正文中,上傳您希望應用涂黑的範例 PDF 文件。 確保該文件以 pdf_file 的形式新增。

  1. 執行請求:

單擊"執行"以運行請求。響應將包括已涂黑的 PDF。 此 Swagger UI 互動使您能夠輕鬆測試涂黑過程,提供即時反饋。


通過命令提示符使用 CURL 請求

或者,我們可以使用命令提示符與 curl POST 請求以實現相同結果。

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
 -H 'accept: */*' \
 -H 'Content-Type: multipart/form-data' \
 -F 'pdf_file=@sample.pdf;type=application/pdf' \
 -F 'words_to_redact="we"' \
 -F 'draw_black_box=true' \
 -F 'match_whole_word=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
 -H 'accept: */*' \
 -H 'Content-Type: multipart/form-data' \
 -F 'pdf_file=@sample.pdf;type=application/pdf' \
 -F 'words_to_redact="we"' \
 -F 'draw_black_box=true' \
 -F 'match_whole_word=true'
SHELL

請注意
預設情況下,PowerShell 可能會將 curl 解釋為內建 PowerShell cmdlet 的別名 Invoke-WebRequest。 嘗試使用 curl.exe 代替 curl

curl.exe --version
curl.exe --version
SHELL

)}]

必需的請求正文參數

名稱資料型別描述
pdf_fileapplication/pdf您要操作的 PDF 文件。
words_to_redactarray[string]此參數接受單詞列表,涂黑與輸入匹配的文字。

可選的請求正文參數

名稱資料型別描述
user_passwordstring如果輸入的 PDF 有使用者密碼,則需要此參數。如果未提供受密碼保護的 PDF 的密碼,操作將失敗。
owner_passwordstring如果輸入的 PDF 有所有者密碼,則需要此參數。如果未提供受密碼保護的 PDF 的密碼,操作將失敗。
specific_pagesarray[int]允許您指定在哪些頁面上涂黑文字。預設情況下,該值為 null,這意味著所有頁面上的提供文字都將被涂黑。
draw_black_boxboolean允許您指定是否在涂黑文字上畫一個黑框。預設情況下,此值設置為 True
match_whole_wordboolean指定是否應該涂黑詞語中的部分匹配。例如,如果提供的單詞是"are",任何包含"are"的單詞,如"hare",也會將"are"涂黑。預設情況下,這設置為 True
match_caseboolean指定提供的單詞是否應該在大小寫上完全匹配。預設情況下,此值為 null。注意:將其設置為 True 意味著大小寫字串不會匹配。例如,如果提供的單詞是"WE",小寫版"we"將不會被涂黑。
overlay_textstring它指定用於覆蓋涂黑文字的文字,這些文字可以是單詞或符號。預設情況下,此字串為空。
save_as_pdfaboolean將修改後的 PDF 儲存為符合 PDF/A-3 標準。預設情況下,這設置為 False
save_as_pdfuaboolean將修改後的 PDF 儲存為符合 PDF/UA 標準。預設情況下,這設置為 False

可選的標頭參數

名稱資料型別描述
authorstring用於識別您為 PDF 文件的作者。預設情況下,此字段為空。
titlestring顯示 PDF 文件的標題。預設情況下,此字段為空。
subjectstring用於一目瞭然地識別 PDF 文件的內容。預設情況下,此字段為空。

常見問題

如何使用POST請求編輯PDF文字?

您可以通過向IronSecureDoc伺服器發送包含PDF文件和要編輯的單詞的POST請求來編輯PDF文字。伺服器處理請求並返回一個已編輯文字的PDF。

使用IronSecureDoc API進行PDF編輯的步驟是什麼?

要使用IronSecureDoc API進行PDF編輯,您應首先拉取並啟動IronSecureDoc Docker映像,使用Swagger測試API,指定要編輯的文字,執行API呼叫,最後匯出已編輯的PDF文件。

如何在生產環境中使用IronSecureDoc API之前進行測試?

您可以通過存取Swagger UI來測試IronSecureDoc API,該UI允許您使用提供的端點來模擬編輯過程。

在PDF編輯請求中可以自定義哪些參數?

在PDF編輯請求中,您可以自定義參數,如user_password, owner_password, specific_pages, draw_black_box, match_whole_word, match_case, overlay_text, save_as_pdfa和save_as_pdfua以獲得進一步的自定義。

如何使用curl執行PDF編輯請求?

要使用curl執行PDF編輯請求,您可以使用curl POST請求命令,在命令提示符中指定必要的參數和文件路徑。

如果我的PDF在編輯過程中受密碼保護,我應該怎麼做?

如果您的PDF受密碼保護,您需要在選擇項參數中包含user_password或owner_password,以確保編輯過程能夠存取和修改文件。

'draw_black_box'參數在文字編輯中的目的何在?

'draw_black_box'參數指定是否用黑框覆蓋已編輯的文字。此選項對於可視化已編輯區域非常有用,預設為啟用狀態。

如何本地托管IronSecureDoc以進行編輯?

您可以透過遵循提供給不同操作系統(如Windows, Mac或Linux)的教程來本地托管IronSecureDoc,允許您在本地伺服器上管理編輯過程。

是否可以編輯PDF中的特定頁面?

是的,您可以通過使用'specific_pages'參數來指定需要編輯哪幾頁,從而讓您針對文件的特定區域進行編輯。

我可以在PDF的編輯區域上覆蓋文字嗎?

是的,您可以通過使用'overlay_text'參數在編輯區域上覆蓋文字,這可以讓您用自定義資訊或佔位符取代已編輯的文字。

IronSecureDoc是否與.NET 10及其客戶端庫相容?

是的,IronSecureDoc通過NuGet套件IronSoftware.SecureDoc.Client提供.NET客戶端,並且相容.NET 10以及之前的版本(如.NET 6–9)。這確保您可以無縫整合編輯及相關API到.NET 10應用程式中。

Curtis Chau
技術作家

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

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

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

還在滾動嗎?

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