How to Redact Text in C# PDF with IronSecureDoc
本文將探討如何使用 IronSecureDoc 對 PDF 文件中的文字進行遮蔽處理。 這使得服務或流程能透過向正在運行的 IronSecureDoc 伺服器發送包含 PDF 的簡單 POST 請求,快速且輕鬆地遮蔽敏感資訊。 我們將透過 Swagger 文件進行視覺化示範。 POST 請求同時接受必填與選填參數,且具備高度可自訂性; 回傳的 PDF 檔案中,相關文字已遭遮蔽。
如何使用 IronSecureDoc 對 PDF 中的文字進行遮蔽
- 拉取並啟動 IronSecureDoc Docker 映像檔
- 使用 Swagger 測試 API
- 請指定需遮蔽的文字
- 使用提供的詳細資訊執行 API 呼叫
- 匯出經刪節處理的 PDF 文件
拉取並啟動 IronSecureDoc
若您尚未執行 IronSecureDoc,請點擊下方連結進行設定:
| 本地部署 | 部署至雲端 |
|---|---|
[POST] 文字遮蔽 API
[POST] Redact Text 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: 我們
上傳範例 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 解讀為 Invoke-WebRequest 的別名,後者是 PowerShell 的內建 cmdlet。 請嘗試使用 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,表示所有頁面中的指定WORD都會被遮蔽。 |
draw_black_box | 布林值 | 可讓您指定是否要在遮蔽的文字上方繪製黑色方框。預設情況下,此值設定為 True. |
match_whole_word | 布林值 | 指定是否應將單字內的局部匹配內容一併遮蔽。例如,若提供的單字為"are",任何包含"are"的單字(如"hare")中的"are"也會被遮蔽。預設值為 True. |
match_case | 布林值 | 指定提供的WORD是否需在大小寫方面完全匹配。預設值為 null。注意:若將此設定為 True 表示不會匹配大小寫不同的字串。例如,若提供的單字為"WE",則小寫版本"we"將不會被遮蔽。 |
overlay_text | string | 此參數指定覆蓋在遮蔽文字上的文字(例如單字或符號)。預設情況下,此字串為空。 |
save_as_pdfa | 布林值 | 將修改後的 PDF 儲存為符合 PDF/A-3 標準的檔案。預設情況下,此設定為 False. |
save_as_pdfua | 布林值 | 將修改後的 PDF 儲存為符合 PDF/UA 標準的檔案。預設設定為 False. |
可選的標頭參數
| 名稱 | 資料類型 | 描述 |
|---|---|---|
作者 | string | 有助於識別您為 PDF 文件的作者。預設情況下,此欄位為空。 |
標題 | string | 顯示 PDF 文件的標題。預設情況下,此欄位為空。 |
主題 | string | 有助於快速識別 PDF 文件的內容。預設情況下,此欄位為空。 |
常見問題
如何使用 POST 請求在 PDF 中遮蔽文字?
您可以透過向 IronSecureDoc 伺服器發送 POST 請求,並附上 PDF 檔案及欲遮蔽的文字,來對 PDF 中的文字進行遮蔽。伺服器會處理該請求,並返回一份文字已被遮蔽的 PDF 檔案。
使用 IronSecureDoc API 進行 PDF 遮蔽處理的步驟為何?
若要使用 IronSecureDoc API 進行 PDF 遮蔽處理,您應先拉取並啟動 IronSecureDoc Docker 映像檔,透過 Swagger 測試 API,指定需遮蔽的文字,執行 API 呼叫,最後匯出經過遮蔽處理的 PDF 文件。
如何在正式環境中使用 IronSecureDoc API 之前進行測試?
您可以透過存取 Swagger UI 來測試 IronSecureDoc API,該介面允許您使用提供的端點來模擬資料遮蔽流程。
在 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 6–9 等舊版之外,也相容於 .NET 10。這確保您能將遮蔽功能及相關 API 無縫整合至 .NET 10 應用程式中。





