跳至頁尾內容
使用 IRONOCR

如何為發票建立 OCR 解決方案

光學字元辨識( OCR )是一種使電腦能夠識別和提取影像或掃描文件中的文字的技術。 OCR軟體的主要目標是將包含文字的照片轉換為機器可讀的文字資料。 這項技術可以惠及眾多行業,並簡化資料輸入、文件數位化和自動化流程,例如應付帳款流程。 在本文中,我們將探討使用 OCR 解決方案處理發票,以及它如何使人工發票處理過時。

如何使用OCR解決方案識別發票

  1. 安裝IronOCR C# 庫。
  2. 在 Visual Studio 中建立一個新的 C# 專案。
  3. 探索功能豐富的 C# 函式庫,對收據執行 OCR 操作。
  4. 使用 Tesseract 從收據中提取資料。
  5. 在擷取的文字結果中搜尋特定資料。
  6. 檢查所提供的收據影像上的條碼值。

什麼是發票處理?

企業可以利用 OCR 發票處理技術,將基於圖像或掃描的帳單轉換為機器可讀文本,該技術可自動從發票中提取文字和資料。 這種自動化提高了財務流程的效率,減少了手動資料輸入,並簡化了發票處理方式。

IronOCR

IronOCR (一個 .NET 函式庫)為使用 C# 程式語言的開發人員啟用了光學字元辨識 (OCR) 功能。 IronOCR 由 Iron Software 開發,是一款適用於需要自動文字辨識的應用程式的實用工具,可讓使用者從圖像、掃描文件和 PDF 檔案中提取文字。 要從發票中提取文字和數據,您需要將 IronOCR 庫整合到您的 .NET 應用程式中,以實現發票的自動化處理。

IronOCR 透過人工智慧演算法幫助避免欺詐,快速識別錯誤、欺詐和重複發票。 它透過卓越的 OCR 發票資料擷取技術減少錯誤,從而避免人工資料輸入造成的錯誤。 點擊這裡了解更多關於IronOCR的資訊。

IronOCR的主要特點是:

-文字擷取:從影像、掃描文件和 PDF 中提取文字內容。 它使用複雜的 OCR 演算法來識別所提供文件中的單字、字元和佈局。 -供應商資訊:使用 IronOCR 從發票圖像中提取文字訊息,包括供應商詳細資訊、行項目、發票編號、日期以及任何其他相關數據。 -條碼讀取: IronOCR 除了 OCR 功能外,還具備從圖像中讀取條碼的功能,這增強了其對需要處理文字和條碼資料的應用程式的適應性。 -影像預處理:支援去斜、降噪和對比度校正。 這些技術可以增強輸入影像,並有助於提高 OCR 的準確率。 -基於區域的 OCR 技術:允許開發人員定義要專注於提取文字的特定影像區域。 這在處理結構化佈局的文件時非常有用。

值得注意的是,該解決方案的成功取決於 OCR 設定的準確性、發票的複雜性和輸入影像的品質。 此外,使用 IronOCR 的 API 並了解庫的具體功能可能是整合過程中的重要步驟。 請務必查閱 IronOCR 官方文檔,以獲取最新詳情和建議。

在 Visual Studio 中建立新項目

啟動 Visual Studio 並導航至"檔案"選單。 選擇"新建專案",然後選擇"控制台應用程式"。在這裡,我們將建立一個用於OCR工作的控制台程式。

如何建立發票 OCR 解決方案:圖 1 - 透過 Visual Studio 建立新項目

請在文字方塊中輸入項目名稱並指定檔案位置。 按一下"建立"按鈕,然後選擇所需的 .NET Framework。

如何建立發票 OCR 解決方案:圖 2 - 設定專案訊息

應用程式選定後,Visual Studio 專案將建立其結構。 如果您選擇了控制台、Windows 或 Web 版本,它將開啟Program.cs文件,讓您可以新增程式碼並建置/執行應用程式。

之後我們可以加入庫來測試程式碼。

安裝 IronOCR

使用 Visual Studio 的 NuGet 套件管理器工具,直接將套件安裝到您的解決方案中。 請參考下面的截圖查看 NuGet 套件管理器。

如何建立發票 OCR 解決方案:圖 3 - 如何透過 Visual Studio 存取 NuGet 套件管理器

它提供了一個搜尋框,用於列出 NuGet 網站上的套件。如下圖所示,在套件管理器中搜尋"IronOCR":

如何建立發票 OCR 解決方案:圖 4 - 透過 NuGet 套件管理器安裝 IronOCR

上圖應列出相關的搜尋字詞。 我們需要進行必要的選擇才能安裝解決方案套件。

使用IronOCR從發票中提取數據

IronOCR 是一個功能強大的 OCR 庫,可用於提取和讀取發票資料。 使用 IronOCR,您可以將收據圖像轉換為易於處理和分析的機器可讀文本,而不會洩露資料隱私。 發票OCR技術使我們能夠將發票資料提取為數位格式。

以下是 IronOCR 如何處理供應商發票並從紙本發票中提取文字的範例。

using System;
using IronOcr;

class InvoiceProcessor
{
    static void Main()
    {
        // Create a new instance of IronTesseract
        var Ocr = new IronTesseract();

        // Set language and Tesseract version
        Ocr.Language = OcrLanguage.EnglishBest;
        Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

        // Using OcrInput to add images and read text
        using (var Input = new OcrInput())
        {
            // Add the invoice image
            Input.AddImage(@"invoice.png");

            // Read the text from the image
            var Result = Ocr.Read(Input);

            // Output the extracted text
            Console.WriteLine(Result.Text);
            Console.ReadKey();
        }
    }
}
using System;
using IronOcr;

class InvoiceProcessor
{
    static void Main()
    {
        // Create a new instance of IronTesseract
        var Ocr = new IronTesseract();

        // Set language and Tesseract version
        Ocr.Language = OcrLanguage.EnglishBest;
        Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;

        // Using OcrInput to add images and read text
        using (var Input = new OcrInput())
        {
            // Add the invoice image
            Input.AddImage(@"invoice.png");

            // Read the text from the image
            var Result = Ocr.Read(Input);

            // Output the extracted text
            Console.WriteLine(Result.Text);
            Console.ReadKey();
        }
    }
}
$vbLabelText   $csharpLabel

以下是上述程式碼的運行結果:

如何建立發票 OCR 解決方案:圖 5 - 前一個代碼的輸出文字

此範例示範了 IronOCR 如何提取資料並在控制台中顯示資料。

讀取發票上的條碼

除了文字,IronOCR 還可以掃描收據上的條碼。 若要使用 IronOCR 掃描收據上的條碼,請將ReadBarCodes功能與BarcodeReader類別一起使用。

以下是如何使用 IronOCR 解碼收據影像以讀取條碼的方法。

using System;
using IronOcr;

class BarcodeReaderExample
{
    static void Main()
    {
        // Initialize IronTesseract
        var ocrTesseract = new IronTesseract();

        // Enable barcode reading
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Use OcrInput to add image and process barcodes
        using (var ocrInput = new OcrInput("invoice.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Iterate over and output each detected barcode
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
using System;
using IronOcr;

class BarcodeReaderExample
{
    static void Main()
    {
        // Initialize IronTesseract
        var ocrTesseract = new IronTesseract();

        // Enable barcode reading
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Use OcrInput to add image and process barcodes
        using (var ocrInput = new OcrInput("invoice.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Iterate over and output each detected barcode
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
$vbLabelText   $csharpLabel

如何為發票建立 OCR 解決方案:圖 6 - 輸入的條碼

雖然 IronOCR 提供了強大的 OCR 功能,但必須記住,完整的發票處理工作流程可能涉及資料驗證、業務邏輯和財務系統連接等其他元件。 根據您的使用情況,您可能需要將 IronOCR 與其他工具結合使用,以實現完整的發票處理解決方案。

結果:

如何建立發票 OCR 解決方案:圖 7 - 使用上述程式碼讀取範例條碼的結果

要了解有關 IronOCR 線上演示的更多信息,請點擊此處

結論

總之, IronOCR是一款功能強大且適應性強的光學字元辨識 (OCR) 庫,適用於 C# 開發人員。 Iron Software 推出的這款綜合性產品簡化了從圖像、掃描文件和 PDF 文件中提取文字的過程。

最後,IronOCR 是一款值得關注的 OCR 解決方案,它提供了出色的整合性、靈活性和準確性。 IronOCR憑藉其先進的演算法和識別各種文件格式的能力,在準確性方面無與倫比,使其成為目前最好的OCR解決方案之一。 它提供了文檔齊全的程式碼範例,使初學者能夠快速輕鬆地學習。

IronOCR 的經濟實惠的開發版易於獲取,購買 IronOCR 軟體包即可獲得終身許可證。 IronOCR 套餐起價僅為\$liteLicense ,以單一價格即可用於多個系統,極具性價比。 它為授權用戶提供全天候線上工程師支援。 有關費用的更多詳情,請訪問 IronOCR網站

常見問題解答

如何使用OCR技術實現發票處理自動化?

您可以使用 IronOCR 從掃描的發票中提取文字和數據,從而實現發票處理的自動化。這種自動化方式可以減少手動資料輸入,提高財務營運效率。

設定 IronOCR 進行發票處理涉及哪些步驟?

要設定 IronOCR 以進行發票處理,您需要在 Visual Studio 中建立 C# 項目,使用 NuGet 套件管理器安裝 IronOCR 庫,並利用 Tesseract 引擎進行資料擷取。

IronOCR 如何透過影像預處理來提高 OCR 準確率?

IronOCR 透過影像預處理功能(如去斜、降噪和對比度校正)提高 OCR 準確率,從而增強輸入影像的品質。

什麼是基於區域的OCR技術?它如何使發票處理受益?

IronOCR 中的基於區域的 OCR 技術允許開發人員在影像上定義特定區域以進行有針對性的文字擷取,使其能夠有效地處理發票等結構化文件佈局。

我可以使用 IronOCR 從發票中提取供應商資訊嗎?

是的,IronOCR 可以利用其先進的文字擷取功能和 OCR 設定調整功能,從發票中提取供應商資訊。

為什麼影像品質對OCR的成功實施至關重要?

影像品質對OCR辨識準確率有顯著影響。使用高品質影像配合IronOCR,確保更佳的文字辨識效果,並減少資料擷取過程中的錯誤。

使用 IronOCR 處理發票時,有哪些常見的故障排除技巧?

常見的故障排除技巧包括驗證 OCR 設定、確保高品質的輸入影像,以及查閱 IronOCR 的文件以取得配置和使用方面的最佳實踐。

條碼讀取如何提升發票處理效率?

IronOCR 條碼讀取功能可提取文字和條碼數據,從而增強發票處理能力,以便於對發票進行全面的數據處理。

使用 IronOCR 推薦使用哪種程式設計環境?

IronOCR 推薦在 .NET 環境中使用,特別是使用 C# 作為程式語言,它為實現 OCR 功能提供了一個強大的平台。

IronOCR如何幫助開發者將OCR整合到應用程式中?

IronOCR 為開發人員提供詳細的文件和程式碼範例,使 OCR 功能能夠輕鬆整合到應用程式中,並確保開發過程順利進行。

坎納奧帕特·烏東潘特
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源專業的博士學位。在攻讀博士學位期間,他還加入了生物生產工程系下屬的車輛機器人實驗室。 2022 年,他憑藉 C# 技能加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。 Kannapat 非常珍惜這份工作,因為他可以直接向 IronPDF 大部分程式碼的編寫者學習。除了與同事學習之外,Kannapat 也享受在 Iron Software 工作的社交氛圍。工作之餘,Kannapat 通常會玩 PS5 遊戲或重溫《最後生還者》。