Замена текста в деловых документах - это распространенная задача. Эта статья объясняет как находить и заменять содержимое в PDF документах с использованием ИИ и C#. Вы узнаете, как применять пользовательские редактирования и интегрировать ИИ для изменения содержимого PDF.
В этой статье рассматриваются следующие темы:
- Обычный способ замены текста
- Шаги для редактирования PDF с использованием инструментов ИИ через C#
- Общий код C# для использования функциональности GroupDocs.Redaction
- Код пользовательского редактирования на C#
- Пример запроса для ИИ
Функция GroupDocs.Redaction для замены текста
GroupDocs.Redaction позволяет замещать текст в различных поддерживаемых форматах файлов. Этот метод основан на регулярных выражениях для идентификации текста, который необходимо заменить. Однако работа с регулярными выражениями может требовать дополнительных усилий, особенно в более сложных ситуациях. Для получения дополнительной информации см. нашу документацию.
Шаги для редактирования PDF с использованием инструментов ИИ через C#
Вы можете использовать эту функцию для скрытия конфиденциальной информации или для создания кастомизированного документа из шаблона. Следующие шаги демонстрируют, как использовать ИИ для замены конкретного текста в PDF документе в рамках приложения .NET.
- Загрузите PDF файл, используя класс Redactor.
- Предоставьте пользовательский обработчик редактирования, реализовав вашу логику ИИ через интерфейс ICustomRedactionHandler.
- Обработайте текст документа, используя PageAreaRedaction в сочетании с ReplacementOptions.
- Примените редактирование, используя метод Apply().
- Сохраните обработанный документ в новое место, используя метод Save().
Общий код C# для использования функциональности GroupDocs.Redaction
Следующий код использует ИИ для нахождения и замены номеров кредитных карт в документе. Этот фрагмент кода включает основной метод, который инициализирует 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;
}
}
Пример запроса для ИИ
Финальная часть - это код интеграции ИИ. Предоставленный запрос довольно сложный, так как не все инструменты ИИ могут обрабатывать конфиденциальные данные, такие как номера кредитных карт.
public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
string prompt =
"Привет, у меня есть часть документа. " +
"Не мог бы ты помочь мне заменить любые части, которые выглядят как цифровые блоки, такие как 'XXXX-'? " +
"Эти блоки - просто цифры и дефисы. " +
"Каждый элемент, который я хочу заменить, может содержать от одного до четырех таких блоков. " +
$"Пожалуйста, замените весь блок на '{replacement}' в тексте. " +
"Мне не нужны твои комментарии. " +
"Верните в качестве результата только текст с замененными элементами или просто слово 'none', если ничего не нужно заменять. " +
$"Вот текст, с которым нужно работать \n\n {text}";
// Код интеграции ИИ, который зависит от используемого инструмента ИИ
return await RequestToAI(prompt);
}
Результат кода выше выглядит следующим образом:

Заключение
В этой статье мы узнали, как использовать пользовательские редактирования и интеграции ИИ для обработки PDF. Инструменты ИИ могут значительно упростить обработку текста, но могут занять больше времени и быть менее прогнозируемыми по сравнению с обычными инструментами.
Для получения дополнительной информации о нашем продукте посетите документацию. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам через форум.
Попробуйте наше бесплатное веб-приложение
Изучите возможности GroupDocs.Redaction, используя наше онлайн веб-приложение. Протестируйте основные функции прямо в вашем браузере, не устанавливая ничего.