我們可以對圖像或掃描文檔執行 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) 方法將文檔保存為 純文本、PDF 或 Microsoft Word 文檔。 SpellCheckLanguage 枚舉中定義了所有支持的拼寫檢查語言。
請下載 API 的 JAR 或在基於 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
獲得免費評估許可證
您可以獲得免費的臨時許可證 試用 Aspose.OCR for Java,而沒有評估限制。
結論
在本文中,我們學習瞭如何:
- 執行 OCR 並識別圖像上的文本;
- 將圖像轉換為文本;
- 獲取拼寫錯誤的單詞列表以及正確的單詞建議;
- 自動更正拼寫錯誤;
- 使用 Java 保存更正後的文本。
除了使用拼寫更正將圖像轉換為文本外,您還可以使用 文檔 了解有關 Aspose.OCR for Java API 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。