IRONOCR VERWENDEN

Erstellen eines OCR-Bon-Scanners in C#

Veröffentlicht 18. Februar 2024
Teilen Sie:

Dieses Tutorial soll Anfängern bei der Erstellung eines OCR-Bon-Scanner unter Verwendung der IronOCReine OCR-API in C#. Am Ende dieses Leitfadens werden Sie wissen, wie man optische Zeichenerkennung implementiert (OCR) zur Konvertierung verschiedener Arten von Quittungsdateien in bearbeitbare und durchsuchbare Daten unter Verwendung der OCR-API für Quittungen. Diese Technologie kann für Unternehmen, die ihr Ausgabenmanagement automatisieren und die manuelle Dateneingabe minimieren wollen, einen entscheidenden Unterschied machen. Fangen wir an!

Wie man einen OCR-Bon-Scanner in C# erstellt1. Erstellen Sie ein C# Konsolenprojekt in Visual Studio

  1. Installieren Sie die OCR-Bibliothek mit NuGet Package Manager3. Laden Sie den Beleg mit der Methode OcrInput in das Programm

  2. Extrahieren Sie den Text mit der Read-Methode5. Extrahierten Text auf der Konsole anzeigen

Voraussetzungen

Bevor wir mit der Codierung beginnen, sollten Sie Folgendes sicherstellen:

  1. Visual Studio: Dies wird unsere integrierte Entwicklungsumgebung sein (IDE), wo wir unseren C#-Code schreiben und ausführen werden.

  2. IronOCR-Bibliothek: Wir werden IronOCR verwenden, eine fortschrittliche OCR-Bibliothek, die leicht in C#-Anwendungen integriert werden kann.

    1. Musterbeleg: Eine Quittungsbilddatei mit dem Namen Muster_Quittung.jpg, die wir zum Testen unserer OCR-Implementierung.

    Wie man einen OCR-Bon-Scanner in C# erstellt: Abbildung 1 - Bild einer Beispielquittung

Schritt 1: Einrichten des Projekts

Öffnen Sie Visual Studio: Suchen Sie das Visual Studio-Symbol auf Ihrem Desktop oder in Ihrem Anwendungsmenü und doppelklicken Sie darauf, um das Programm zu öffnen.

Ein neues Projekt erstellen: Sobald Visual Studio geöffnet ist, finden Sie ein Startfenster. Klicken Sie auf die Schaltfläche "Ein neues Projekt erstellen". Wenn Sie Visual Studio bereits geöffnet haben und das Startfenster nicht angezeigt wird, können Sie es aufrufen, indem Sie im oberen Menü auf Datei > Neu > Projekt klicken.

Projekttyp auswählen: Im Fenster "Neues Projekt erstellen" sehen Sie eine Reihe von Projektvorlagen. Geben Sie in das Suchfeld "Console App" ein, um die Optionen zu filtern, und wählen Sie dann Console App (.NET Core) oder Konsolen-App (.NET-Framework)je nach Ihren Vorlieben und Ihrer Kompatibilität. Klicken Sie dann auf die Schaltfläche Next.

Konfigurieren Sie Ihr neues Projekt: Nun erscheint ein Bildschirm mit der Überschrift "Konfigurieren Sie Ihr neues Projekt".

  • Geben Sie im Feld Projektname den Namen OCRReceiptScanner für Ihr Projekt ein.
  • Wählen oder bestätigen Sie den Ort, an dem Ihr Projekt gespeichert werden soll, im Feld Ort.
  • Optional können Sie auch einen Lösungsnamen angeben, wenn er sich vom Projektnamen unterscheiden soll.
  • Klicken Sie nach dem Ausfüllen dieser Angaben auf die Schaltfläche Weiter.

    Zusätzliche Informationen: Möglicherweise werden Sie aufgefordert, das Ziel-.NET-Framework auszuwählen. Wählen Sie die aktuellste Version (es sei denn, Sie haben besondere Kompatibilitätsanforderungen) und klicken Sie auf Erstellen.

Schritt 2: Integration von IronOCR

Bevor wir die IronOCR-Bibliothek verwenden können, müssen wir sie in unser Projekt aufnehmen. Folgen Sie diesen Schritten:

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer.

  2. Wählen Sie "NuGet-Pakete verwalten".

  3. Im Fenster des NuGet-Paketmanagers sehen Sie mehrere Registerkarten wie Durchsuchen, Installiert, Aktualisieren und Konsolidieren. Klicken Sie auf die Registerkarte Durchsuchen.

  4. Geben Sie in das Suchfeld IronOcr ein. Dies ist der Name der Bibliothek, die wir zu unserem Projekt hinzufügen möchten. Drücken Sie zum Suchen die Eingabetaste.

  5. In den Suchergebnissen wird das IronOCR-Bibliothekspaket angezeigt. Es sollte eines der ersten Ergebnisse sein, das Sie sehen. Klicken Sie sie an, um sie auszuwählen.

  6. Nachdem Sie das IronOCR-Paket ausgewählt haben, sehen Sie auf der rechten Seite ein Fenster, das Informationen über das Paket anzeigt, einschließlich seiner Beschreibung und Version. In diesem Bereich gibt es auch eine Schaltfläche Installieren.

    Wie man einen OCR-Quittungsscanner in C# erstellt: Abbildung 2 - Installieren von IronOCR über den NuGet-Paketmanager

  7. Klicken Sie auf die Schaltfläche Installieren. Diese Aktion kann Sie dazu auffordern, Änderungen zu überprüfen und eine Liste von Abhängigkeiten anzeigen, die zusammen mit IronOcr einbezogen werden. Überprüfen Sie die Änderungen und Abhängigkeiten, und wenn alles korrekt aussieht, bestätigen Sie und fahren Sie mit der Installation fort.

Schritt 3: Konfigurieren des Projekts

Nach der Installation von IronOCR müssen Sie als nächstes Ihr Projekt konfigurieren. So geht's:

Namespaces hinzufügen: Fügen Sie am Anfang der Datei Program.cs die folgenden Namespaces hinzu:

using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
VB   C#

Konfigurationseinstellungen: Wenn Sie Konfigurationseinstellungen wie einen API-Schlüssel oder einen Lizenzschlüssel haben, müssen Sie diese angeben. Für IronOCR müssen Sie den Lizenzschlüssel wie im mitgelieferten Code angegeben festlegen:

License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key" ' replace 'License-Key' with your key
VB   C#

Schritt 4: Lesen der Quittung

Schreiben wir nun den Code zum Lesen der Quittung.

Definieren Sie den Pfad zu Ihrer Quittung: Geben Sie den Pfad zu der Quittungsdatei an, die Sie scannen möchten.

string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
VB   C#

Try-Catch-Block: Implementieren Sie die Fehlerbehandlung mit einem try-catch-Block. Dies hilft Ihnen bei der Verwaltung von Ausnahmen, die während des OCR-Prozesses auftreten.

try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
Try
	' OCR code will go here
Catch ex As Exception
	' Handle exceptions here
	Console.WriteLine($"An error occurred: {ex.Message}")
End Try
VB   C#

Schritt 5: OCR implementieren

In Schritt 5 befassen wir uns mit der Kernfunktionalität unserer Anwendung: der Implementierung von OCR zum Lesen und Interpretieren der Daten von unserem Beleg. Dazu gehören die Initialisierung der OCR-Engine, die Konfiguration der Eingabe, die Durchführung des OCR-Vorgangs und die Anzeige der Ergebnisse.

IronTesseract initialisieren

Der erste Teil des Codes erzeugt eine Instanz der Klasse IronTesseract:

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
VB   C#

Indem wir eine Instanz von IronTesseract erstellen, richten wir im Wesentlichen unser OCR-Tool ein und bereiten es auf die Durchführung der Texterkennungsaufgaben vor. Das ist so, als würde man den Motor eines Autos starten, bevor man es fahren kann. Dieses Objekt wird zur Steuerung des OCR-Prozesses verwendet, einschließlich des Lesens der Eingabe und des Extrahierens von Text aus der Eingabe.

OCR-Eingabe konfigurieren

Als Nächstes definieren wir den Input für unser OCR-Verfahren:

using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
Using input = New OcrInput(pdfFilePath)
	' OCR processing will go here
End Using
VB   C#

In diesem Segment wird OcrInput verwendet, um die zu verarbeitende Datei anzugeben. pdfFilePath ist eine Variable, die den Pfad zu unserer Belegdatei enthält. Indem wir diese Variable an OcrInput übergeben, teilen wir der OCR-Engine mit: "Hier ist die Datei, die du lesen sollst." Die using-Anweisung ist ein spezielles C#-Konstrukt, das sicherstellt, dass die von OcrInput verwendeten Ressourcen (wie Dateigriffe) ordnungsgemäß freigegeben werden, sobald die Verarbeitung abgeschlossen ist. So können Sie Ressourcen effizient verwalten und sicherstellen, dass Ihre Anwendung reibungslos und ohne unnötigen Speicherverbrauch läuft.

OCR durchführen

Innerhalb des Benutzungs-Blocks rufen wir die Methode Lesen auf unserer ocr-Instanz auf:

var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
VB   C#

Die Methode Read erhält den Pfad der Eingabedatei als Parameter. Mit dieser Zeile wird das Scannen des Bons gestartet. Es führt die OCR der angegebenen Eingabedatei durch, extrahiert Daten und speichert sie in einer Ergebnisvariablen. Wir können den extrahierten Text aus dieser Methode verwenden, um eine beliebige Textoperation durchzuführen.

Ausgabe der Ergebnisse

Schließlich geben wir den Text aus, der durch den OCR-Prozess erkannt wurde:

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
VB   C#

Die Variable result enthält die Ausgabe des OCR-Prozesses und result.Text enthält den tatsächlichen Text, der aus dem Beleg extrahiert wurde. Die Funktion Console.WriteLine übernimmt dann diesen Text und zeigt ihn auf der Konsole an. So können Sie die Ergebnisse des OCR-Prozesses sehen und überprüfen. Hier ist der vollständige Code der Datei Program.cs:

using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
    static void Main(string [] args)
    {
        License.LicenseKey = "Your-License-Key";
        string pdfFilePath = "Sample_Receipt.jpg";
        try
        {
            var ocr = new IronTesseract();
            using (var input = new OcrInput(pdfFilePath))
            {
                var result = ocr.Read(input);
                    Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
    static void Main(string [] args)
    {
        License.LicenseKey = "Your-License-Key";
        string pdfFilePath = "Sample_Receipt.jpg";
        try
        {
            var ocr = new IronTesseract();
            using (var input = new OcrInput(pdfFilePath))
            {
                var result = ocr.Read(input);
                    Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
Imports IronOcr
Imports Microsoft.Extensions.Configuration
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		License.LicenseKey = "Your-License-Key"
		Dim pdfFilePath As String = "Sample_Receipt.jpg"
		Try
			Dim ocr = New IronTesseract()
			Using input = New OcrInput(pdfFilePath)
				Dim result = ocr.Read(input)
					Console.WriteLine(result.Text)
			End Using
		Catch ex As Exception
			' Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
			Console.WriteLine($"An error occurred: {ex.Message}")
		End Try
	End Sub
End Class
VB   C#

Schritt 6: Ausführen Ihrer Anwendung

  1. Erstellen Sie das Projekt: Klicken Sie auf das Menü "Build" und wählen Sie dann "Build Solution".

  2. Starten Sie das Projekt: Drücken Sie F5 oder klicken Sie auf die Schaltfläche "Start", um Ihre Anwendung auszuführen.

    Jetzt sehen Sie den Text Ihrer Quittung in der Konsole. Dieser Text stellt die Daten dar, die aus dem Bild Ihrer Quittung extrahiert wurden. So scannen wir mit IronOCR die Belege. Dies ist ein einfaches Beispiel für die Verwendung von OCR-Funktionen zur Extraktion von Daten aus Papierquittungen. Es ist eine sehr generische Implementierung. Sie können Ihren Code so ändern, dass er dem Layout Ihrer Quittungsbilder entspricht.

    Wie man einen OCR-Bon-Scanner in C# erstellt: Abbildung 3 - Ausgegebener Text aus dem vorherigen Codebeispiel

    Danach können Sie die unstrukturierten Daten von Quittungen verwenden, die wir nach dem Scannen von Quittungen erhalten haben. Wir können wichtige Informationen aus einem bestimmten Abschnitt des Belegs abrufen. Oder wir können die Quittungsdaten in einer übersichtlicheren Form anzeigen. Mit IronOCR können wir eine OCR-Software zum Scannen von Quittungen entwickeln. Das wird uns helfen, genaue Daten der Empfangsfelder zu extrahieren.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben erfolgreich einen OCR-Quittungsscanner mit C# und IronOCR erstellt. Dieser Scanner kann die Genauigkeit der Datenextraktion für verschiedene Geschäftsanforderungen wie z. B. Ausgabenverfolgung, Lieferkettenmanagement usw. erheblich verbessern. Es ist nicht mehr nötig, die gescannten Belege zu überprüfen und Daten manuell zu extrahieren.

IronOCR bietet eine kostenlos testenund ermöglicht es den Anwendern, die Funktionen kostenlos zu testen und zu bewerten. Für diejenigen, die das gesamte Spektrum an Funktionen in ein professionelles Umfeld integrieren und nutzen möchten, gibt es Lizenzen ab $749, die eine umfassende Lösung für robustes OCR-Belegscannen und Datenextraktion bieten.

Denken Sie daran, dass dies erst der Anfang ist. Sie können diese Anwendung erweitern, um verschiedene Dateitypen zu unterstützen, den Datenschutz zu verbessern oder zusätzliche Funktionen zu integrieren, wie z. B. die Erkennung von Belegen für bestimmte Felder, wie z. B. den Steuerbetrag, das Datum, die Einzelposten und mehr. Mit der OCR-Technologie sind die Möglichkeiten enorm und ebnen den Weg für effizientere und intelligentere Geschäftsprozesse. Fröhliches Kodieren!

< PREVIOUS
Lesen von Identitätsdokumenten mit OCR in C#
NÄCHSTES >
Wie man eine OCR-Lösung für Rechnungen erstellt

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 2,561,036 Lizenzen anzeigen >