Замінити текст у бізнес-документах – це поширене завдання. У цій статті розглядається як знайти та замінити вміст у PDF-документах, використовуючи AI і C#. Ви дізнаєтеся, як застосовувати нестандартні редації та інтегрувати AI для модифікації вмісту PDF.

У цій статті розглядаються такі теми:

Функція GroupDocs.Redaction для заміни тексту

GroupDocs.Redaction дозволяє замінювати текст в різних підтримуваних форматах файлів. Цей метод спирається на регулярні вирази для ідентифікації тексту, який потрібно замінити. Однак робота з регулярними виразами може вимагати додаткових зусиль, особливо в більш складних сценаріях. Для отримання додаткової інформації дивіться нашу документацію.

Кроки для редагування PDF за допомогою AI-інструментів через C#

Ви можете використовувати цю функцію для приховування чутливої інформації або для створення кастомізованого документа з шаблону. Наступні кроки показують, як використовувати AI для заміни конкретного тексту в PDF-документі в рамках .NET-застосунку.

  • Завантажте PDF-файл за допомогою класу Redactor.
  • Надайте кастомізований обробник редацій шляхом реалізації вашої AI-логіки через інтерфейс ICustomRedactionHandler.
  • Обробіть текст документа, використовуючи PageAreaRedaction разом із ReplacementOptions.
  • Застосуйте редацію за допомогою методу Apply().
  • Збережіть оброблений документ у новому місці, використовуючи метод Save().

Загальний код C# для використання функціональності GroupDocs.Redaction

Наступний код використовує AI для знаходження та заміни номерів кредитних карток у документі. Цей фрагмент коду містить основний метод, який ініціалізує Redactor і застосовує редації, викликавши метод Apply().

public async Task Redaction_Custom_AI()
{
    // Зазвичай цей regex використовується для знаходження тексту для заміни
    // Щоб надати всі можливі тексти для нестандартної редації, використовуйте regex, як у прикладі
    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 за допомогою нашого онлайн веб-застосунку. Тестуйте основні функції безпосередньо у вашому браузері без установки чого-небудь.

Також дивіться