Замінити текст у бізнес-документах – це поширене завдання. У цій статті розглядається як знайти та замінити вміст у PDF-документах, використовуючи AI і C#. Ви дізнаєтеся, як застосовувати нестандартні редації та інтегрувати AI для модифікації вмісту PDF.
У цій статті розглядаються такі теми:
- Регулярний спосіб заміни тексту
- Кроки для редагування PDF за допомогою AI-інструментів через C#
- Загальний код C# для використання функціональності GroupDocs.Redaction
- Код нестандартної редації C#
- Приклад запиту AI
Функція 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 за допомогою нашого онлайн веб-застосунку. Тестуйте основні функції безпосередньо у вашому браузері без установки чого-небудь.