在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
使用先進的OCR技術,收據掃描API從收據中提取關鍵數據。它通過消除手動錯誤並提高生產力來簡化數據輸入過程。這個靈活且準確的API支持多種語言、貨幣和格式。通過自動化收據解析,企業可以深入了解支出模式並做出數據驅動的決策。本文將演示如何使用C# OCR庫, IronOCR, 從收據中提取重要資訊。
IronOCR 是由 Iron Software 開發的多功能 OCR 圖書館和 API,為開發者提供從各種來源(如掃描文件、圖像和 PDF)提取文字的強大解決方案。憑藉其先進的 OCR 演算法、計算機視覺和機器學習模型,IronOCR 確保了高精確度和可靠性,即使在挑戰性場景中也能表現優異。該圖書館支持多種語言和字體風格,使其適用於全球應用。通過將 IronOCR 的機器學習模型功能整合到應用程序中,開發者可以輕鬆自動化數據輸入、文字分析和其他任務,提高生產力和效率。
有了 IronOCR,開發者可以輕鬆地從各種來源(包括文件、照片、截圖,甚至實時攝像頭)獲取文字作為 JSON 回應。通過利用先進的演算法和機器學習模型,IronOCR 提供了強大的功能。 分析圖像數據,識別單個字符,並將其轉換為機器可讀的文本。提取的文本可以用於各種目的,例如數據輸入、信息檢索、文本分析和手動任務的自動化。
在開始使用 IronOCR 之前,您需要先具備一些先決條件。這些先決條件包括:
確保您在電腦上已經設置了一個合適的開發環境。這通常涉及到擁有一個集成開發環境 (IDE) (集成開發環境) 例如,已安裝 Visual Studio。
具備基本的 C# 程式語言知識是很重要的。這將使您能夠有效地理解和修改文章中提供的代碼範例。
確保滿足這些先決條件後,您將準備好開始使用 IronOCR。
要開始使用 IronOCR,第一步是建立一個新的 Visual Studio 專案。
開啟 Visual Studio,進入檔案,然後將游標停在新增,並點擊專案。
新建專案影像
在新視窗中,選擇控制台應用程式並點擊下一步。
控制台應用程式
將會出現一個新視窗。填寫您新專案的名稱和位置,然後點擊下一步。
專案配置
最後,提供目標框架並點擊建立。
目標框架
現在您的新 Visual Studio 專案已經建立,讓我們安裝 IronOCR。
有幾種方法可以下載並安裝 IronOCR 庫。不過,這裡介紹兩種最簡單的方法。
使用 Visual Studio NuGet 套件管理器
可以使用 Visual Studio NuGet 包管理器將 IronOCR 包含在 C# 項目中。
通過選擇 工具 > NuGet 包管理器 > 管理解決方案的 NuGet 包 來導航至 NuGet 包管理器圖形用戶界面
NuGet 套件管理器
之後,會彈出一個新窗口。搜尋 IronOCR 並在專案中安裝該套件。
IronOCR
可以使用上述描述的方法來安裝IronOCR的其他語言包。
在 Visual Studio 中,导航到 工具 > NuGet 套件管理器 > 套件管理器控制台
:ProductInstall
**套件管理員主控台**
該套件現在會在當前專案中下載/安裝並準備使用。
使用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
如下所示,IronOCR 可以輕鬆從收據中提取所需的文字。
輸出
如果您想提取整張收據,您可以使用幾行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
掃描收據 API 輸出
收據影像掃描 API,例如 IronOCR,提供了一個強大的軟體解決方案來自動提取收據中的數據。通過利用先進的光學字符識別 (OCR) 技術,企業可以輕鬆地從收據影像或掃描中提取重要信息,包括商家名稱、購買日期、項目清單、價格、稅金和總金額。該 API 支援 多種語言, 貨幣,收據格式,和 條碼支援, 企業可以簡化其收據管理流程,節省時間,了解支出模式,並做出數據驅動的決策。IronOCR 作為多功能的OCR庫和API,為開發人員提供了準確且高效地從各種來源提取文本所需的工具,使任務自動化成為可能並提高整體效率。通過滿足必要的先決條件並將 IronOCR 集成到他們的應用程序中,開發人員可以解鎖收據數據處理的好處並改善他們的工作流程。
如需了解更多有關 IronOCR 的信息,請訪問此 授權頁面訪問此網站以了解如何使用計算機視覺來尋找文字 電腦視覺操作頁面如需更多有關收據 OCR 的教程,請訪問以下網址 OCR C# 教程.