如何在 Java 中使用 GroupDocs 与 Aspose 进行 OCR 索引

在本指南中,您将了解 如何使用 GroupDocs 为您的 Java 应用程序添加 OCR 驱动的搜索。通过将 GroupDocs.Search 与 Aspose.OCR 结合,您可以将基于图像的内容转换为可搜索的文本,使文档管理系统更加实用。我们将逐步演示设置、索引、搜索以及自定义 OCR 集成,提供清晰的示例。

快速答案

  • 提供 OCR 索引的库是什么? GroupDocs.Search paired with Aspose.OCR.
  • 需要哪个 Java 版本? JDK 8 or higher.
  • 我需要许可证吗? 提供免费试用;生产环境需要付费许可证。
  • 我可以同时索引独立图像和嵌入图像吗? 是的,在 IndexingOptions 中启用两项选项。
  • 是否支持多线程? 是的,您可以对大型数据集进行并行索引。

什么是使用 GroupDocs 的 OCR 索引?

OCR 索引从图像(包括扫描的 PDF)中提取文本并将其存储在可搜索的索引中。GroupDocs.Search 负责索引和查询执行,而 Aspose.OCR 执行实际的字符识别。

为什么在 Java 中使用 GroupDocs 进行 OCR 索引?

  • 高精度,归功于 Aspose 的先进 OCR 引擎。
  • 无缝的 Java 集成,通过 Maven 或直接 JAR。
  • 灵活的配置,适用于独立或嵌入的图像。
  • 可扩展的性能,支持多线程和内存优化。

前置条件

  • GroupDocs.Search ≥ 25.4
  • Aspose.OCR(最新版本)
  • JDK 8+ 和 IDE(IntelliJ、Eclipse、NetBeans)
  • 基本的 Java 知识;Maven 有帮助但不是必需的

为 Java 设置 GroupDocs.Search

使用 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 发布 下载最新版本的 GroupDocs.Search for Java。

获取许可证

  • 免费试用 – 免费探索所有功能。
  • 临时许可证 – 延长的测试期。
  • 购买 – 生产部署所需。

基本初始化和设置

创建索引文件夹并初始化 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. 医疗记录搜索 – 索引患者表格、实验室结果和 X 光注释。

性能考虑因素

  • 索引大小 – 排除不必要的元数据,以保持索引精简。
  • 多线程 – 并行处理大批量以加快索引速度。
  • 内存管理 – 处理高分辨率图像时监控 JVM 堆。

常见问题及解决方案

  • 许可证错误 – 确保正确的许可证文件放置在应用程序的工作目录中。
  • 缺失图像 – 验证图像路径可访问且为支持的格式(PNG、JPEG、BMP)。
  • 内存不足 – 增加 JVM 堆(-Xmx)或将文档分成更小的批次处理。

常见问答

问:如何解决 GroupDocs.Search 的许可证问题?
答:GroupDocs 网站 获取临时许可证,以解锁全部功能。

问:处理大规模文档索引的最佳方法是什么?
答: 利用多线程和批处理来提升性能并降低内存压力。

问:我可以在 GroupDocs.Search 中进一步自定义 OCR 设置吗?
答: 可以,IndexingOptions 允许您微调 OCR 行为,例如语言选择和图像预处理。

问:使用 GroupDocs.Search 时有哪些常见的故障排除技巧?
答: 仔细检查目录路径,确认所有依赖项已存在,并查看日志输出以发现缺失的文件。

问:如何将 Aspose.OCR 集成到现有的 Java 应用程序中?
答: 按照上面的示例实现 IOcrConnector 接口,确保正确处理图像输入。

资源


最后更新: 2026-01-11
测试环境: GroupDocs.Search 25.4,Aspose.OCR 最新版本
作者: GroupDocs