我们可以对图像或扫描的文档执行 OCR,以使用 Java 以编程方式从图像中识别和提取文本。然后,我们可以运行拼写检查器来纠正已识别文本中的拼写错误。在本文中,我们将学习如何在 Java 中通过拼写纠正将图像转换为文本。
本文将涵盖以下主题:
带有拼写校正的 Java 图像到文本转换器
要将图像转换为带有拼写更正的文本,我们将使用 Aspose.OCR for Java API。它允许对扫描的图像、智能手机照片、屏幕截图、图像区域和扫描的 PDF 执行 OCR。它使我们能够将识别的文本结果保存为流行的文档格式。该 API 还允许将图像转换为文本并自动更正已识别文本中的拼写错误。
AsposeOCR 类是执行 OCR 操作的主要 API。此类的 RecognizePage(String fullPath, RecognitionSettings settings) 方法可识别 支持的格式 图像上的文本。 API 的 CorrectSpelling(String text, SpellCheckLanguage language) 方法将文本中的拼写错误的单词替换为正确的单词。 RecognitionResult 类表示图像识别的结果。此类的 saveSpellCheckCorrectedText(string, Format, SpellCheckLanguage, string) 方法将文档保存为 plain text、PDF 或 Microsoft Word Document。所有支持的拼写检查语言都在 SpellCheckLanguage 枚举中定义。
请下载 JAR API 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>22.6</version>
</dependency>
OCR 图像到文本并在 Java 中获取拼写错误
我们可以按照以下步骤对图像执行 OCR 并获取已识别文本中的拼写错误列表:
- 首先,创建 AsposeOCR 类的实例。
- 接下来,初始化 RecognitionSettings 类的对象。
- 然后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
- 之后,调用 getSpellCheckErrorList() 方法以获取包含建议的拼写错误单词列表。
- 最后,遍历 SpellCheckError 列表并显示结果。
以下示例代码显示了如何从 Java 中识别的文本中获取拼写错误列表。
// 此代码示例演示如何从已识别文本中获取拼写错误列表
String imagePath = "C:\\Files\\sample.jpg";
// 创建 OCR API
AsposeOCR api = new AsposeOCR();
// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();
// 识别图像
RecognitionResult result = api.RecognizePage(imagePath, settings);
// 获取带有建议的拼写错误单词列表
List<SpellCheckError> errorsList = result.getSpellCheckErrorList(SpellCheckLanguage.Eng);
for (SpellCheckError error : errorsList)
{
// 显示单词
System.out.println("Misspelled Word - " + error.word);
// 显示建议字词
for(SuggestedWord suggest : error.suggestedWords)
{
System.out.println("Suggested word - " + suggest.word);
}
System.out.println();
}
在 Java 中使用拼写更正将图像转换为文本
我们可以按照以下步骤将图像转换为文本并自动更正拼写错误:
- 首先,创建 AsposeOCR 类的实例。
- 接下来,初始化 RecognitionSettings 类的对象。
- 然后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
- 之后,调用 getSpellCheckCorrectedText() 方法来获取带有拼写纠正的文本。
- 最后,展示结果。
以下示例代码显示了如何从 Java 中识别的文本中自动更正拼写错误。
// 此代码示例演示如何自动更正已识别文本中的拼写错误。
// 要识别的图像路径
String imagePath = "C:\\Files\\sample.jpg";
// 创建 OCR API
AsposeOCR api = new AsposeOCR();
// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();
// 从图像中识别文本
RecognitionResult result = api.RecognizePage(imagePath, new RecognitionSettings());
// 得到更正的结果
String correctedResult = result.getSpellCheckCorrectedText(SpellCheckLanguage.Eng);
// 显示结果
System.out.println(correctedResult);
在 Java 中使用更正的拼写将图像保存为文本
我们可以按照以下步骤在拼写校正后从图像中保存识别的文本:
- 首先,创建 AsposeOCR 类的实例。
- 接下来,初始化 RecognitionSettings 类的对象。
- 之后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
- 最后,调用 saveSpellCheckCorrectedText() 方法保存文本。
以下示例代码显示了如何在 Java 中保存带有拼写纠正的文本。
// 此代码示例演示如何使用拼写更正保存已识别的文本。
// 要识别的图像路径
String imagePath = "C:\\Files\\sample.jpg";
String resultPath = "C:\\Files\\MyResult.txt";
// 创建 OCR API
AsposeOCR api = new AsposeOCR();
// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();
// 从图像中识别文本
RecognitionResult result = api.RecognizePage(imagePath, new RecognitionSettings());
// 保存更正的文本
result.saveSpellCheckCorrectedText(resultPath, Format.Text, SpellCheckLanguage.Eng);
Java 中的拼写检查文本
我们还可以按照以下步骤对自定义文本运行拼写检查:
- 首先,创建 AsposeOCR 类的实例。
- 接下来,调用 CorrectSpelling() 方法。它将要更正的文本和 SpellCheckLanguage 作为参数。
- 最后,展示结果。
以下示例代码显示了如何在 Java 中对自定义文本进行拼写检查。
// 此代码示例演示如何对自定义文本字符串运行拼写检查。
// 拼写检查的文本
String textToCorrect = "This is sample text wth errrors";
// 创建 OCR API
AsposeOCR api = new AsposeOCR();
// 运行拼写检查以纠正错误
String correctedText = api.CorrectSpelling(textToCorrect, SpellCheckLanguage.Eng);
// 显示结果
System.out.println(correctedText);
This is sample text with errors
Get a Free Evaluation License
您可以获得免费的临时许可证 试用 Aspose.OCR for Java,不受评估限制。
Conclusion
在本文中,我们学习了如何:
- 执行 OCR 并识别图像上的文本;
- 将图像转换为文本;
- 获取拼写错误的单词列表以及正确的单词建议;
- 自动更正拼写错误;
- 使用 Java 保存更正后的文本。
除了通过拼写更正将图像转换为文本外,您还可以使用 文档 了解更多关于 Aspose.OCR for Java API 的信息。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。