使用 IRONOCR

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

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

使用先進的OCR技術,收據掃描API從收據中提取關鍵數據。它通過消除手動錯誤並提高生產力來簡化數據輸入過程。這個靈活且準確的API支持多種語言、貨幣和格式。通過自動化收據解析,企業可以深入了解支出模式並做出數據驅動的決策。本文將演示如何使用C# OCR庫, IronOCR, 從收據中提取重要資訊。

IronOCR

IronOCR 是由 Iron Software 開發的多功能 OCR 圖書館和 API,為開發者提供從各種來源(如掃描文件、圖像和 PDF)提取文字的強大解決方案。憑藉其先進的 OCR 演算法、計算機視覺和機器學習模型,IronOCR 確保了高精確度和可靠性,即使在挑戰性場景中也能表現優異。該圖書館支持多種語言和字體風格,使其適用於全球應用。通過將 IronOCR 的機器學習模型功能整合到應用程序中,開發者可以輕鬆自動化數據輸入、文字分析和其他任務,提高生產力和效率。

有了 IronOCR,開發者可以輕鬆地從各種來源(包括文件、照片、截圖,甚至實時攝像頭)獲取文字作為 JSON 回應。通過利用先進的演算法和機器學習模型,IronOCR 提供了強大的功能。 分析圖像數據,識別單個字符,並將其轉換為機器可讀的文本。提取的文本可以用於各種目的,例如數據輸入、信息檢索、文本分析和手動任務的自動化。

先決條件

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

  1. 確保您在電腦上已經設置了一個合適的開發環境。這通常涉及到擁有一個集成開發環境 (IDE) (集成開發環境) 例如,已安裝 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 輸出

收據影像掃描 API,例如 IronOCR,提供了一個強大的軟體解決方案來自動提取收據中的數據。通過利用先進的光學字符識別 (OCR) 技術,企業可以輕鬆地從收據影像或掃描中提取重要信息,包括商家名稱、購買日期、項目清單、價格、稅金和總金額。該 API 支援 多種語言, 貨幣,收據格式,和 條碼支援, 企業可以簡化其收據管理流程,節省時間,了解支出模式,並做出數據驅動的決策。IronOCR 作為多功能的OCR庫和API,為開發人員提供了準確且高效地從各種來源提取文本所需的工具,使任務自動化成為可能並提高整體效率。通過滿足必要的先決條件並將 IronOCR 集成到他們的應用程序中,開發人員可以解鎖收據數據處理的好處並改善他們的工作流程。

如需了解更多有關 IronOCR 的信息,請訪問此 授權頁面訪問此網站以了解如何使用計算機視覺來尋找文字 電腦視覺操作頁面如需更多有關收據 OCR 的教程,請訪問以下網址 OCR C# 教程.

< 上一頁
OCR自動化 (C#教程中的OCR車牌)
下一個 >
最佳發票處理光學字符識別工具(更新名單)

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

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