Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

Belegscanning API (Entwicklertutorial)

Eine API zum Scannen von Quittungen extrahiert mithilfe fortschrittlicher OCR-Technologie wichtige Daten aus Quittungen. Sie rationalisiert den Dateneingabeprozess, indem sie manuelle Fehler eliminiert und die Produktivität steigert. Die API ist vielseitig und genau und unterstützt mehrere Sprachen, Währungen und Formate. Durch die Automatisierung des Parsens von Quittungen können Unternehmen Einblicke in das Ausgabeverhalten gewinnen und datengesteuerte Entscheidungen treffen. In diesem Artikel wird gezeigt, wie die C# OCR-Bibliothek IronOCR verwendet wird, um wichtige Informationen aus einem Beleg zu extrahieren.

IronOCR

IronOCR ist eine vielseitige OCR-Bibliothek und API, die von Iron Software entwickelt wurde und Entwicklern eine leistungsstarke Lösung für die Extraktion von Text aus verschiedenen Quellen wie gescannten Dokumenten, Bildern und PDFs bietet. Mit seinen fortschrittlichen OCR-Algorithmen, Computer Vision und maschinellen Lernmodellen sorgt IronOCR für hohe Genauigkeit und Zuverlässigkeit, selbst in schwierigen Szenarien. Die Bibliothek unterstützt mehrere Sprachen und Schriftarten und ist daher für globale Anwendungen geeignet. Durch die Einbindung von IronOCR mit maschinellen Lernmodellen in ihre Anwendungen können Entwickler die Dateneingabe, Textanalyse und andere Aufgaben leicht automatisieren und so die Produktivität und Effizienz steigern.

Mit IronOCR können Entwickler mühelos Text aus einer Vielzahl von Quellen abrufen, darunter Dokumente, Fotos, Screenshots und sogar Live-Kameraübertragungen als JSON-Antworten. Durch den Einsatz hochentwickelter Algorithmen und maschineller Lernmodelle analysiert IronOCR die Bilddaten, erkennt einzelne Zeichen und wandelt sie in maschinenlesbaren Text um. Der extrahierte Text kann dann für verschiedene Zwecke verwendet werden, z. B. für die Dateneingabe, das Abrufen von Informationen, die Textanalyse und die Automatisierung manueller Aufgaben.

Voraussetzungen

Bevor Sie mit IronOCR arbeiten können, müssen einige Voraussetzungen erfüllt sein. Diese Voraussetzungen umfassen:

  1. Stellen Sie sicher, dass Sie eine geeignete Entwicklungsumgebung auf Ihrem Computer eingerichtet haben. Dazu muss in der Regel eine integrierte Entwicklungsumgebung (IDE) wie Visual Studio installiert sein.
  2. Ein Grundverständnis der Programmiersprache C# ist wichtig. Dies ermöglicht es Ihnen, die im Artikel enthaltenen Codebeispiele zu verstehen und effektiv zu ändern.
  3. Sie müssen die IronOCR-Bibliothek in Ihrem Projekt installiert haben. Dies kann über den NuGet Package Manager in Visual Studio oder über die Befehlszeilenschnittstelle erfolgen.

Wenn Sie sicherstellen, dass diese Voraussetzungen erfüllt sind, sind Sie bereit, in die Arbeit mit IronOCR einzusteigen.

Erstellen eines neuen Visual Studio-Projekts

Um mit IronOCR zu beginnen, müssen Sie zunächst ein neues Visual Studio-Projekt erstellen.

Öffnen Sie Visual Studio und gehen Sie zu Dateien, klicken Sie dann auf Neu und dann auf Projekt.

Receipt Scanning API (Developer Tutorial), Abbildung 1: Neues Projektbild Neues Projektbild

Wählen Sie in dem neuen Fenster die Option Konsolenanwendung und klicken Sie auf Weiter.

Receipt Scanning API (Developer Tutorial), Abbildung 2: Konsolenanwendung Konsolenanwendung

Ein neues Fenster wird geöffnet. Geben Sie den Namen Ihres neuen Projekts und den Standort ein und klicken Sie auf Weiter.

Receipt Scanning API (Developer Tutorial), Abbildung 3: Projektkonfiguration Projektkonfiguration

Geben Sie schließlich das Ziel-Framework an und klicken Sie auf Erstellen.

Receipt Scanning API (Developer Tutorial), Abbildung 4: Target Framework Ziel-Framework

Jetzt, wo Ihr neues Visual Studio-Projekt erstellt ist, installieren wir IronOCR.

Installation von IronOCR

Es gibt mehrere Möglichkeiten, die IronOCR-Bibliothek herunterzuladen und zu installieren. Hier sind jedoch die beiden einfachsten Ansätze.

  1. Verwendung des Visual Studio NuGet-Paketmanagers
  2. Verwendung der Visual Studio-Befehlszeile

Verwendung des Visual Studio NuGet Package Manager

IronOCR kann mit Hilfe des Visual Studio NuGet Package Managers in ein C#-Projekt eingebunden werden.

Navigieren Sie zur grafischen Benutzeroberfläche von NuGet Package Manager, indem Sie Tools > NuGet-Paket-Manager > Manage NuGet Packages for Solution wählen

Receipt Scanning API (Developer Tutorial), Abbildung 5: NuGet Package Manager NuGet-Paket-Manager

Danach wird ein neues Fenster angezeigt. Suchen Sie nach IronOCR und installieren Sie das Paket in Ihrem Projekt.

Receipt Scanning API (Developer Tutorial), Abbildung 6: IronOCR IronOCR

Zusätzliche Sprachpakete für IronOCR können ebenfalls mit der oben beschriebenen Methode installiert werden.

Verwendung der Visual Studio Befehlszeile

  1. In Visual Studio, go to Tools > NuGet-Paket-Manager > Package Manager Console
  2. Geben Sie die folgende Zeile auf der Registerkarte "Paketmanager-Konsole" ein:

    Install-Package IronOcr

    Receipt Scanning API (Developer Tutorial), Abbildung 7: Package Manager Console Package Manager Console

Das Paket wird nun im aktuellen Projekt heruntergeladen/installiert und ist einsatzbereit.

Datenextraktion mit der receipt OCR API

Das Extrahieren von Daten aus Quittungsbildern mit IronOCR und das Speichern dieser Daten in strukturierter Form ist für die meisten Entwickler ein Lebensretter. Mit IronOCR können Sie dies mit nur wenigen Zeilen Code erreichen. Damit können Sie Einzelposten, Preise, Steuerbeträge, Gesamtbeträge und vieles mehr mit verschiedenen Dokumenttypen extrahieren.

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

class ReceiptScanner
{
    static void Main()
    {
        var ocr = new IronTesseract();
        // Load the image of the receipt
        using (var input = new OcrInput(@"r2.png"))
        {
            // Perform OCR on the input image
            var result = ocr.Read(input);

            // Regular expression patterns to extract relevant details from the OCR result
            var descriptionPattern = @"\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
            var pricePattern = @"\$\d+(\.\d{2})?";

            // Variables to store extracted data
            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');
            foreach (var line in lines)
            {
                // Match each line against the description pattern
                var descriptionMatch = Regex.Match(line, descriptionPattern);
                if (descriptionMatch.Success)
                {
                    descriptions.Add(descriptionMatch.Groups[1].Value.Trim());
                    unitPrices.Add(decimal.Parse(descriptionMatch.Groups[2].Value));

                    // Calculate tax and total amount for each item
                    var tax = unitPrices[unitPrices.Count - 1] * 0.15m;
                    taxes.Add(tax);
                    amounts.Add(unitPrices[unitPrices.Count - 1] + tax);
                }
            }

            // Output the extracted data
            for (int i = 0; i < descriptions.Count; i++)
            {
                Console.WriteLine($"Description: {descriptions[i]}");
                Console.WriteLine($"Quantity: 1.00 Units");
                Console.WriteLine($"Unit Price: ${unitPrices[i]:0.00}");
                Console.WriteLine($"Taxes: ${taxes[i]:0.00}");
                Console.WriteLine($"Amount: ${amounts[i]:0.00}");
                Console.WriteLine("-----------------------");
            }
        }
    }
}
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class ReceiptScanner
{
    static void Main()
    {
        var ocr = new IronTesseract();
        // Load the image of the receipt
        using (var input = new OcrInput(@"r2.png"))
        {
            // Perform OCR on the input image
            var result = ocr.Read(input);

            // Regular expression patterns to extract relevant details from the OCR result
            var descriptionPattern = @"\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
            var pricePattern = @"\$\d+(\.\d{2})?";

            // Variables to store extracted data
            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');
            foreach (var line in lines)
            {
                // Match each line against the description pattern
                var descriptionMatch = Regex.Match(line, descriptionPattern);
                if (descriptionMatch.Success)
                {
                    descriptions.Add(descriptionMatch.Groups[1].Value.Trim());
                    unitPrices.Add(decimal.Parse(descriptionMatch.Groups[2].Value));

                    // Calculate tax and total amount for each item
                    var tax = unitPrices[unitPrices.Count - 1] * 0.15m;
                    taxes.Add(tax);
                    amounts.Add(unitPrices[unitPrices.Count - 1] + tax);
                }
            }

            // Output the extracted data
            for (int i = 0; i < descriptions.Count; i++)
            {
                Console.WriteLine($"Description: {descriptions[i]}");
                Console.WriteLine($"Quantity: 1.00 Units");
                Console.WriteLine($"Unit Price: ${unitPrices[i]:0.00}");
                Console.WriteLine($"Taxes: ${taxes[i]:0.00}");
                Console.WriteLine($"Amount: ${amounts[i]:0.00}");
                Console.WriteLine("-----------------------");
            }
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Imports System.Collections.Generic
Imports System.Text.RegularExpressions

Friend Class ReceiptScanner
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		' Load the image of the receipt
		Using input = New OcrInput("r2.png")
			' Perform OCR on the input image
			Dim result = ocr.Read(input)

			' Regular expression patterns to extract relevant details from the OCR result
			Dim descriptionPattern = "\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)"
			Dim pricePattern = "\$\d+(\.\d{2})?"

			' Variables to store extracted data
			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)
			For Each line In lines
				' Match each line against the description pattern
				Dim descriptionMatch = Regex.Match(line, descriptionPattern)
				If descriptionMatch.Success Then
					descriptions.Add(descriptionMatch.Groups(1).Value.Trim())
					unitPrices.Add(Decimal.Parse(descriptionMatch.Groups(2).Value))

					' Calculate tax and total amount for each item
					Dim tax = unitPrices(unitPrices.Count - 1) * 0.15D
					taxes.Add(tax)
					amounts.Add(unitPrices(unitPrices.Count - 1) + tax)
				End If
			Next line

			' Output the extracted data
			For i As Integer = 0 To descriptions.Count - 1
				Console.WriteLine($"Description: {descriptions(i)}")
				Console.WriteLine($"Quantity: 1.00 Units")
				Console.WriteLine($"Unit Price: ${unitPrices(i):0.00}")
				Console.WriteLine($"Taxes: ${taxes(i):0.00}")
				Console.WriteLine($"Amount: ${amounts(i):0.00}")
				Console.WriteLine("-----------------------")
			Next i
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Wie Sie unten sehen können, kann IronOCR den erforderlichen Text problemlos aus der Quittung extrahieren.

Receipt Scanning API (Developer Tutorial), Abbildung 8: Output Ausgabe

Den gesamten Beleg extrahieren

Wenn Sie den gesamten Beleg extrahieren möchten, können Sie dies ganz einfach mit ein paar Zeilen Code auf dem OCR-Beleg tun.

using IronOcr;
using System;

class WholeReceiptExtractor
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput(@"r3.png"))
        {
            // Perform OCR on the entire receipt and print text output to console
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;
using System;

class WholeReceiptExtractor
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput(@"r3.png"))
        {
            // Perform OCR on the entire receipt and print text output to console
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr
Imports System

Friend Class WholeReceiptExtractor
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Using input = New OcrInput("r3.png")
			' Perform OCR on the entire receipt and print text output to console
			Dim result = ocr.Read(input)
			Console.WriteLine(result.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Receipt Scanning API (Developer Tutorial), Abbildung 9: Scan receipt API output Scan-Empfangs-API-Ausgabe

Die API für das Scannen von Quittungsbildern, wie IronOCR, bietet eine leistungsstarke Softwarelösung für die automatische Extraktion von Daten aus Quittungen. Durch den Einsatz fortschrittlicher OCR-Technologie können Unternehmen auf einfache Weise wichtige Informationen aus Quittungsbildern oder -scans extrahieren, z. B. Namen von Geschäftspartnern, Kaufdaten, Einzelpostenlisten, Preise, Steuern und Gesamtbeträge. With support for multiple languages, currencies, receipt formats, and barcode support, businesses can streamline their receipt management processes, save time, gain insights into spending patterns, and make data-driven decisions. IronOCR, eine vielseitige OCR-Bibliothek und API, bietet Entwicklern die Werkzeuge, die sie benötigen, um Text aus verschiedenen Quellen genau und effizient zu extrahieren, was die Automatisierung von Aufgaben ermöglicht und die Gesamteffizienz verbessert. Durch die Erfüllung der notwendigen Voraussetzungen und die Integration von IronOCR in ihre Anwendungen können Entwickler die Vorteile der Belegdatenverarbeitung erschließen und ihre Arbeitsabläufe verbessern.

Weitere Informationen über IronOCR finden Sie auf dieser Lizenzierungsseite. Wenn Sie wissen möchten, wie Sie mit Hilfe von Computer Vision Text finden können, besuchen Sie diese Computer Vision How-to-Seite. Weitere Tutorials zum Thema OCR finden Sie im folgenden OCR C# Tutorial.

Häufig gestellte Fragen

Wie kann ich die Datenextraktion von Quittungen in C# mithilfe von OCR automatisieren?

Sie können die Datenextraktion von Quittungen in C# automatisieren, indem Sie IronOCR verwenden, das es Ihnen ermöglicht, wichtige Details wie Posten, Preise, Steuern und Gesamtsummen aus Quittungsbildern mit hoher Genauigkeit zu extrahieren.

Was sind die Voraussetzungen für die Einrichtung eines Projekts zur Quittungserfassung in C#?

Um ein Projekt zur Quittungserfassung in C# einzurichten, benötigen Sie Visual Studio, grundlegende C#-Programmierkenntnisse und die in Ihrem Projekt installierte IronOCR-Bibliothek.

Wie installiere ich die OCR-Bibliothek mit dem NuGet-Paketmanager in Visual Studio?

Öffnen Sie Visual Studio und gehen Sie zu Extras > NuGet-Paketmanager > NuGet-Pakete für die Lösung verwalten, suchen Sie IronOCR und installieren Sie es in Ihrem Projekt.

Kann ich die OCR-Bibliothek mit der Visual Studio-Befehlszeile installieren?

Ja, Sie können IronOCR installieren, indem Sie die Paket-Manager-Konsole in Visual Studio öffnen und den Befehl Install-Package IronOcr ausführen.

Wie extrahiere ich Text aus einer gesamten Quittung mithilfe von OCR?

Um Text aus einer gesamten Quittung zu extrahieren, verwenden Sie IronOCR, um OCR auf dem vollständigen Quittungsbild durchzuführen, und geben Sie den extrahierten Text mit C#-Code aus.

Welche Vorteile bietet eine Quittungs-Scan-API?

Eine Quittungs-Scan-API wie IronOCR automatisiert die Datenerfassung, minimiert manuelle Fehler, steigert die Produktivität und bietet Einblicke in das Ausgabeverhalten für bessere Geschäftsentscheidungen.

Unterstützt die OCR-Bibliothek mehrere Sprachen und Währungen?

Ja, IronOCR unterstützt mehrere Sprachen, Währungen und Quittungsformate, was es ideal für globale Anwendungen macht.

Wie genau ist die OCR-Bibliothek beim Extrahieren von Text aus Bildern?

IronOCR gewährleistet hohe Genauigkeit durch die Verwendung fortschrittlicher OCR-Algorithmen, Computer Vision und maschineller Lernmodelle, selbst in herausfordernden Szenarien.

Welche Arten von Daten können aus Quittungen mithilfe von OCR extrahiert werden?

IronOCR kann Daten wie Posten, Preise, Steuerbeträge, Gesamtsummen und andere Details von Quittungen extrahieren.

Wie kann die Automatisierung der Quittungsbearbeitung Geschäftsprozesse verbessern?

Die Automatisierung der Quittungsbearbeitung mit IronOCR verbessert Geschäftsprozesse, indem manuelle Eingaben reduziert, eine genaue Datenerfassung ermöglicht und datenbasierte Entscheidungen unterstützt.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen