模板廣泛用於生成定製文檔。本文介紹如何使用 C# 查找和替換 PDF 文檔中的文本和單詞。我們將單獨討論如何以編程方式替換單詞和短語、使用區分大小寫的搜索替換單詞、使用正則表達式替換。最後,我們還將學習如何使用 C# 隱藏搜索到的字符串。
下面將涵蓋以下主題:
用於替換文本的 .NET 編輯 API
GroupDocs 展示了適用於 GroupDocs.Redaction for .NET,該 API 用於編輯、隱藏或刪除內容,甚至是 .NET 應用程序中文檔、演示文稿、電子表格、PDF 文件和圖像的元數據。有關 API 的更多詳細信息,請訪問其文檔。
您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 NuGet 在您的 .NET 應用程序中安裝 API /packages/groupdocs.redaction)。
PM> Install-Package GroupDocs.Redaction
無需安裝任何 PDF 編輯器或任何其他第三方軟件進行編輯。以下是以下示例中使用的 PDF 文檔的屏幕截圖。相同的方法適用於其他文檔格式,幾乎不需要更改代碼。
使用 C# 在 PDF 中查找和替換單詞或短語
您可以使用此功能隱藏任何機密數據,還可以從模板創建新的自定義文檔。以下步驟解釋瞭如何在 C# 應用程序中查找 PDF 文檔中的任何單詞/短語以及其他一些文本。
- 使用 Redactor 類加載 PDF 文件。
- 使用 ExactPhraseRedaction 和 ReplacementOptions。
- 使用 Apply() 方法應用密文。
- 使用 Save() 方法保存包含更改的新文檔。
以下代碼在 C# 中查找並替換該詞。更準確地說,它通過用單詞“[censored]”替換它來隱藏所有出現的“John Doe”。
// 使用 C# 查找確切的短語並將其替換為其他文本
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}
代碼的輸出如下。
使用 C# 在 PDF 中查找和替換區分大小寫的文本或短語
您可以執行區分大小寫的搜索和編輯。下面的代碼替換了 C# 中區分大小寫的單詞“John Doe”而不是“john doe”。
// 查找確切的短語(區分大小寫)並使用 C# 將其替換為其他文本
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}
代碼的輸出如下。
使用 C# 將 PDF 中的文本替換為正則表達式 (RegEx)
您還可以使用正則表達式替換任何特定的文本模式。以下步驟允許您在搜索後使用 .NET 應用程序中的正則表達式 (RegEx) 編輯 PDF。
- 使用 Redactor 類加載 PDF 文檔。
- 使用 RegexRedaction 類和 [ReplacementOptions](https://apireference.groupdocs.com/redaction/ net/groupdocs.redaction.redactions/replacementoptions)。
- 使用 Apply() 方法對文檔進行更改。
- 使用適當的 Save() 方法保存編輯文檔。
下面的代碼展示瞭如何使用 RegEx 在 PDF 文檔中找到特定的文本模式,然後使用 C# 將其替換/隱藏為其他文本。
// 使用正則表達式查找文本並使用 C# 將其替換為其他文本
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}
上述代碼的輸出如下。
用 C# 中的彩色框替換文本
如果您只是想隱藏您的 PDF 文件的搜索內容(私人信息),您可以簡單地在上面蓋上一個封面。 API 允許您隱藏搜索到的文本。以下 C# 代碼將黑色矩形放置在提到的私有文本上。
// 在 PDF 中查找文本並使用 C# 在其上繪製矩形來隱藏它
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}
上述代碼的輸出如下。
獲取免費的 API 許可證
您可以 獲得免費的臨時許可證 以便在不受評估限制的情況下使用 API。
結論
總而言之,我們學習瞭如何使用不同的搜索技術在 PDF 文件中查找特定文本。稍後我們討論瞭如何通過使用 C# 替換或隱藏 .NET 應用程序中的文本來編輯 PDF 文件。更準確地說,我們只是搜索單詞、短語,搜索區分大小寫,並使用 C# 中的正則表達式。最後,我們用其他文本替換了搜索結果,或者用一個矩形框將其隱藏起來。
有關 API 的更多詳細信息,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。