Việc thay thế văn bản trong các tài liệu kinh doanh là một nhiệm vụ phổ biến. Bài viết này giải thích cách tìm và thay thế nội dung trong tài liệu PDF bằng cách sử dụng AI và C#. Bạn sẽ học cách áp dụng các biện pháp xóa tùy chỉnh và tích hợp AI để thay đổi nội dung PDF.

Các chủ đề sau sẽ được đề cập trong bài viết này:

Tính năng GroupDocs.Redaction để Thay thế Văn bản

GroupDocs.Redaction cho phép bạn thay thế văn bản trong nhiều định dạng tệp được hỗ trợ khác nhau. Phương pháp này dựa vào biểu thức chính quy để xác định văn bản cần thay thế. Tuy nhiên, làm việc với biểu thức chính quy có thể yêu cầu nỗ lực thêm, đặc biệt trong các tình huống phức tạp hơn. Để biết thêm thông tin, hãy xem tài liệu.

Các bước xóa PDF sử dụng công cụ AI qua C#

Bạn có thể sử dụng tính năng này để ẩn thông tin nhạy cảm hoặc tạo ra tài liệu tùy chỉnh từ một mẫu. Các bước sau đây cho thấy cách sử dụng AI để thay thế văn bản cụ thể trong tài liệu PDF trong một ứng dụng .NET.

  • Tải tệp PDF bằng cách sử dụng lớp Redactor.
  • Cung cấp một bộ xử lý xóa tùy chỉnh bằng cách triển khai logic AI của bạn thông qua giao diện ICustomRedactionHandler.
  • Xử lý nội dung tài liệu, sử dụng PageAreaRedaction cùng với ReplacementOptions.
  • Áp dụng biện pháp xóa bằng cách sử dụng phương thức Apply().
  • Lưu tài liệu đã xử lý vào một vị trí mới bằng cách sử dụng phương thức Save().

Mã C# chung để sử dụng chức năng GroupDocs.Redaction

Mã sau đây sử dụng AI để tìm và thay thế các số thẻ tín dụng trong một tài liệu. Đoạn mã này bao gồm phương thức chính khởi tạo Redactor và áp dụng các biện pháp xóa bằng cách gọi phương thức Apply().

public async Task Redaction_Custom_AI()
{
    // Thông thường, regex này được sử dụng để tìm văn bản để thay thế
    // Để cung cấp tất cả các văn bản có thể cho việc xóa tùy chỉnh, sử dụng regex như trong ví dụ
    Regex regex = new Regex(".*");

    // Định nghĩa các trang mục tiêu và văn bản thay thế cho các biện pháp xóa
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };

    // Cung cấp một triển khai bộ xử lý xóa tùy chỉnh
    optionsText.CustomRedaction = new TextRedactor() { Test = this };

    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };

    // Xử lý tài liệu
    using (var redactor = new Redactor("source.pdf"))
    {
        // Áp dụng các biện pháp xóa cho tài liệu
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}

Mã C# cho biện pháp xóa tùy chỉnh

Việc triển khai ICustomRedactionHandler cho phép người dùng xác định logic riêng của họ để xóa các đoạn văn bản trong các tệp PDF. Sử dụng các lớp như vậy cho phép các thuật toán linh hoạt được điều chỉnh cho những nhu cầu kinh doanh cụ thể.

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;
    }
}

Ví dụ về lời nhắc AI

Phần cuối là mã tích hợp AI. Lời nhắc được cung cấp là khá tinh vi, vì không phải tất cả các công cụ AI đều có thể xử lý dữ liệu nhạy cảm, chẳng hạn như số thẻ tín dụng.

public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "Chào, tôi có một phần tài liệu ở đây. " +
        "Bạn có thể giúp tôi thay thế bất kỳ phần nào trông giống như các khối số, chẳng hạn như 'XXXX-' không? " +
        "Những khối này chỉ là số và dấu gạch nối. " +
        "Mỗi mục mà tôi muốn thay thế có thể có từ một đến bốn khối như vậy. " +
        $"Vui lòng thay thế toàn bộ khối bằng '{replacement}' trong văn bản. " +
        "Tôi không cần bất kỳ bình luận nào của bạn. " +
        "Trả về kết quả chỉ là văn bản với các mục đã được thay thế hoặc chỉ từ 'none' nếu không có gì để thay thế " +
        $"Đây là văn bản để làm việc với \n\n {text}";

    // Mã tích hợp AI của người dùng, phụ thuộc vào công cụ AI được sử dụng
    return await RequestToAI(prompt);
}

Đầu ra của đoạn mã trên là như sau:

Kết luận

Trong bài viết này, chúng ta đã học cách sử dụng các biện pháp xóa tùy chỉnh và tích hợp AI để xử lý PDF. Các công cụ AI có thể làm đơn giản hóa việc xử lý văn bản nhưng có thể mất nhiều thời gian và ít dự đoán hơn so với các công cụ thông thường.

Để biết thêm thông tin về sản phẩm của chúng tôi, hãy truy cập tài liệu. Nếu bạn có bất kỳ câu hỏi nào, hãy liên hệ với chúng tôi qua diễn đàn.

Thử ứng dụng web miễn phí của chúng tôi

Khám phá khả năng của GroupDocs.Redaction bằng cách sử dụng ứng dụng web trực tuyến. Kiểm tra các tính năng chính trực tiếp trên trình duyệt mà không cần cài đặt bất cứ thứ gì.

Xem Thêm