在商業文檔中替換文本是一項常見任務。本文將解釋如何使用AI和C#在PDF文檔中查找和替換內容。您將學到如何應用自訂編輯並整合AI來修改PDF內容。
本文涵蓋以下主題:
GroupDocs.Redaction的替換文本功能
GroupDocs.Redaction允許您在各種支援的文件格式中替換文本。此方法依賴於正則表達式來識別需要替換的文本。然而,處理正則表達式可能需要額外的努力,特別是在更複雜的場景下。如需更多資訊,請參閱我們的文檔。
使用AI工具透過C#編輯PDF的步驟
您可以使用此功能來隱藏敏感信息或從模板生成自訂文檔。以下步驟顯示如何在.NET應用程式中使用AI替換PDF文檔中的特定文本。
- 加載PDF文件,使用Redactor類。
- 提供自訂編輯處理程序,通過實現ICustomRedactionHandler接口來提供您的AI邏輯。
- 處理文檔文本,使用PageAreaRedaction以及ReplacementOptions。
- 應用編輯,使用Apply()方法。
- 保存處理過的文檔到新的位置,使用Save()方法。
使用GroupDocs.Redaction功能的常見C#代碼
以下代碼使用AI來查找和替換文檔中的信用卡號碼。 這段代碼片段包括初始化Redactor並通過調用Apply()方法應用編輯的主方法。
public async Task Redaction_Custom_AI()
{
// 通常這個正則表達式用於查找替換的文本
// 要提供所有可能的自訂編輯文本,請使用如示例中的正則表達式
Regex regex = new Regex(".*");
// 定義目標頁面和替換文本的編輯選項
ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
optionsText.Filters = new RedactionFilter[] {
new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
};
// 提供自訂編輯處理程序的實現
optionsText.CustomRedaction = new TextRedactor() { Test = this };
var textRedaction = new PageAreaRedaction(regex, optionsText);
var redactions = new Redaction[] { textRedaction };
// 處理文檔
using (var redactor = new Redactor("source.pdf"))
{
// 對文檔應用編輯
RedactorChangeLog result = redactor.Apply(redactions);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
}
}
}
自訂編輯C#代碼
ICustomRedactionHandler的實現允許用戶為PDF文件中編輯文本段落定義自己的邏輯。使用這些類可以實現根據特定商業需求量身定制的靈活算法。
public class TextRedactor : ICustomRedactionHandler
{
public Redaction_Custom Test { get; set; }
public CustomRedactionResult Redact(CustomRedactionContext context)
{
CustomRedactionResult result = new CustomRedactionResult();
if (!String.IsNullOrEmpty(context.Text))
{
var response = Process_AI(context.Text, "[redacted-custom]").GetAwaiter().GetResult();
if (response.Result != "none")
{
result.Apply = true;
result.Text = response.Result;
}
}
return result;
}
}
AI提示示例
最後一部分是AI整合代碼。提供的提示相當複雜,並非所有AI工具都能處理敏感數據,如信用卡號碼。
public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
string prompt =
"嘿,我這裡有一份文檔。 " +
"你能幫我替換掉任何看起來像數字區塊的部分,比如'XXXX-'嗎? " +
"這些區塊只是數字和破折號。 " +
"每一個我想替換的條目可能有一到四個這樣的區塊。 " +
$"請在文本中將整個區塊替換為'{replacement}'。 " +
"我不需要你的任何評論。 " +
"僅返回替換條目的文本或如果沒有內容要替換則僅返回'none' " +
$"這是要處理的文本 \n\n {text}";
// 使用者AI整合代碼,取決於所使用的AI工具
return await RequestToAI(prompt);
}
上述代碼的輸出如下:
結論
在本文中,我們學習了如何使用自訂編輯和AI整合來處理PDF文檔。AI工具可以大大簡化文本處理,但可能需要較長時間,並且較常規工具的預測性較低。
如需了解有關我們產品的更多信息,請訪問我們的文檔。如果您有任何疑問,請通過論壇與我們聯繫。
嘗試我們的免費網頁應用
使用我們的在線網頁應用程序探索GroupDocs.Redaction的功能。可直接在您的瀏覽器中測試核心功能,無需安裝任何東西。