Нам часто приходится скрывать конфиденциальную и секретную информацию в документах. В других статьях мы обсуждали различные стратегии поиска слов и даже поиск синонимов в нескольких документах. В этой статье рассказывается о том, как редактировать текст PDF и текст в изображениях в документе с помощью C#.

Ниже будут рассмотрены следующие темы:

.NET API для редактирования текста и изображений

GroupDocs.Redaction предоставляет API для редактирования документов .NET, который позволяет скрывать и удалять конфиденциальную информацию в документах различных форматов файлов. Наряду с простым редактированием текста и растеризацией, API также позволяет идентифицировать текст в изображениях, которые могли быть внутри любого документа, например наиболее часто используемые отсканированные PDF-файлы. Полный список поддерживаемых форматов файлов доступен в документации.

Вы можете загрузить DLL или MSI установщик из раздела загрузок или установить API в свое приложение .NET через NuGet.

Установить через консоль диспетчера пакетов

PM> Install-Package GroupDocs.Redaction

Установить через диспетчер пакетов NuGet

GroupDocs.Redaction — пакет NuGet — установка

Редактировать текст PDF и текст отсканированного изображения с помощью C#

Существует множество различных способов поиска и замены текста в документах, которые уже обсуждались. Вы можете найти определенные слова в любом документе, найти с учетом регистра или с помощью регулярных выражений. Я буду использовать следующий PDF-документ, который содержит текст, а также изображение с текстом. Здесь мы объединим процесс распознавания и редактирования с помощью GroupDocs.Redaction for .NET. Во-первых, мы идентифицируем текст в документе, а также текст, который находится внутри изображения документа. Во-вторых, мы покроем его черным ящиком, чтобы продемонстрировать, как программно скрыть любую юридическую или конфиденциальную информацию, даже если она представлена в виде текста в отсканированном изображении документа.

PDF с текстом и отсканированным изображением

Следующие шаги обнаружат и заменят текст в документе PDF, который содержит обычный текст вместе с некоторым текстом во встроенном изображении.

  • Подготовьте настройки редактора с помощью любого OCR Connector.
  • Загрузите документ PDF с помощью класса Редактор с подготовленными настройками и любыми специфическими параметрами загрузки.
  • Определить вариант замены. Я определил, чтобы затемнить текст.
  • Для редактирования текста используйте соответствующую стратегию выделения текста. Я использовал RegEx.
  • Примените исправления, используя метод Apply.
  • Сохраните отредактированный документ методом Сохранить.

Следующий исходный код редактирует выделенный текст в документе PDF с помощью C#.

// Редактировать текст в PDF и текст в изображении, как отсканированный документ, с помощью С#
var settings = new RedactorSettings(new AsposeOCRStandaloneConnector(@"LICENSE_PATH"));
using (var redactor = new Redactor(@"path/document.pdf", new LoadOptions(), settings))
{
    var marker = new ReplacementOptions(Color.Black);
    var redactions = new Redaction[] {
        new RegexRedaction(@"(?<=Dear\s+)([^,]+)", marker), // Card Holder Name
        new RegexRedaction(@"\d{2}/\d{2}", marker), // Valid Thru
        new RegexRedaction(@"\d{4}", marker)  // Card Number
    };
    var result = redactor.Apply(redactions);
    if (result.Status != RedactionStatus.Failed)
    {
        redactor.Save(new SaveOptions(false, "OnPremise"));
    }
}

Вывод приведенного выше кода выглядит следующим образом: выделенный текст документа PDF затемняется.

Редактировать текст PDF и текст отсканированного изображения

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

Подводя итог, вы научились редактировать текст в документах. Что еще более важно и точно, мы обсудили, как редактировать текст в изображениях в документе PDF с помощью C#. Мы выбрали текст для редактирования с помощью регулярных выражений, однако его можно выбрать многими различными способами, как обсуждалось ранее. Позже мы затемняем результаты поиска, используя черный прямоугольник над искомым текстом.

Чтобы узнать больше об API, посетите документацию. По вопросам обращайтесь к нам через форум.

Смотрите также