使用 IRONOCR

收據掃描API(開發者教程)

已更新 2024年2月11日
分享:

收據掃描 API 使用先進的 OCR 技術從收據中提取關鍵數據。 它通過消除人工錯誤並提高生產力來簡化數據輸入流程。 API多功能且精確,支援多種語言、貨幣和格式。 通過自動化收據解析,企業可以獲得支出模式的洞察並做出依據數據的決策。 本文將展示如何使用 C# OCR 函式庫,IronOCR, 從收據中提取重要資訊。

IronOCR

IronOCR 是由 Iron Software 開發的一個多功能 OCR 庫和 API,為開發者提供了一個強大的解決方案,用於從掃描文件、圖像和 PDF 等各種來源提取文本。 憑藉其先進的OCR演算法、電腦視覺和機器學習模型,IronOCR 即使在具有挑戰性的情況下也能確保高精度和可靠性。 該庫支持多種語言和字體樣式,非常適合全球應用程序。 通過將IronOCR與機器學習模型功能集成到他們的應用程序中,開發者可以輕鬆地自動化數據輸入、文本分析和其他任務,提高生產力和效率。

使用 IronOCR,開發者可以輕鬆地從各種來源提取文本,包括文件、照片、截圖,甚至是實時攝像頭視頻,並以 JSON 回應的形式獲取。 通過利用先進的算法和機器學習模型,IronOCR分析圖像數據,識別單個字符,並將其轉換為機器可讀的文本。 然後可以將這段提取的文字用於各種目的,例如資料輸入、信息檢索、文本分析和人工任務的自動化。

先決條件

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

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

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

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

    透過確保滿足這些先決條件,您將準備好進入使用IronOCR的過程。

建立新的 Visual Studio 專案

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

打開 Visual Studio,然後前往檔案,將滑鼠懸停在新增上,然後點擊專案。

收據掃描 API(開發者教程),圖 1:新專案圖片

新專案圖片

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

收據掃描 API (開發者教程),圖2:控制台應用程序

控制台應用程式

將會出現一個新視窗。 輸入新專案的名稱和位置,然後點擊下一步。

收據掃描 API (開發者教程),圖 3:專案配置

專案配置

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

收據掃描 API(開發者教學),圖 4:目標框架

目標框架

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

安裝 IronOCR

有幾種方法可以下載和安裝IronOCR庫。 然而,這裡有兩種最簡單的方法。

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

  2. 使用 Visual Studio 命令列

使用 Visual Studio 的 NuGet 套件管理器

可以使用 Visual Studio 的 NuGet 套件管理器將 IronOCR 包含在 C# 項目中。

透過選擇 工具 > NuGet 套件管理員 > 管理解決方案的 NuGet 套件,導航至 NuGet 套件管理員圖形用戶介面。

收據掃描 API(開發者教程),圖5:NuGet 套件管理器

NuGet 套件管理員

之後,將出現一個新視窗。 在專案中搜尋 IronOCR 並安裝該套件。

收據掃描 API(開發者教程),圖 6:IronOCR

IronOCR

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

使用 Visual Studio 命令列

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

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

收據掃描 API(開發者教程),圖 7:包管理器控制台

套件管理器主控台

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

使用收據 OCR API 進行資料擷取

使用 IronOCR 從收據圖像中提取數據並將其儲存為結構化數據形式,對大多數開發人員來說是一個救星。 使用 IronOCR,你可以僅用幾行代碼實現這一點。 使用此功能,您可以從不同類型的文件中提取項目、價格、稅額、總金額等等。

using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
    var pricePattern = @"\$\d+(\.\d{2})?";
    var descriptions = new List<string>();
    var unitPrices = new List<decimal>();
    var taxes = new List<decimal>();
    var amounts = new List<decimal>();
    var lines = result.Text.Split('\n');
    var descriptionMatch = Regex.Match(lines, descriptionPattern);
    if (descriptionMatch.Success)
    {
        var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
        descriptions.Add(DescriptionValue);
    }
    Console.WriteLine("Description: " + descriptions [i]);
    Console.WriteLine("Quantity: 1.00 Units");
    Console.WriteLine("Unit Price: $" + unitPrices [i]);
    taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
    Console.WriteLine("Taxes: $" + taxes [i]);
    amounts.Add(unitPrices [i] + taxes [i]);
    Console.WriteLine("Amount: $" + amounts [i]);
    Console.WriteLine("-----------------------");
}
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
    var pricePattern = @"\$\d+(\.\d{2})?";
    var descriptions = new List<string>();
    var unitPrices = new List<decimal>();
    var taxes = new List<decimal>();
    var amounts = new List<decimal>();
    var lines = result.Text.Split('\n');
    var descriptionMatch = Regex.Match(lines, descriptionPattern);
    if (descriptionMatch.Success)
    {
        var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
        descriptions.Add(DescriptionValue);
    }
    Console.WriteLine("Description: " + descriptions [i]);
    Console.WriteLine("Quantity: 1.00 Units");
    Console.WriteLine("Unit Price: $" + unitPrices [i]);
    taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
    Console.WriteLine("Taxes: $" + taxes [i]);
    amounts.Add(unitPrices [i] + taxes [i]);
    Console.WriteLine("Amount: $" + amounts [i]);
    Console.WriteLine("-----------------------");
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Imports System.Collections.Generic
Imports System.Text.RegularExpressions

Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = ocr.Read(input)
	Dim descriptionPattern = "\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)"
	Dim pricePattern = "\$\d+(\.\d{2})?"
	Dim descriptions = New List(Of String)()
	Dim unitPrices = New List(Of Decimal)()
	Dim taxes = New List(Of Decimal)()
	Dim amounts = New List(Of Decimal)()
	Dim lines = result.Text.Split(ControlChars.Lf)
	Dim descriptionMatch = Regex.Match(lines, descriptionPattern)
	If descriptionMatch.Success Then
		Dim DescriptionValue = descriptionMatch.Groups (2).Value.Trim()
		descriptions.Add(DescriptionValue)
	End If
	Console.WriteLine("Description: " & descriptions (i))
	Console.WriteLine("Quantity: 1.00 Units")
	Console.WriteLine("Unit Price: $" & unitPrices (i))
	taxes.Add(cost (i) * 0.15D) ' Calculate Taxes (15%)
	Console.WriteLine("Taxes: $" & taxes (i))
	amounts.Add(unitPrices (i) + taxes (i))
	Console.WriteLine("Amount: $" & amounts (i))
	Console.WriteLine("-----------------------")
End Using
VB   C#

正如您在下方所見,IronOCR 可以輕鬆地從收據中提取所需的文字。

收據掃描 API(開發者教程),圖 8:輸出

輸出

提取整張收據

如果您想提取整張收據,可以使用OCR收據上的幾行代碼輕鬆完成。

using IronOcr;
using System;

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

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

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

收據掃描 API (開發者教程),圖 9:掃描收據 API 輸出

掃描收據 API 輸出

像 IronOCR 這樣的收據圖像掃描 API 提供了一種強大的軟體解決方案,可用於自動提取收據中的資料。透過利用先進的 OCR 技術,企業可以輕鬆從收據圖像或掃描中提取重要資訊,包括商家名稱、購買日期、逐項清單、價格、稅金和總金額。 支援多種語言, 貨幣,收據格式,和條碼支援,企業可以精簡他們的收據管理流程,節省時間,獲得支出模式的洞察,並做出基於數據的決策。 IronOCR 作為一個多功能的 OCR 庫和 API,為開發人員提供所需的工具,能夠準確且高效地從各種來源提取文字,從而實現任務的自動化並提高整體效率。 通過滿足必要的先決條件並將IronOCR整合到他們的應用程式中,開發人員可以解鎖收據數據處理的優勢並提升他們的工作流程。

欲了解更多有關IronOCR的信息,請訪問此頁面授權頁面. 要了解如何使用计算机视觉查找文本,请访问此页面電腦視覺操作頁面. 如需更多關於收據 OCR 的教程,請訪問以下網站:OCR C# 教程.

< 上一頁
開發人員的 OCR 自動化指南
下一個 >
最佳發票處理光學字符識別工具(更新名單)

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

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