如何在 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;
}
}
实际应用
- 文档管理系统 – 快速检索包含扫描图像的文档。
- 档案检索 – 在海量档案中定位历史记录。
- 法律文档分析 – 搜索包含扫描签名或图表的合同和证据。
- 医疗记录搜索 – 索引患者表格、实验室结果和 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