在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
收據掃描 API 使用先進的 OCR 技術從收據中提取關鍵數據。 它通過消除人工錯誤並提高生產力來簡化數據輸入流程。 API多功能且精確,支援多種語言、貨幣和格式。 通過自動化收據解析,企業可以獲得支出模式的洞察並做出依據數據的決策。 本文將展示如何使用 C# OCR 函式庫,IronOCR, 從收據中提取重要資訊。
IronOCR 是由 Iron Software 開發的一個多功能 OCR 庫和 API,為開發者提供了一個強大的解決方案,用於從掃描文件、圖像和 PDF 等各種來源提取文本。 憑藉其先進的OCR演算法、電腦視覺和機器學習模型,IronOCR 即使在具有挑戰性的情況下也能確保高精度和可靠性。 該庫支持多種語言和字體樣式,非常適合全球應用程序。 通過將IronOCR與機器學習模型功能集成到他們的應用程序中,開發者可以輕鬆地自動化數據輸入、文本分析和其他任務,提高生產力和效率。
使用 IronOCR,開發者可以輕鬆地從各種來源提取文本,包括文件、照片、截圖,甚至是實時攝像頭視頻,並以 JSON 回應的形式獲取。 通過利用先進的算法和機器學習模型,IronOCR分析圖像數據,識別單個字符,並將其轉換為機器可讀的文本。 然後可以將這段提取的文字用於各種目的,例如資料輸入、信息檢索、文本分析和人工任務的自動化。
在您開始使用 IronOCR 之前,需要滿足一些必要條件。 這些先決條件包括:
確保您的電腦上設置合適的開發環境。 這通常涉及擁有一個整合開發環境(集成開發環境)例如安裝了 Visual Studio。
了解基本的 C# 程式語言非常重要。 這將使您能夠有效地理解和修改文章中提供的代碼範例。
您需要在您的專案中安裝IronOCR函式庫。 這可以通過在 Visual Studio 中使用 NuGet 套件管理器或透過命令列介面來完成。
透過確保滿足這些先決條件,您將準備好進入使用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 輸出
像 IronOCR 這樣的收據圖像掃描 API 提供了一種強大的軟體解決方案,可用於自動提取收據中的資料。透過利用先進的 OCR 技術,企業可以輕鬆從收據圖像或掃描中提取重要資訊,包括商家名稱、購買日期、逐項清單、價格、稅金和總金額。 支援多種語言, 貨幣,收據格式,和條碼支援,企業可以精簡他們的收據管理流程,節省時間,獲得支出模式的洞察,並做出基於數據的決策。 IronOCR 作為一個多功能的 OCR 庫和 API,為開發人員提供所需的工具,能夠準確且高效地從各種來源提取文字,從而實現任務的自動化並提高整體效率。 通過滿足必要的先決條件並將IronOCR整合到他們的應用程式中,開發人員可以解鎖收據數據處理的優勢並提升他們的工作流程。
欲了解更多有關IronOCR的信息,請訪問此頁面授權頁面. 要了解如何使用计算机视觉查找文本,请访问此页面電腦視覺操作頁面. 如需更多關於收據 OCR 的教程,請訪問以下網站:OCR C# 教程.