如何在 C# 中創建 OCR 收據掃描儀
本教學課程旨在協助初學者使用IronOCR (C# 中的 OCR API)建立OCR 收據掃描器。 在本指南結束時,您將了解如何使用收據 OCR API 實現光學字元辨識 (OCR),將不同類型的收據檔案轉換為可編輯且可搜尋的資料。 對於希望實現費用管理自動化和最大限度減少人工資料輸入的企業來說,這項技術可以帶來改變。 讓我們開始吧
如何在 C# 中建立 OCR 收據掃描器
- 在 Visual Studio 中建立一個 C# 控制台專案。
- 使用 NuGet 套件管理器安裝 OCR 庫。
- 使用
OcrInput方法將收據載入到程式中。 - 使用
Read方法提取文字。 - 在控制台上顯示提取的文字。
先決條件
在開始編寫程式碼之前,請確保您已準備好以下物品:
- Visual Studio :這將是我們的整合開發環境 (IDE),我們將在其中編寫和運行我們的 C# 程式碼。
- IronOCR 庫:我們將使用 IronOCR,這是一個高級的 OCR 庫,可以輕鬆整合到 C# 應用程式中。 3.收據樣本:一個名為Sample_Receipt.jpg的收據圖像文件,我們將使用它來測試我們的OCR 實作。
步驟 1:項目設定
開啟 Visual Studio :在桌面或應用程式選單中找到 Visual Studio 圖標,雙擊即可開啟該程式。
建立新專案:Visual Studio 開啟後,你會看到一個啟動視窗。 點擊"建立新項目"按鈕。 如果您已經開啟了 Visual Studio 但沒有看到啟動窗口,可以透過點擊頂部選單中的"檔案">"新建">"專案"來存取它。
選擇項目類型:在"建立新項目"視窗中,您將看到各種項目範本。 在搜尋框中,鍵入"控制台應用程式"以篩選選項,然後根據您的偏好和相容性選擇控制台應用程式 (.NET Core) 或控制台應用程式 (.NET Framework)。 然後點擊"下一步"按鈕。
設定您的新專案:現在,您將看到一個名為"配置您的新專案"的畫面。
- 在"專案名稱"欄位中,輸入
OCRReceiptScanner作為您的專案名稱。 - 在位置欄位中選擇或確認項目的儲存位置。
- (可選)如果您希望解決方案名稱與專案名稱不同,也可以指定解決方案名稱。 填寫完這些資訊後,點擊"下一步"按鈕。
補充資訊:系統可能會要求您選擇目標 .NET Framework。 選擇最新版本(除非您有特定的相容性要求),然後按一下"建立" 。
步驟 2:整合 IronOCR
在使用 IronOCR 庫之前,我們需要將其包含到我們的專案中。 請遵循以下步驟:
- 在解決方案資源管理器中以滑鼠右鍵按一下您的專案。
- 選擇"管理 NuGet 套件"。
- 在 NuGet 套件管理員視窗中,您會看到幾個選項卡,例如"瀏覽"、 "已安裝" 、 "更新"和"合併" 。 點選"瀏覽"標籤。
- 在搜尋框中,輸入IronOcr 。 這是我們希望添加到專案中的庫的名稱。 按下回車鍵搜尋。
- 搜尋結果將顯示 IronOCR 庫包。 它應該是你最先看到的結果之一。 按一下以選取。
選擇 IronOCR 軟體包後,您會在右側看到一個面板,其中顯示了該軟體包的信息,包括其描述和版本。 此面板中還有一個"安裝"按鈕。
- 點選"安裝"按鈕。 此操作可能會提示您查看更改,並可能顯示將與 IronOcr 一起包含的依賴項清單。 檢查變更和依賴項,如果一切看起來都正確,請確認並繼續安裝。
步驟 3:設定項目
安裝 IronOCR 後,下一步是配置您的專案。 方法如下
新增命名空間:在Program.cs檔案的頂部,包含以下命名空間:
using IronOcr;
using System;using IronOcr;
using System;Imports IronOcr
Imports System配置設定:如果您有任何配置設置,例如 API 金鑰或許可證金鑰,請務必將其包含在內。 對於 IronOCR,您需要按照提供的代碼所示設定許可證金鑰:
License.LicenseKey = "License-Key"; // replace 'License-Key' with your keyLicense.LicenseKey = "License-Key"; // replace 'License-Key' with your keyLicense.LicenseKey = "License-Key" ' replace 'License-Key' with your key第四步:閱讀收據
現在,讓我們來編寫讀取收據的程式碼。
定義收據路徑:指定要掃描的收據檔案的路徑。
string pdfFilePath = "Sample_Receipt.jpg";string pdfFilePath = "Sample_Receipt.jpg";Dim pdfFilePath As String = "Sample_Receipt.jpg"try-catch 區塊:使用 try-catch 區塊實作錯誤處理。 這將有助於您管理 OCR 過程中出現的任何異常情況。
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}Try
' OCR code will go here
Catch ex As Exception
' Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}")
End Try第五步:實施OCR
在步驟 5 中,我們將深入研究應用程式的核心功能:實作 OCR 以讀取和解釋收據中的資料。 這包括初始化 OCR 引擎、設定輸入、執行 OCR 操作和顯示結果。
初始化 IronTesseract
程式碼的第一部分創建了IronTesseract類別的一個實例:
var ocr = new IronTesseract();var ocr = new IronTesseract();Dim ocr = New IronTesseract()透過建立IronTesseract實例,我們實際上是在設定我們的 OCR 工具,使其能夠執行文字辨識任務。 這就像開車前必須先啟動引擎一樣。 該物件將用於控制 OCR 過程,包括讀取輸入並從中提取文字。
配置 OCR 輸入
接下來,我們定義OCR流程的輸入:
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Using在本部分中, OcrInput用於指定我們要處理的檔案。 pdfFilePath是一個變數,它包含收據檔案的路徑。透過將此變數傳遞給OcrInput ,我們告訴 OCR 引擎:"這是我要讀取的檔案。" using語句是 C# 中的一個特殊結構,它確保OcrInput使用的資源(例如檔案句柄)在處理完成後被正確釋放。 這是一種有效管理資源並確保應用程式流暢運行而不會造成不必要的記憶體佔用的方法。
執行 OCR
在using程式碼區塊中,我們呼叫ocr實例的Read方法:
var result = ocr.Read(input);var result = ocr.Read(input);Dim result = ocr.Read(input)Read方法會將輸入檔案路徑作為參數。 此行將開始掃描收據。 它將對給定的輸入檔進行 OCR 識別,提取數據,並將其儲存在變數result中。 我們可以使用透過這種方法提取的文字來執行任何文字操作。
輸出結果
最後,我們輸出OCR辨識出的文字:
Console.WriteLine(result.Text);Console.WriteLine(result.Text);Console.WriteLine(result.Text)result變數包含 OCR 過程的輸出,而result.Text包含從收據中提取的實際文字。 Console.WriteLine函數隨後會取得這段文字並將其顯示在控制台上。 這樣您就可以檢視和驗證 OCR 處理的結果。 以下是完整的Program.cs檔案程式碼:
using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Set your IronOCR license key
License.LicenseKey = "Your-License-Key"
' Define the path to the receipt image
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
' Initialize the OCR engine
Dim ocr = New IronTesseract()
' Define the input file
Using input = New OcrInput(pdfFilePath)
' Perform OCR and get the result
Dim result = ocr.Read(input)
' Display the extracted text
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Class步驟 6:運行您的應用程式
1.建置專案:點選"建置"選單,然後選擇"建置解決方案"。 2.運行專案:按 F5 鍵或按一下"開始"按鈕運行您的應用程式。
現在,您可以在控制台中看到收據輸出的文字。 此文字顯示的是從您的收據圖像中提取的資料。 這就是我們使用 IronOCR 掃描收據的方式。 這是一個利用OCR技術從紙本收據中提取資料的簡單範例,是一個非常通用的實作方式。 您可以修改程式碼以符合收據圖片的佈局。
如何在 C# 中建立 OCR 收據掃描器:圖 3 - 上一個程式碼範例的輸出文字
之後,您可以使用掃描收據後取得的非結構化資料。我們可以從收據的特定部分提取重要資訊。 或者我們可以用更有條理的方式展示收據數據。 我們可以使用 IronOCR 製作 OCR 收據掃描軟體應用程式。 這將有助於我們提取收據欄位的準確資料。
結論
恭喜您! 您已成功使用 C# 和 IronOCR 建造了一個 OCR 收據掃描器。 此掃描器可顯著提高各種業務需求的資料擷取準確性,例如費用追蹤、供應鏈管理等。 以後無需再審核掃描的收據並手動擷取資料。
IronOCR 提供免費試用,使用者可以免費體驗和評估其各項功能。對於希望在專業環境中整合和利用其全部功能的用戶,我們提供起價為$799許可證,為強大的 OCR 收據掃描和資料提取需求提供全面的解決方案。
記住,這只是個開始。 您可以擴展此應用程式以支援各種文件類型,提高資料隱私,或整合其他功能,例如識別特定欄位(如稅額、日期、行項目等)的收據。 借助 OCR 技術,可能性是巨大的,它為更有效率、更智慧的業務流程鋪平了道路。 祝您編碼愉快!
常見問題解答
什麼是 OCR 收據掃描器?
OCR 收據掃描器是一種使用光學字元識別技術將收據影像轉換為可編輯和可搜尋資料的工具。這可透過自動化資料輸入工作,大幅提升業務流程,尤其是在支出管理等領域。
如何在 C# 中建立 OCR 收據掃描器?
若要在 C# 中建立 OCR Receipt Scanner,您可以使用 IronOCR 函式庫。首先在 Visual Studio 中建立一個 C# Console 專案,透過 NuGet 套件管理員安裝 IronOCR,並依照教學在收據檔案上實作 OCR 功能。
使用 C# 設定 OCR 收據掃描器的先決條件是什麼?
先決條件包括已安裝 Visual Studio、IronOCR 函式庫,以及可測試 OCR 過程的樣本收據影像檔案。
如何在我的 C# 專案中安裝 IronOCR 函式庫?
您可以使用 Visual Studio 中的 NuGet Package Manager 安裝 IronOCR 函式庫。搜尋 IronOCR,並將其加入您的專案,以存取其 OCR 功能。
IronTesseract 類如何在 OCR 中運作?
IronTesseract 類用於初始化 IronOCR 函式庫內的 OCR 引擎,讓您可以在收據的影像上執行文字辨識任務。
如何在 C# 中處理 OCR 過程中的錯誤?
OCR 過程中的錯誤可以使用 C# 程式碼中的 try-catch 區塊來處理。這將有助於管理異常,並確保應用程式即使在遇到問題時也能順利執行。
如何增強 OCR 收據掃描器的功能?
您可以透過支援各種檔案類型、改善資料隱私,或整合其他功能(例如針對收據的特定欄位辨識)來擴充應用程式,以提高資料擷取的精確度。
在 C# 應用程式中整合 OCR 技術的最佳做法是什麼?
最佳實務包括使用 IronOCR 之類的可靠函式庫、使用 try-catch 區塊處理錯誤,以及針對多種收據格式優化掃描器,以確保資料擷取準確無誤。
如何使用 C# 將收據影像轉換為文字?
您可以使用 C# 中的 IronOCR 函式庫將收據影像轉換為文字。利用 OcrInput 類指定影像,然後用 IronTesseract 類處理影像以擷取文字。
IronOCR 有哪些授權選項?
IronOCR 提供免費的試用版供探索使用,並提供價格合理的專業 License 選項供在專業環境中延長使用,使其可適用於需要 OCR 技術的各種應用程式。







