跳過到頁腳內容
使用 IRONOCR

如何在 C# 中創建 OCR 收據掃描儀

本教學課程旨在協助初學者使用IronOCR (C# 中的 OCR API)建立OCR 收據掃描器。 在本指南結束時,您將了解如何使用收據 OCR API 實現光學字元辨識 (OCR),將不同類型的收據檔案轉換為可編輯且可搜尋的資料。 對於希望實現費用管理自動化和最大限度減少人工資料輸入的企業來說,這項技術可以帶來改變。 我們開始吧!

How To Create an OCR Receipt Scanner In C

  1. 在 Visual Studio 中建立一個 C# 控制台專案。
  2. 使用NuGet套件管理器安裝 OCR 庫。
  3. 使用 OcrInput 方法將收據載入程式。
  4. 使用 Read 方法擷取文字。
  5. 在控制台上顯示提取的文字。

先決條件

在開始編寫程式碼之前,請確保您已準備好以下物品:

  1. Visual Studio:這將是我們的整合開發環境 (IDE),我們將在其中編寫和運行我們的 C# 程式碼。
  2. IronOCR庫:我們將使用IronOCR,這是一個高級的 OCR 庫,可以輕鬆整合到 C# 應用程式中。 3.收據樣本:一個名為Sample_Receipt.jpg的收據圖像文件,我們將使用它來測試我們的OCR 實作

如何在 C# 中建立 OCR 收據掃描器:圖 1 - 收據範例影像

步驟 1:項目設定

開啟 Visual Studio:在桌面或應用程式選單中找到 Visual Studio 圖標,雙擊即可開啟該程式。

建立新專案:開啟 Visual Studio 後,您會看到一個啟動視窗。 點擊"建立新項目"按鈕。 如果您已經開啟了 Visual Studio 但沒有看到啟動窗口,可以透過點擊頂部選單中的"檔案">"新建">"專案"來存取它。

選擇項目類型:在"建立新項目"視窗中,您將看到各種項目範本。 在搜尋框中,鍵入"控制台應用程式"以篩選選項,然後根據您的偏好和相容性選擇控制台應用程式 (.NET Core) 或控制台應用.NET Framework)。 然後點擊"下一步"按鈕。

設定您的新專案:現在,您將看到一個名為"配置您的新專案"的畫面。

  • 在專案名稱欄位中,輸入 OCRReceiptScanner 作為您的專案名稱。
  • 在位置欄位中選擇或確認項目的儲存位置。
  • (可選)如果您希望解決方案名稱與專案名稱不同,也可以指定解決方案名稱。 填寫完這些資訊後,點擊"下一步"按鈕。

附加資訊:系統可能會要求您選擇目標.NET Framework。 選擇最新版本(除非您有特定的相容性要求),然後按一下"建立"

步驟 2:整合IronOCR

在使用IronOCR庫之前,我們需要將其包含到我們的專案中。 請依照以下步驟操作:

  1. 在解決方案資源管理器中以滑鼠右鍵按一下您的專案。
  2. 選擇"管理NuGet程式包"。
  3. 在NuGet套件管理員視窗中,您會看到幾個選項卡,例如"瀏覽"、 "已安裝""更新""合併" 。 點選"瀏覽"標籤。
  4. 在搜尋框中,輸入IronOCR 。 這是我們希望添加到專案中的庫的名稱。 按下回車鍵搜尋。
  5. 搜尋結果將顯示IronOCR庫包。 它應該是你最先看到的結果之一。 點擊即可選取。
  6. 選擇IronOCR軟體包後,您會在右側看到一個面板,其中顯示了該軟體包的信息,包括其描述和版本。 此面板中還有一個"安裝"按鈕。

    如何在 C# 中建立 OCR 收據掃描器:圖 2 - 透過NuGet套件管理器安裝IronOCR

  7. 點選"安裝"按鈕。 此操作可能會提示您查看更改,並可能顯示將與IronOCR一起包含的依賴項清單。 檢查變更和依賴項,如果一切看起來都正確,請確認並繼續安裝。

步驟 3:設定項目

安裝IronOCR後,下一步是設定您的專案。 方法如下:

新增命名空間:在您的 Program.cs 檔案頂部,包含以下命名空間:

using IronOcr;
using System;
using IronOcr;
using System;
$vbLabelText   $csharpLabel

配置設定:如果您有任何配置設置,例如 API 金鑰或許可證金鑰,請務必將其包含在內。 對於IronOCR,您需要按照提供的代碼所示設定許可證密鑰:

License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
$vbLabelText   $csharpLabel

第四步:閱讀收據

現在,讓我們來編寫讀取收據的程式碼。

定義收據路徑:指定要掃描的收據檔案的路徑。

string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
$vbLabelText   $csharpLabel

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}");
}
$vbLabelText   $csharpLabel

步驟五:實施OCR

在步驟 5 中,我們將深入研究應用程式的核心功能:實作 OCR 以讀取和解釋收據中的資料。 這包括初始化 OCR 引擎、設定輸入、執行 OCR 操作和顯示結果。

初始化 IronTesseract

程式碼的第一部分創建了 IronTesseract 類別的一個實例:

var ocr = new IronTesseract();
var ocr = new IronTesseract();
$vbLabelText   $csharpLabel

透過建立 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
}
$vbLabelText   $csharpLabel

在本段中,OcrInput 用於指定我們要處理的檔案。 pdfFilePath 是一個變量,其中包含收據文件的路徑。透過將此變數傳遞給 OcrInput,我們告訴 OCR 引擎:"這是我要讀取的檔案。"using 語句是一個特殊的 C# 結構,它確保 OcrInput 使用的資源(例如檔案句柄)在處理完成後被正確釋放。 這是一種有效管理資源並確保應用程式流暢運行而不會造成不必要的記憶體佔用的方法。

執行 OCR

using 程式碼區塊中,我們呼叫 Read 方法,該方法作用於我們的 ocr 實例:

var result = ocr.Read(input);
var result = ocr.Read(input);
$vbLabelText   $csharpLabel

Read 方法將以輸入檔案路徑作為參數。 此行將開始掃描收據。 它將對給定的輸入檔案進行 OCR 識別,提取數據,並將其儲存在變數中 result。 我們可以使用透過這種方法提取的文字來執行任何文字操作。

輸出結果

最後,我們輸出OCR辨識出的文字:

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

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}");
        }
    }
}
$vbLabelText   $csharpLabel

步驟 6:運行您的應用程式

1.建置專案:點選"建置"選單,然後選擇"建置解決方案"。 2.運行專案:按 F5 鍵或按一下"開始"按鈕運行您的應用程式。

現在,您可以在控制台中看到收據輸出的文字。 此文字顯示的是從您的收據圖像中提取的資料。 這就是我們使用IronOCR掃描收據的方式。 這是一個利用OCR技術從紙本收據中提取資料的簡單範例,是一個非常通用的實作方式。 您可以修改程式碼以符合收據圖片的佈局。

如何在 C# 中建立 OCR 收據掃描器:圖 3 - 前面程式碼範例的輸出文字

之後,您可以使用掃描收據後取得的非結構化資料。我們可以從收據的特定部分提取重要資訊。 或者我們可以用更有條理的方式展示收據數據。 我們可以使用IronOCR製作 OCR 收據掃描軟體應用程式。 這將有助於我們提取收據欄位的準確資料。

結論

恭喜! 您已成功使用 C# 和IronOCR建置了一個 OCR 收據掃描器。 此掃描器可顯著提高各種業務需求的資料擷取準確性,例如費用追蹤、供應鏈管理等。 以後無需再審核掃描的收據並手動擷取資料。

IronOCR提供免費試用,使用者可以免費體驗和評估其各項功能。對於希望在專業環境中整合和利用其全部功能的用戶,許可證起價為 $799,可提供滿足強大 OCR 收據掃描和資料提取需求的全面解決方案。

記住,這只是個開始。 您可以擴展此應用程式以支援各種文件類型,提高資料隱私,或整合其他功能,例如識別特定欄位(如稅額、日期、行項目等)的收據。 借助 OCR 技術,可能性是巨大的,它為更有效率、更智慧的業務流程鋪平了道路。 祝您程式愉快!

常見問題解答

OCR 收據掃描器是什麼以及它如何使企業受益?

OCR 收據掃描器是一種使用光學字符識別技術將收據圖像轉換為可編輯和可搜索數據的工具。這可以通過自動化數據輸入任務顯著提高商業流程,特別是在費用管理等領域。

我如何在 C# 中創建一個 OCR 收據掃描器?

要在 C# 中創建一個 OCR 收據掃描器,您可以使用 IronOCR 庫。首先在 Visual Studio 中設置 C# 控制台專案,通過 NuGet 套件管理器安裝 IronOCR,然後按照教程在收據文件上實施 OCR 功能。

在 C# 中設置 OCR 收據掃描器的先決條件是什麼?

先決條件包括安裝 Visual Studio、IronOCR 庫,以及測試 OCR 過程的範例收據圖像文件。

如何在我的 C# 專案中安裝 IronOCR 庫?

您可以使用 Visual Studio 中的 NuGet 套件管理器安裝 IronOCR 庫。搜尋 IronOCR,並將它新增到您的專案以訪問其 OCR 功能。

IronTesseract 類如何在 OCR 中運作?

IronTesseract 類用於在 IronOCR 庫內初始化 OCR 引擎,允許您對收據圖像執行文本識別任務。

如何在 C# 中處理 OCR 過程中的錯誤?

可以使用 try-catch 块在您的 C# 代碼中處理 OCR 過程中的錯誤。這將幫助管理例外情況,並確保即使遇到問題應用程式也能順利運行。

如何增強我的 OCR 收據掃描器的功能?

您可以通過支持各種文件類型、改善數據隱私、或集成其他功能如收據的字段特定識別來擴展應用程式,以提高數據提取的準確性。

在 C# 應用程序中集成 OCR 技術的最佳實踐是什麼?

最佳實踐包括使用可靠的庫如 IronOCR,通過 try-catch 塊處理錯誤,並優化掃描器以適應多種收據格式以確保準確的數據提取。

如何使用 C# 將收據圖像轉換為文本?

您可以使用 C# 中的 IronOCR 庫將收據圖像轉換為文本。利用 OcrInput 類指定圖像,然後使用 IronTesseract 類處理以提取文本。

IronOCR 提供哪些授權選項?

IronOCR 提供免費試用進行探索,並有負擔得起的許可選項以供專業設置中的長期使用,使其適用於各種需要 OCR 技術的應用程序。

Kannaopat Udonpant
軟體工程師
在成為軟件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人實验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因為他直接向编写大部分 IronPDF 使用的代碼的開發者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代碼或文檔時,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我