在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
使用 IronOCR 的收據光學字符識別(OCR)對企業和個人來說都是一個變革。這個過程允許您從實體收據中提取重要信息,並將其轉換為數字數據。本文將引導您一步步了解如何使用 IronOCR 最大限度地利用收據。
光學字符識別 (OCR) 是一種技術,讓電腦可以從圖像或掃描的文件中閱讀和理解文本。通過將手寫或打印的文本轉換為機器可讀文本,OCR 使您能夠儲存、處理和分析物理文件中包含的信息。
IronOCR 是OCR (光學字符識別) 適用於 C# 和 .NET 開發人員的庫。它使開發人員能夠 從圖像中提取文本, PDFs,和其他文件格式。IronOCR 是基於流行的 Tesseract OCR 引擎 並增加了其他功能,使其成為各種應用的理想選擇,包括收據OCR。
以下是使用 IronOCR 進行 OCR 收據數據提取的一些主要好處:
高精度: IronOCR 提供優異的 OCR API 精度,確保從收據和其他文件中可靠的數據提取。
多語言支持IronOCR 支援超過125種語言,使其適用於全球應用。
易於使用:該庫提供簡單直觀的API,讓開發人員能輕鬆在他們的專案中實現OCR功能。
可自訂:IronOCR 提供各種選項 用於微調OCR結果,確保針對您的特定使用案例進行最佳數據提取。
IronOCR 採用了先進的 OCR 演算法來識別和提取圖像和文件中的文本。它能處理多種格式,包括 JPEG、PNG、TIFF 和 PDF。該庫會讀取輸入檔案,識別其中的文本,並將提取的文本輸出為字串,然後可以根據需要進行處理或存儲。IronOCR 也使用 計算機視覺 為獲得最佳結果。
要開始使用 IronOCR 進行收據資料提取,您首先需要安裝 IronOCR 套件。這可以通過 NuGet,.NET 的套件管理器,輕鬆完成。只需在 Visual Studio 中打開您的項目,然後按照以下步驟操作:
在解決方案管理器中右鍵單擊您的項目,選擇「管理 NuGet 套件」。
在 NuGet 套件管理器窗口中,搜索「IronOCR」。
選擇 IronOcr
套件並點擊「安裝」。
在 NuGet 套件管理器 UI 中搜尋 IronOCR
套件
在從收據中提取數據之前,您將希望確保收據圖像質量高,以提高收據 OCR API 過程的準確性。以下是一些拍攝良好收據圖像的提示:
確保收據上的文字清晰且未晕開,以改善收據處理效果。
提取文字的範例收據圖像
安裝 IronOCR 並準備好您的收據圖像後,是時候執行 OCR 過程了。在您的 .NET 應用程式中,使用以下代碼片段:
using IronOcr;
var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
}
using IronOcr;
var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
Dim result = ocr.Read(ocrInput)
Console.WriteLine(result.Text)
End Using
using IronOcr;
using IronOcr;
Imports IronOcr
這行將 IronOCR 函式庫導入您的 .NET 應用程式,讓您可以存取其功能。
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
此行會創建一個新實例的 IronTesseract
負責 IronOCR 中 OCR 操作的主類別。
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
在這裡,一個新的实例 OcrInput class 是表示 OCR 過程輸入圖像的類。 @"path/to/your/receipt/image.png" 應替換為您收據圖像的實際文件路徑。using
聲明確保在完成 OCR 操作後,分配給 OcrInput
實例的資源會被適當釋放。
var result = Ocr.Read(ocrInput);
var result = Ocr.Read(ocrInput);
Dim result = Ocr.Read(ocrInput)
這行呼叫 讀取
IronTesseract
實例的方法,將 OcrInput
對象作為參數傳遞。Read
方法處理輸入圖像並執行 OCR 操作,從圖像中識別和提取文本。它將開始收據識別過程。
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text)
最後,這行將提取的文本輸出到控制台。result
對象是一個 OcrResult
類別,包含識別出的文本及有關 OCR 過程的附加信息。可以通過訪問 result
對象的 Text
屬性來顯示提取的文本。
提取文本的輸出
IronOCR 提供幾種選項來提高 OCR 的準確性和性能。這些選項包括圖像的預處理、調整 OCR 引擎設置以及選擇適當的語言以用於您的收據。
您可以通過應用圖像預處理技術來增強光學字符識別(OCR)的結果,例如:
以下是如何應用這些技術的例子:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
input.DeNoise();
input.DeSkew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
input.DeNoise();
input.DeSkew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrInput("path/to/your/receipt/image.png")
input.DeNoise()
input.DeSkew()
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
IronOCR 支援超過 125 種語言,選擇正確的語言可以顯著提高 OCR 的結果。要指定語言,請將以下行添加到您的代碼中:
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
在 OCR 過程完成後,是時候從文本中提取特定信息了。根據您的需求,您可能希望提取以下數據:
商店名稱和地址。
購買日期和時間。
商品名稱和價格。
要做到這一點,您可以在 .NET 應用程序中使用正則表達式或字符串操作技術。例如,您可以使用以下代碼片段從 OCR 結果中提取日期:
using System.Text.RegularExpressions;
//Rest of the Code
var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
var DateValue = DateTime.Parse(DateMatch.Value);
Console.WriteLine("Date: " + DateValue);
}
using System.Text.RegularExpressions;
//Rest of the Code
var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
var DateValue = DateTime.Parse(DateMatch.Value);
Console.WriteLine("Date: " + DateValue);
}
Imports System.Text.RegularExpressions
'Rest of the Code
Private DatePattern = "\d{1,2}\/\d{1,2}\/\d{2,4}"
Private DateMatch = Regex.Match(Result.Text, DatePattern)
If DateMatch.Success Then
Dim DateValue = DateTime.Parse(DateMatch.Value)
Console.WriteLine("Date: " & DateValue)
End If
您可以為其他需要從收據中提取的信息創建類似的模式。
既然您已經從收據中提取了相關信息,您可以將其存儲在資料庫中,進行分析,或導出到其他文件格式,如 CSV、JSON 或 Excel。
總之,使用 IronOCR 的收據光學字符識別 (Receipt OCR) 是一個創新且高效的解決方案,用於數字化和管理您的財務數據;使用 IronOCR,您可以取代手動數據輸入。通過遵循這個逐步指南,您可以利用 IronOCR 的強大功能來改善您的費用跟蹤和數據分析。最棒的是,IronOCR 提供了一個 免費試用,讓您在沒有任何承諾的情況下體驗其功能。
試用期結束後,如果您決定繼續使用 IronOCR,許可證從$749開始,為您提供一種成本效益的方式,在您的應用程式中利用 OCR 技術的優勢。