使用 IRONOCR

OCR 收據數據提取(逐步教程)

已更新 2024年1月28日
分享:

使用 IronOCR 的收據 OCR 為企業和個人帶來了重大變革。此過程允許您從實體收據中提取重要信息,並將其轉換為數字數據。 本文將引導您逐步了解如何使用IronOCR充分利用您的收據。

快速介紹光學字符識別 (光學字符識別)

光學字符識別,或稱OCR,是一種技術,可以讓電腦從圖像或掃描文件中讀取和理解文本。 透過將手寫或印刷文字轉換為機器可讀的文字,OCR使您能夠儲存、處理和分析實體文件中包含的信息。

2. IronOCR 介紹

IronOCR是OCR(光學字符識別)適用於 C# 和 .NET 開發者的程式庫。 它使開發人員能夠從圖像中提取文本, PDFs及其他文件格式。 IronOCR 建立於流行的Tesseract OCR 引擎並增加了其他功能,使其成為各種應用的理想選擇,包括收據OCR。

3. 使用 IronOCR 進行數據提取的好處

以下是使用 IronOCR 提取 OCR 收據數據的一些主要優勢:

高準確性:IronOCR 提供出色的 OCR API 準確性,確保從收據和其他文件中可靠地提取數據。

多語言支持IronOCR 支援超過 125 種語言,適用於全球應用程式。

易於使用:該庫提供簡單直觀的 API,使開發人員能夠輕鬆在其專案中實現 OCR 功能。

可自訂:IronOCR提供各種選項用於微調OCR結果,確保針對您的特定使用案例進行最佳數據提取。

4. IronOCR 如何運作

IronOCR 使用先進的 OCR 算法從圖像和文件中識別並提取文字。 它可以處理多種格式,包括 JPEG、PNG、TIFF 和 PDF。 該庫讀取輸入文件,識別其中的文本,並將提取的文本輸出為字符串,然後可以根據需要處理或存儲。 IronOCR 也使用計算機視覺為獲得最佳結果。

5. 使用 IronOCR 的先決條件

要開始使用 IronOCR 進行收據數據提取,您首先需要安裝 IronOCR 套件。 這可以通過 NuGet,.NET 的套件管理器輕鬆完成。 只需在 Visual Studio 中打開您的專案,然後按照以下步驟操作:

  1. 在「方案總管」中右鍵點擊您的專案,然後選擇「管理 NuGet 套件」。

  2. 在 NuGet 套件管理器視窗中,搜尋 "IronOCR"。

  3. 選擇 IronOcr 套件並點擊「安裝」。

    OCR 收據數據提取 (逐步教程),圖 1: 在 NuGet 包管理器 UI 中搜索 IronOCR 包

    在 NuGet 套件管理器 UI 中搜尋 IronOcr 套件

6. 準備收據圖像

在從收據中提取數據之前,您需確保收據圖像的高質量,以提高收據 OCR API 流程的準確性。 以下是拍攝收據好照片的一些技巧:

  1. 使用掃描文件。 您可以使用高解析度掃描器進行收據掃描。

  2. 確保收據光線充足且沒有陰影。

  3. 將收據上的任何皺褶或折痕弄平,以免關鍵信息被隱藏。

  4. 確保收據上的文字清晰且沒有污損,以改善收據處理。

    OCR 收據數據提取(逐步教程),圖 2:範例收據圖像以提取文字

    用於文本提取的範例收據圖片

7. 對收據圖像進行 OCR 處理

安裝了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
VB   C#

代碼說明

using IronOcr;
using IronOcr;
Imports IronOcr
VB   C#

這行將 IronOCR 函式庫導入您的 .NET 應用程式,讓您可以存取其功能。

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
VB   C#

此行會創建一個新實例的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")
VB   C#

在這裡,一個新的实例OcrInput類別被建立,代表 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)
VB   C#

這行呼叫讀取OcrInput 物件作為參數傳遞給 IronTesseract 實例的方法。 Read 方法處理輸入圖像並執行光學字符識別(OCR)操作,識別並提取圖像中的文字。 它將開始進行收據識別過程。

Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text)
VB   C#

最後,這行將提取的文字輸出到控制台。 result 物件,它是一個实例OcrResult類別,包含識別到的文字和有關 OCR 過程的其他資訊。 提取的文本可以通过訪問 result 對象的 Text 屬性來顯示。

OCR 收據數據提取(分步教程),圖 3:提取文字的輸出

提取文本的輸出

微調 OCR 結果

IronOCR 提供多種選項來提高光學字符識別(OCR)的準確性和性能。 這些包括對圖像進行預處理、調整OCR引擎設定,以及為您的收據選擇合適的語言。

影像預處理

您可以通過應用影像前處理技術來提升 OCR 的效果,例如:

  1. 圖像校正:糾正圖像中的任何旋轉或傾斜。

  2. 去噪:通過去除圖片中的噪音來提高文本的可讀性。

    以下是一個應用這些技術的例子:

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
VB   C#

語言選擇

IronOCR 支援超過 125 種語言,為您的收據選擇正確的語言可顯著提升 OCR 的結果。 若要指定語言,請將以下行添加到您的程式碼中:

ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
VB   C#

從OCR結果中提取數據

隨著 OCR 過程的完成,現在是從文本中提取特定信息的時候了。 根據您的需求,您可能想要提取數據,例如:

  1. 商店名稱和地址。

  2. 購買日期和時間。

  3. 項目名稱和價格。

  4. 小計、稅金和總額。

    為此,您可以在 .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
VB   C#

您可以為其他需要從收據中提取的信息創建類似的模式。

存儲和分析提取的數據

現在您已經從收據中提取相關信息,您可以將其存儲在資料庫中、分析它,或將其匯出到其他檔案格式,如CSV、JSON或Excel。

結論

總之,使用 IronOCR 的收據 OCR 是一種創新且高效的方案,用於數位化和管理您的財務數據; 使用 IronOCR,您可以取代手動資料輸入。 通過遵循此分步指南,您可以利用 IronOCR 的強大功能來改善費用跟蹤和數據分析。 最棒的是,IronOCR 提供了一個免費試用,讓您在不需承擔任何義務的情況下體驗其功能。

試用期結束後,如果您決定繼續使用 IronOCR,授權費用從 $749 起,為您在應用程式中利用 OCR 技術的優勢提供了一種具成本效益的方式。

< 上一頁
如何在 Blazor 中從圖像讀取文本
下一個 >
使用計算機視覺進行OCR(範例教程)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 2,698,613 查看許可證 >