在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
這個教程旨在幫助初學者創建一個OCR 收據掃描器使用該IronOCR,C#中的OCR API。 在本指南結束時,您將了解如何實現光學字符識別(光學字符識別)使用收據OCR API將不同類型的收據文件轉換為可編輯和可搜索的數據。 這項技術可以成為希望自動化費用管理並減少手動輸入數據的企業的重大改變。 讓我們開始吧!
在 Visual Studio 中創建一個 C# 控制檯項目
使用 NuGet 套件管理器安裝 OCR 函式庫。 \n3. 使用 OcrInput 方法將收據載入程式中。
在進入編碼部分之前,請確保您已具備以下內容:
Visual Studio:這將是我們的整合開發環境。(集成開發環境),我們將在此撰寫並運行我們的 C# 代碼。
IronOCR 函式庫:我們將使用 IronOCR,一個可以輕鬆整合到 C# 應用程式中的先進 OCR 函式庫。
開啟 Visual Studio:在桌面或應用程式選單中找到 Visual Studio 圖示,並雙擊以開啟該程式。
建立新專案:一旦 Visual Studio 打開,您會看到一個啟動視窗。 按下「建立新專案」按鈕。 如果您已經開啟 Visual Studio 卻未看到啟動視窗,可以透過點擊頂部選單的「檔案 > 新增 > 專案」來進入。
選擇專案類型:在「建立新專案」視窗中,您將看到各種專案範本。 在搜索框中輸入「Console App」來篩選選項,然後選擇 Console App。(.NET Core)或控制台應用程式(.NET框架)根據您的偏好和相容性。 然後按 下一步 按鈕。
配置您的新專案:現在,您將看到一個標題為「配置您的新專案」的畫面。
填寫這些詳細信息後,點擊下一步按鈕。
其他資訊: 您可能會被要求選擇目標 .NET Framework。 選擇最新版本(除非您有特定的相容性需求)然後按一下 Create。
在我們使用IronOCR庫之前,我們需要將它包含在我們的專案中。 請依照以下步驟操作:
在方案總管中右鍵點擊你的專案。
選擇「管理 NuGet 套件」。
在 NuGet 套件管理員視窗中,您會看到幾個分頁,比如 Browse、Installed、Updates 和 Consolidate。 點擊 瀏覽 標籤。
在搜尋框中輸入 IronOcr。 這是我們希望添加到項目中的庫的名稱。 按下 Enter 鍵以搜尋。
搜尋結果將顯示IronOCR庫包。 這應該是您看到的第一個結果之一。 點擊它以選擇它。
選擇 IronOCR 套件後,您會注意到右側有一個面板顯示套件的信息,包括其描述和版本。 此面板中還有一個安裝按鈕。
安裝 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 key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.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
在第5步,我們深入探討應用程式的核心功能:實施OCR以讀取和解釋我們收據中的資料。 這涉及初始化 OCR 引擎、配置輸入、執行 OCR 操作和顯示結果。
代碼的第一部分創建了一個 IronTesseract 類的實例:
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
透過建立IronTesseract的實例,我們基本上是在設定我們的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 所使用的資源。(如文件句柄)處理完成後正確地釋放。 這是一種有效管理資源的方法,確保您的應用程序運行順暢而不會造成不必要的記憶體使用。
在 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 Microsoft.Extensions.Configuration;
using System;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "Your-License-Key";
string pdfFilePath = "Sample_Receipt.jpg";
try
{
var ocr = new IronTesseract();
using (var input = new OcrInput(pdfFilePath))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "Your-License-Key";
string pdfFilePath = "Sample_Receipt.jpg";
try
{
var ocr = new IronTesseract();
using (var input = new OcrInput(pdfFilePath))
{
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
Imports IronOcr
Imports Microsoft.Extensions.Configuration
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
License.LicenseKey = "Your-License-Key"
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
Dim ocr = New IronTesseract()
Using input = New OcrInput(pdfFilePath)
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Class
建置專案:點擊「建置」選單,然後選擇「建置方案」。
執行專案:按下 F5 或點擊「開始」按鈕來執行您的應用程式。
現在,您可以看到從收據輸出的文本顯示在控制台上。 此文本代表從您的收據圖像中提取的數據。 這就是我們使用IronOCR掃描收據的方式。 這是一個使用 OCR 功能從紙本收據中提取數據的簡單範例。這是一個非常通用的實現。 您可以修改程式碼以符合您的收據圖像的佈局。
之後,您可以使用從掃描收據後獲得的非結構化數據。我們可以從收據的特定部分獲取重要信息。 或者我們可以以更有條理的方式顯示收據數據。 我們可以使用 IronOCR 製作一個 OCR 收據掃描軟體應用程式。 這將幫助我們提取準確的收據欄位數據。
恭喜! 您已成功使用C#和IronOCR建立了一個OCR收據掃描器。 此掃描器能顯著提高數據提取的準確性,以滿足各種業務需求,如費用追踪、供應鏈管理等。 不再需要檢查掃描的收據並手動提取數據。
IronOCR 提供一個免費試用,允許用戶在無初始成本的情況下探索和評估其功能。對於那些希望在專業環境中集成並充分利用完整功能的用戶來說,授權價格從$749起,提供全面的解決方案以滿足強大OCR收據掃描和數據提取的需求。
記住,這只是個開始。 您可以擴展此應用程式以支援各種檔案類型,改進資料隱私,或整合額外功能,例如針對特定欄位如稅額、日期、行項等的收據識別。 利用OCR技術,可能性是無限的,為更高效和智能的商業流程開闢了道路。 編碼快樂!