Как использовать GroupDocs для OCR‑индексации в Java с Aspose

В этом руководстве вы узнаете как использовать GroupDocs для добавления поиска на основе OCR в ваши Java‑приложения. Комбинируя GroupDocs.Search с Aspose.OCR, вы можете преобразовать контент, представленный в виде изображений, в поисковый текст, делая системы управления документами гораздо более полезными. Мы пройдем настройку, индексацию, поиск и пользовательскую интеграцию OCR, предоставив понятные пошаговые примеры.

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

  • Какая библиотека обеспечивает OCR‑индексацию? GroupDocs.Search в паре с Aspose.OCR.
  • Какая версия Java требуется? JDK 8 или выше.
  • Нужна ли лицензия? Доступна бесплатная пробная версия; платная лицензия требуется для продакшн‑использования.
  • Можно ли индексировать как отдельные, так и встроенные изображения? Да, включите обе опции в IndexingOptions.
  • Поддерживается ли многопоточность? Да, индексацию можно параллелизировать для больших наборов данных.

Что такое OCR‑индексация с GroupDocs?

OCR‑индексация извлекает текст из изображений (включая отсканированные PDF) и сохраняет его в поисковом индексе. GroupDocs.Search отвечает за индексацию и выполнение запросов, а Aspose.OCR выполняет собственно распознавание символов.

Почему стоит использовать GroupDocs для OCR‑индексации в Java?

  • Высокая точность благодаря продвинутому OCR‑движку Aspose.
  • Бесшовная интеграция с Java через Maven или прямые JAR‑файлы.
  • Гибкая конфигурация для отдельных и встроенных изображений.
  • Масштабируемая производительность с поддержкой многопоточности и оптимизаций памяти.

Требования

  • GroupDocs.Search ≥ 25.4
  • Aspose.OCR (последняя версия)
  • JDK 8+ и IDE (IntelliJ, Eclipse, NetBeans)
  • Базовые знания Java; Maven полезен, но не обязателен

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

Использование Maven

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

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/search/java/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>25.4</version>
    </dependency>
</dependencies>

Прямая загрузка

Или скачайте последнюю версию GroupDocs.Search для Java с GroupDocs releases.

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

  • Бесплатная пробная версия – исследуйте все функции без оплаты.
  • Временная лицензия – продлённый тестовый период.
  • Покупка – требуется для продакшн‑развёртываний.

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

Создайте папку индекса и инициализируйте объект Index:

import com.groupdocs.search.Index;
// Specify the directory where the index will be stored.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/OcrSupport";
// Create an instance of Index class at the specified location.
Index index = new Index(indexFolder);

Как использовать GroupDocs для OCR‑индексации

Создание индекса

Сначала настройте папку, в которой будут храниться файлы индекса:

String indexFolder = "YOUR_OUTPUT_DIRECTORY/OcrSupport";
Index index = new Index(indexFolder);

Настройка параметров OCR‑индексации

Включите OCR для отдельных и встроенных изображений и подключите пользовательский OCR‑коннектор:

import com.groupdocs.search.options.IndexingOptions;
IndexingOptions options = new IndexingOptions();
options.getOcrIndexingOptions().setEnabledForSeparateImages(true);
options.getOcrIndexingOptions().setEnabledForEmbeddedImages(true);
// Set a custom OCR connector.
options.getOcrIndexingOptions().setOcrConnector(new OcrConnector());

Индексация документов

Добавьте исходные документы (PDF, Word, изображения и т.д.) в индекс:

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder, options);

Поиск в индексе

Выполните поисковый запрос по проиндексированному контенту:

import com.groupdocs.search.results.SearchResult;
String query = "water";
SearchResult result = index.search(query);

Реализация OCR‑коннектора

Используйте Aspose.OCR для распознавания текста из изображений. Реализуйте интерфейс IOcrConnector, как показано:

import com.groupdocs.search.options.IOcrConnector;
import com.groupdocs.search.options.OcrContext;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import com.aspose.ocr.AsposeOCR;

public class OcrConnector implements IOcrConnector {
    @Override
    public final String recognize(OcrContext context) {
        if (null == context.getImageLocation()) {
            throw new RuntimeException("The image type is not supported: " + context.getImageLocation());
        }
        
        BufferedImage image = ImageIO.read(context.getImageLocation().toFile());
        AsposeOCR api = new AsposeOCR();
        String text = api.RecognizePage(image);
        return text;
    }
}

Практические применения

  1. Системы управления документами – быстрый поиск документов, содержащих отсканированные изображения.
  2. Архивный поиск – нахождение исторических записей в огромных архивах.
  3. Анализ юридических документов – поиск по контрактам и доказательствам, включающим сканированные подписи или схемы.
  4. Поиск в медицинских записях – индексация форм пациентов, лабораторных результатов и аннотаций к рентгеновским снимкам.

Соображения по производительности

  • Размер индекса – исключайте ненужные метаданные, чтобы индекс оставался компактным.
  • Многопоточность – обрабатывайте большие партии параллельно для ускорения индексации.
  • Управление памятью – следите за кучей JVM при работе с изображениями высокого разрешения.

Распространённые проблемы и решения

  • Ошибки лицензии – убедитесь, что правильный файл лицензии размещён в рабочем каталоге приложения.
  • Отсутствие изображений – проверьте доступность путей к изображениям и поддерживаемые форматы (PNG, JPEG, BMP).
  • Out‑Of‑Memory – увеличьте размер кучи JVM (-Xmx) или обрабатывайте документы небольшими партиями.

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

В: Как решить проблемы с лицензированием GroupDocs.Search?
О: Получите временную лицензию на сайте GroupDocs, чтобы разблокировать все функции.

В: Как лучше всего обрабатывать индексацию больших объёмов документов?
О: Используйте многопоточность и пакетную обработку для повышения производительности и снижения нагрузки на память.

В: Можно ли дополнительно настроить параметры OCR в GroupDocs.Search?
О: Да, IndexingOptions позволяет тонко настраивать поведение OCR, например, выбор языка и предобработку изображений.

В: Какие типичные советы по устранению неполадок при работе с GroupDocs.Search?
О: Проверьте пути к каталогам, убедитесь, что все зависимости присутствуют, и изучите вывод логов на предмет отсутствующих файлов.

В: Как интегрировать Aspose.OCR в существующее Java‑приложение?
О: Реализуйте интерфейс IOcrConnector, как показано выше, и корректно обрабатывайте ввод изображений.

Ресурсы


Последнее обновление: 2026-01-11
Тестировано с: GroupDocs.Search 25.4, Aspose.OCR последняя версия
Автор: GroupDocs