在商業文檔中替換文本是一項常見任務。本文將解釋如何使用AI和C#在PDF文檔中查找和替換內容。您將學到如何應用自訂編輯並整合AI來修改PDF內容。

本文涵蓋以下主題:

GroupDocs.Redaction的替換文本功能

GroupDocs.Redaction允許您在各種支援的文件格式中替換文本。此方法依賴於正則表達式來識別需要替換的文本。然而,處理正則表達式可能需要額外的努力,特別是在更複雜的場景下。如需更多資訊,請參閱我們的文檔

使用AI工具透過C#編輯PDF的步驟

您可以使用此功能來隱藏敏感信息或從模板生成自訂文檔。以下步驟顯示如何在.NET應用程式中使用AI替換PDF文檔中的特定文本。

使用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的功能。可直接在您的瀏覽器中測試核心功能,無需安裝任何東西。

參見