Извлечение текста из отсканированного PDF – Маскирование данных с помощью GroupDocs OCR

В современном мире, ориентированном на данные, извлечение текста из отсканированных PDF файлов и маскирование конфиденциальной информации является обязательным шагом соответствия. Этот учебник покажет, как использовать GroupDocs Redaction совместно с Microsoft Azure OCR для надёжного распознавания скрытого текста на отсканированных страницах и замены его безопасным заполнителем, например [REDACTED]. Вы увидите, почему эта комбинация быстра, точна и готова к нагрузкам производственного уровня.

Быстрые ответы

  • Что означает «маскировать конфиденциальные данные»? Это заменяет обнаруженный конфиденциальный текст заполнителем (например, [REDACTED]).
  • Какая библиотека обрабатывает OCR? Коннектор Microsoft Azure OCR, используемый через GroupDocs Redaction.
  • Нужна ли лицензия? Бесплатная пробная версия подходит для оценки; для производства требуется постоянная лицензия.
  • Могу ли я редактировать отсканированные PDF? Да — OCR извлекает скрытый текст перед применением регекс‑редакций.
  • Это решение только для Java? Пример основан на Java, но GroupDocs предоставляет аналогичные API для .NET и других платформ.

Что такое OCR‑Based Redaction?

OCR‑Based Redaction сначала запускает OCR на каждой странице, преобразуя изображения в индексируемый текст, затем применяет регекс‑шаблоны для замены совпадений маской, такой как [REDACTED]. Этот двухшаговый процесс позволяет надёжно скрывать персональные данные даже в отсканированных PDF, гарантируя, что любые конфиденциальные строки удаляются до того, как документ будет передан или архивирован.

Почему использовать GroupDocs Redaction с Azure OCR?

Вам следует использовать GroupDocs Redaction с Azure OCR, потому что он обеспечивает более 98 % точности OCR для печатного текста, поддерживает более 50 форматов ввода и вывода и может обрабатывать PDF‑файлы со сотнями страниц без загрузки всего файла в память, обеспечивая быструю и масштабируемую редактировку для соответствия требованиям. Решение также масштабируется для обработки PDF‑файла в 1 000 страниц менее чем за 2 минуты на 8‑ядерном сервере, делая пакетные задания практичными.

Предварительные требования

  • Java Development Kit (JDK) 8+ установлен.
  • Maven (если вы предпочитаете управление зависимостями) или возможность скачивать JAR‑файлы вручную.
  • Учётные данные Microsoft Azure OCR (конечная точка и ключ подписки).
  • Базовые знания Java и знакомство с регулярными выражениями.

Настройка GroupDocs Redaction для Java

Настройка Maven

Добавьте репозиторий GroupDocs и зависимость в ваш pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/redaction/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-redaction</artifactId>
      <version>24.9</version>
   </dependency>
</dependencies>

Прямое скачивание

If you prefer manual JAR management, grab the latest release from GroupDocs.Redaction для Java релизов.

Приобретение лицензии

  • Free Trial – изучите все функции бесплатно.
  • Temporary License – продлите время оценки.
  • Full License – разблокировать возможности, готовые к производству.

Базовая инициализация и настройка

Класс Redactor является ядром, которое выполняет извлечение OCR и применяет правила редактирования к PDF‑документам.

import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.RedactorSettings;
import com.groupdocs.redaction.options.LoadOptions;
import com.groupdocs.redaction.examples.java.helper_classes.MicrosoftAzureOcrConnector;

// Initialize the OCR connector with Microsoft Azure
RedactorSettings settings = new RedactorSettings(new MicrosoftAzureOcrConnector());

Как маскировать конфиденциальные данные с помощью OCR Redaction

Маскирование конфиденциальных данных с помощью OCR Redaction включает загрузку PDF с настройками Azure OCR, определение регекс‑шаблонов для данных, которые нужно скрыть, и вызов Redactor для замены каждого совпадения заполнителем, например [REDACTED]. Библиотека обрабатывает OCR, сопоставление шаблонов и перезапись PDF в едином рабочем процессе.

Шаг 1: Загрузка документа с настройками OCR

LoadOptions настраивает, как GroupDocs загружает файл, позволяя передавать OCR‑коннекторы, такие как Azure.

import com.groupdocs.redaction.Redactor;
import com.groupdocs.redaction.options.LoadOptions;

// Load your document with OCR settings
try (Redactor redactor = new Redactor("YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF_FOR_4OCR.pdf", 
    new LoadOptions(), settings)) {
    // Further operations will go here
}
  • YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF_FOR_4OCR.pdf – замените на путь к вашему PDF.
  • settings – содержит Azure OCR коннектор, созданный ранее.

Шаг 2: Определение и применение регекс‑редакций

ReplacementOptions указывает текст замены, который будет подставлен вместо каждого совпадения регекса во время редактирования.

import com.groupdocs.redaction.redactions.RegexRedaction;
import com.groupdocs.redaction.redactions.ReplacementOptions;

// Define the regex for sensitive data (e.g., Social Security Numbers)
RegexRedaction redaction = new RegexRedaction("\\b\\d{3}-\\d{2}-\\d{4}\\b", 
    new ReplacementOptions("[REDACTED]"));

// Apply redaction
redactor.apply(redaction);

// Save the document after redactions
redactor.save(new SaveOptions());
  • Шаблон \b\d{3}-\d{2}-\d{4}\b соответствует номерам социального страхования США.
  • ReplacementOptions("[REDACTED]") заменяет каждое совпадение маской, эффективно маскируя конфиденциальные данные.

Распространённые сценарии использования маскирования конфиденциальных данных

  1. Управление юридическими документами – скрывать идентификаторы клиентов перед обменом черновиками.
  2. Финансовая отчётность – защищать номера счетов и идентификаторы транзакций.
  3. Медицинские записи – соответствовать HIPAA, редактируя идентификаторы пациентов.
  4. Государственные публикации – удалять персональные данные из публичных записей.
  5. Корпоративные контракты – скрывать собственные условия во время внешних проверок.

Советы по производительности

  • Оптимизировать регекс – избегать слишком общих шаблонов, которые увеличивают время обработки; хорошо построенные выражения могут сократить время выполнения до 40 %.
  • Управление памятью – своевременно закрывайте экземпляр Redactor (try‑with‑resources делает это автоматически).
  • Асинхронное выполнение – для массовой обработки запускайте задачи редактирования в отдельных потоках или используйте очередь задач, чтобы UI оставался отзывчивым.

Устранение неполадок

  • Ошибка учётных данных Azure – дважды проверьте URL конечной точки и ключ подписки в MicrosoftAzureOcrConnector.
  • Документ не загружается – проверьте путь к файлу и убедитесь, что PDF не защищён паролем (или передайте пароль через LoadOptions).
  • Редакции не применились – сначала протестируйте ваш регекс на простой строке; используйте Pattern.compile в юнит‑тесте, чтобы подтвердить совпадения.

Часто задаваемые вопросы

Q: Что такое OCR‑редактирование?
A: OCR‑редактирование использует оптическое распознавание символов (Optical Character Recognition) для извлечения скрытого текста из изображений или отсканированных PDF, затем применяет правила редактирования для маскирования этого текста.

Q: Могу ли я использовать GroupDocs Redaction без Azure OCR?
A: Да, но OCR значительно повышает точность в отсканированных документах, где нативное извлечение текста не работает.

Q: Как работать со сложными регекс‑шаблонами?
A: Создавайте и тестируйте их поэтапно, используя класс Java Pattern в песочнице перед применением к большим документам.

Q: Какие типичные узкие места в производительности?
A: Большие PDF, слишком сложные регекс и синхронные вызовы OCR могут замедлять обработку; рассмотрите пакетную обработку и оптимизированные шаблоны.

Q: Доступна ли поддержка по вопросам реализации?
A: Абсолютно — обратитесь через форум GroupDocs за помощью сообщества или свяжитесь со службой поддержки GroupDocs.

Дополнительные ресурсы


Последнее обновление: 2026-06-26
Тестировано с: GroupDocs.Redaction 24.9 (Java)
Автор: GroupDocs

Связанные учебники