How to Redact Text in C# PDF with IronSecureDoc
在本文中,我們將討論如何使用 IronSecureDoc 對 PDF 上的文字進行涂黑。 這使得服務或過程可以通過對運行中的 IronSecureDoc 伺服器發出簡單的 POST 請求,快速輕鬆地涂黑敏感資訊。 我們將通過使用 Swagger 文件以視覺化的方式展示這一點。 POST 請求接受必填和可選參數,並且高度可定制; 響應會返回帶有已涂黑文字的 PDF。
如何使用 IronSecureDoc 在 PDF 上涂黑文字
- Pull and start the IronSecureDoc Docker Image
- 使用 Swagger 測試 API
- 指定要涂黑的文字
- 執行 API 調用並提供詳細資訊
- 導出已涂黑的 PDF 文件
擷取並啟動 IronSecureDoc
如果您還沒有運行 IronSecureDoc,請按照以下連結進行設置:
| 在本地主機 | 部署到雲端 |
|---|---|
[POST] 涂黑文字 API
[POST] 涂黑文字 API 端點允許您使用涂黑功能隱藏 PDF 文件中的敏感文字。 此功能對於處理機密文件的應用程式至關重要,如法律合同、醫療記錄或財務報告。 使用此 API 可確保特定文字被永久移除,提供加強的安全性,並確保符合資料保護標準。
Swagger
Swagger 是一個功能強大的工具,使開發者能夠通過使用者友好的網頁介面與 RESTful API 互動。 無論您使用 Python、Java 還是其他語言,Swagger 都提供了測試和實施此 API 的便捷方式。
使用Swagger編削文字的步驟
- 存取 Swagger UI:
如果您的 API 伺服器在本地運行,您可以通過網頁瀏覽器存取 http://localhost:8080/swagger/index.html 來存取 Swagger。

- 找到 [POST] 涂黑文字 API:
在 Swagger UI 中,找到 POST /v1/document-services/pdfs/redact-text 端點。

- 指定配置:
在此範例中,我提供了 PDF 文件和要涂黑的單詞進行 POST 請求。我們將涂黑單詞"we"並在其上覆蓋一個黑框。 對於此演示,我們將使用 'sample.pdf' 文件並應用以下配置:
draw_black_box:truematch_whole_word:truewords_to_redact:we
- 上傳範例 PDF:
在請求正文中,上傳您希望應用涂黑的範例 PDF 文件。 確保該文件以 pdf_file 的形式新增。
- 執行請求:
單擊"執行"以運行請求。響應將包括已涂黑的 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'curl 解釋為內建 PowerShell cmdlet 的別名 Invoke-WebRequest。 嘗試使用 curl.exe 代替 curl。curl.exe --versioncurl.exe --version)}]
必需的請求正文參數
| 名稱 | 資料型別 | 描述 |
|---|---|---|
pdf_file | application/pdf | 您要操作的 PDF 文件。 |
words_to_redact | array[string] | 此參數接受單詞列表,涂黑與輸入匹配的文字。 |
可選的請求正文參數
| 名稱 | 資料型別 | 描述 |
|---|---|---|
user_password | string | 如果輸入的 PDF 有使用者密碼,則需要此參數。如果未提供受密碼保護的 PDF 的密碼,操作將失敗。 |
owner_password | string | 如果輸入的 PDF 有所有者密碼,則需要此參數。如果未提供受密碼保護的 PDF 的密碼,操作將失敗。 |
specific_pages | array[int] | 允許您指定在哪些頁面上涂黑文字。預設情況下,該值為 null,這意味著所有頁面上的提供文字都將被涂黑。 |
draw_black_box | boolean | 允許您指定是否在涂黑文字上畫一個黑框。預設情況下,此值設置為 True。 |
match_whole_word | boolean | 指定是否應該涂黑詞語中的部分匹配。例如,如果提供的單詞是"are",任何包含"are"的單詞,如"hare",也會將"are"涂黑。預設情況下,這設置為 True。 |
match_case | boolean | 指定提供的單詞是否應該在大小寫上完全匹配。預設情況下,此值為 null。注意:將其設置為 True 意味著大小寫字串不會匹配。例如,如果提供的單詞是"WE",小寫版"we"將不會被涂黑。 |
overlay_text | string | 它指定用於覆蓋涂黑文字的文字,這些文字可以是單詞或符號。預設情況下,此字串為空。 |
save_as_pdfa | boolean | 將修改後的 PDF 儲存為符合 PDF/A-3 標準。預設情況下,這設置為 False。 |
save_as_pdfua | boolean | 將修改後的 PDF 儲存為符合 PDF/UA 標準。預設情況下,這設置為 False。 |
可選的標頭參數
| 名稱 | 資料型別 | 描述 |
|---|---|---|
author | string | 用於識別您為 PDF 文件的作者。預設情況下,此字段為空。 |
title | string | 顯示 PDF 文件的標題。預設情況下,此字段為空。 |
subject | string | 用於一目瞭然地識別 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應用程式中。





