使用 IRONOCR

發票 OCR API(開發者教程)

發佈 2023年7月22日
分享:

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

本文將使用一種頂尖的發票光學字符識別(OCR)API名為IronOCR.

1. IronOCR

IronOCR 由 Iron Software 開發,是一個提供多種工具給開發者的 OCR 庫。 它使用機器學習和計算機視覺從掃描文檔、圖像和PDF中提取文本,實現自動化處理。 其 API 可整合至各種語言和平台,減少手動數據輸入錯誤並提高效率。 提取的資料可以被分析並整合到現有系統中,幫助決策制定及提升生產力。 功能如影像預處理, 條碼識別,文件解析提高了其多功能性。 IronOCR 賦予開發人員將文字辨識功能整合到他們的應用程式中。

2. 必要條件

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

  1. 確保您的電腦上設置合適的開發環境。 這通常涉及擁有一個整合開發環境(集成開發環境)例如安裝了 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 套件管理員 UI 中選擇 IronOCR 套件

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

4.2. 使用 Visual Studio 命令行

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

  2. 在封裝管理員主控台標籤中輸入以下行:
    :ProductInstall

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

套件管理器主控台

該套件現在將下載/安裝到當前項目,並準備使用。

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
$vbLabelText   $csharpLabel

上面的程式碼以圖片的形式獲取輸入,然後使用 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
$vbLabelText   $csharpLabel

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

發票掃描

6. 結論

IronOCR 的發票 OCR API 利用機器學習和計算機視覺技術徹底改變了從發票中提取數據的方式。 這項技術將發票文本和數字轉換為機器可讀格式,簡化數據提取,以利分析、整合和流程改進。 它提供了一個強大的解決方案,用於自動化發票處理,提高準確性,並優化應付賬款等工作流程。 透過此技術,自動化輸入掃描發票的數據也成為可能。

IronOCR 提供高精確度,使用 Tesseract 的最佳結果,無需任何額外設置。 支持多頁框架 TIFF, PDF 檔案及所有常用的圖像格式。 也可以從圖像中讀取條碼值.

請訪問首頁網站如需了解更多關於IronOCR的信息。 如需更多關於發票光學字符識別(OCR)的教程,請訪問以下這個詳情 發票 OCR 教程. 要了解如何使用计算机视觉查找诸如发票字段之类的文本,请访问此页面電腦視覺使用指南.

Kannaopat Udonpant

坎納帕特·烏頓潘

軟體工程師

 LinkedIn

在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat 也成為了車輛機器人實驗室的成員,該實驗室隸屬於生物生產工程學系。2022 年,他利用自己的 C# 技能,加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。Kannapat 珍視這份工作,因為他可以直接向負責撰寫大部分 IronPDF 程式碼的開發人員學習。除了同儕學習外,Kannapat 還享受在 Iron Software 工作的社交方面。當他不在撰寫程式碼或文件時,Kannapat 通常會在 PS5 上玩遊戲或重看《最後生還者》。
< 上一頁
最佳發票處理光學字符識別工具(更新名單)
下一個 >
如何在 Blazor 中從圖像讀取文本