使用 IRONOCR

發票 OCR API(開發者教程)

發佈 2023年7月22日
分享:

發票光學字符識別(OCR)API利用機器學習和計算機視覺技術將發票數據轉換為適合自動處理的格式。這項技術解決了手動數據輸入的問題,如延遲、成本和錯誤,能夠準確提取數字和掃描發票中的供應商信息、發票號碼和價格等細節。

本文將使用一款頂級的發票OCR API命名 IronOCR.

1. IronOCR

IronOCR 由 Iron Software 開發,是一個提供一系列工具的 OCR 庫。它利用機器學習和計算機視覺從掃描文件、圖像和 PDF 中提取文本,從而實現自動化處理。其 API 可以集成到各種語言和平台中,減少手動數據輸入錯誤並提高效率。提取出的數據可以進行分析並集成到現有系統中,從而支持決策和提高生產力。特點如 影像預處理, 條碼識別,文件解析增強了其多功能性。IronOCR賦予開發人員將文本識別集成到其應用程序中的能力。

2. 先決條件

在開始使用 IronOCR 之前,需要滿足一些先決條件。這些先決條件包括:

  1. 確保在您的電腦上設置了一個適合的開發環境。這通常涉及擁有一個集成開發環境(IDE)。 (集成開發環境) 例如,已安裝 Visual Studio。

  2. 具備基本的 C# 程式語言知識是很重要的。這將使您能夠有效地理解和修改文章中提供的代碼範例。

  3. 您需要在專案中安裝 IronOCR 庫。這可以通過在 Visual Studio 中使用 NuGet 套件管理器或通過命令行界面來完成。

確保滿足這些先決條件後,您將準備好開始使用 IronOCR。

3. 建立一個新的 Visual Studio 專案

要開始使用 IronOCR,第一步是建立一個新的 Visual Studio 專案。

打開 Visual Studio,然後進入檔案,懸停在新建上,並點擊專案。

發票 OCR API (開發者教程):圖 1 - 新項目

新專案

在新視窗中,選擇控制台應用程式並點擊下一步。

發票OCR API(開發者教程):圖2 - 控制台應用程序

控制台應用程式

會出現一個新視窗,填寫您的新專案名稱和位置,然後點擊“下一步”。

發票OCR API(開發者教程):圖3 - 專案配置

專案配置

最後,提供目標框架並點擊建立。

發票 OCR API(開發者教程):圖4 - 目標框架

目標框架

現在您的新 Visual Studio 專案已建立。讓我們安裝 IronOCR。

4. 安裝 IronOCR

有多種方法可以下載和安裝 IronOCR 庫。以下是最簡單的兩種方式。

  1. 使用 Visual Studio NuGet 套件管理器

  2. 使用 Visual Studio 命令行

4.1. 使用Visual Studio NuGet 套件管理器

您可以使用Visual Studio NuGet 套件管理器將IronOCR包含在C#專案中。

藉由選擇 工具 > NuGet 套件管理器 > 管理方案中的NuGet 套件,導航至NuGet 套件管理器圖形使用者介面。

發票光學字元辨識 API(開發者教學):圖5 - NuGet 套件管理器

NuGet 套件管理器

之後,會彈出一個新窗口。搜尋 IronOCR 並在專案中安裝該套件。

發票 OCR API (開發者教程):圖 6 - 在 NuGet 套件管理器 UI 中選擇 IronOCR 套件

在 NuGet 包管理器界面中選擇 IronOCR 套件

也可以使用上述相同的方法安裝 IronOCR 的其他語言包。

4.2. 使用 Visual Studio 命令行

  1. 在 Visual Studio 中,前往 工具 > NuGet 套件管理員 > 套件管理控制台

  2. 在套件管理控制台選項卡中輸入以下行:
    :ProductInstall

發票 OCR API(開發者教程):圖 7 - 包管理器控制台

Package Manager Console

該套件現在會下載/安裝到當前項目中並可以使用。

5. 使用 IronOCR 從發票中提取數據

使用 IronOCR,您只需幾行代碼即可輕鬆從發票中提取數據,並將這些數據提取用於進一步的流程,例如數據輸入。這將取代手動數據輸入以及更多。

以下是一個從發票中提取文字的範例。

發票 OCR API(開發者教程):圖 8 - 樣本發票

示範發票

現在,讓我們編寫程式碼來提取這張發票中的所有數據。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上面的程式碼以圖片的形式獲取輸入,然後使用 IronOCR 從該圖片中提取數據。 讀取 方法 從 IronTesseract 類別。

發票光學字符識別API(開發者教程):圖9 - 發票解析器

發票解析器

5.1. 從發票提取特定數據的發票處理

您還可以從發票中提取特定數據,如客戶發票號碼。以下是從發票中提取客戶發票號碼的代碼。

using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
Imports IronOcr
Imports System
Imports System.Text.RegularExpressions

Private orc = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = orc.Read(input)
	Dim linePattern = "INV\/\d{4}\/\d{5}"
	Dim lineMatch = Regex.Match(result.Text, linePattern)
	If lineMatch.Success Then
		Dim lineValue = lineMatch.Value
		Console.WriteLine("Customer Invoice number: " & lineValue)
	End If

End Using
VB   C#

發票 OCR API(開發者教程):圖 10 - 發票掃描

發票掃描

6. 結論

IronOCR 的發票 OCR API 使用機器學習和電腦視覺技術革命性地改進了從發票中提取數據的方式。這項技術將發票文本和數字轉換為機器可讀格式,簡化了數據提取以進行分析、整合和流程改進。它提供了一個穩健的解決方案,用於自動化發票處理,提高準確性並優化應付帳款等工作流程。此技術還使得自動數據輸入從掃描的發票中成為可能。

IronOCR 使用 Tesseract 的最佳結果提供高準確性,無需額外設置。它支持 多頁框架 TIFF, PDF 檔案,以及所有流行的圖像格式。也可以 從圖像中讀取條碼值請訪問 首頁網站 如需了解有關IronOCR的更多資訊。欲獲取更多關於發票OCR的教程,請訪問以下內容。 詳情 發票 OCR 教程. 要了解如何使用计算机视觉查找发票字段等文本,请访问此 電腦視覺使用指南.

< 上一頁
最佳發票處理光學字符識別工具(更新名單)
下一個 >
如何在 Blazor 中從圖像讀取文本

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

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