Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

Wie man einen OCR-Empfänger-Scanner in C# erstellt

This tutorial is designed to help beginners create an OCR Receipt Scanner using the IronOCR, an OCR API in C#. Am Ende dieses Leitfadens werden Sie verstehen, wie man optische Zeichenerkennung (OCR) implementiert, um verschiedene Arten von Quittungsdateien mithilfe der OCR-API für Quittungen in bearbeitbare und durchsuchbare Daten zu konvertieren. Diese Technologie kann für Unternehmen, die ihre Ausgabenverwaltung automatisieren und die manuelle Dateneingabe minimieren möchten, einen entscheidenden Fortschritt darstellen. Legen wir los!

Wie man einen OCR-Bon-Scanner in C# erstellt

  1. Erstellen Sie ein C#-Konsolenprojekt in Visual Studio.
  2. Installieren Sie die OCR-Bibliothek mit NuGet Package Manager.
  3. Laden Sie den Beleg mit der Methode OcrInput in das Programm.
  4. Extrahieren Sie den Text mit der Methode Lesen.
  5. Zeigen Sie den extrahierten Text auf der Konsole an.

Voraussetzungen

Bevor wir mit der Codierung beginnen, sollten Sie folgende Voraussetzungen erfüllen:

  1. Visual Studio: Dies wird unsere integrierte Entwicklungsumgebung (IDE) sein, in der 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.
  3. Musterquittung: Eine Quittungsbilddatei mit dem Namen Beispiel_Quittung.jpg, die wir zum Testen unserer OCR-Implementierung verwenden werden.

How To Create an OCR Receipt Scanner In C#: 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.

Erstellen Sie ein neues Projekt: 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 sehen, können Sie darauf zugreifen, indem Sie im oberen Menü auf Datei > Neu > Projekt klicken.

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

Konfigurieren Sie Ihr neues Projekt: Jetzt sehen Sie einen Bildschirm mit dem Titel "Konfigurieren Sie Ihr neues Projekt".

  • Geben Sie in das Feld Projektname OCRReceiptScanner als Namen 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 auf die Schaltfläche Weiter, nachdem Sie diese Angaben gemacht haben.

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 spezielle Kompatibilitätsanforderungen) und klicken Sie auf Erstellen.

Schritt 2: IronOCR einbinden

Bevor wir die IronOCR-Bibliothek verwenden können, müssen wir sie in unser Projekt einbinden. 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, Updates und Konsolidieren. Klicken Sie auf die Registerkarte Browse.
  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. Die Suchergebnisse zeigen das IronOCR-Bibliothekspaket an. Sie sollte eines der ersten Ergebnisse sein, die Sie sehen. Klicken Sie darauf, um es auszuwählen.
  6. Nachdem Sie das IronOCR-Paket ausgewählt haben, sehen Sie auf der rechten Seite ein Fenster mit Informationen zu dem Paket, einschließlich seiner Beschreibung und Version. In diesem Bereich gibt es auch eine Schaltfläche Installieren.

    How To Create an OCR Receipt Scanner In C#: 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 kann eine Liste von Abhängigkeiten anzeigen, die zusammen mit IronOcr enthalten sein 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 ist der nächste Schritt die Konfiguration Ihres Projekts. So funktioniert es:

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

using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
$vbLabelText   $csharpLabel

Konfigurationseinstellungen: Wenn Sie Konfigurationseinstellungen wie einen API-Schlüssel oder einen Lizenzschlüssel haben, sollten Sie diese unbedingt 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
$vbLabelText   $csharpLabel

Schritt 4: Lesen der Quittung

Jetzt schreiben wir den Code, um die Quittung zu lesen.

Bestimmen 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"
$vbLabelText   $csharpLabel

Try-Catch Block: Implementieren Sie die Fehlerbehandlung mit einem try-catch Block. Dies wird Ihnen helfen, Ausnahmen, die während des OCR-Prozesses auftreten, zu bewältigen.

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
$vbLabelText   $csharpLabel

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 aus 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.

Initialisierung von IronTesseract

Der erste Teil des Codes erstellt eine Instanz der IronTesseract-Klasse:

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
$vbLabelText   $csharpLabel

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. Es ist, als würde man den Motor eines Autos starten, bevor man es fahren kann. Dieses Objekt wird verwendet, um den OCR-Prozess zu steuern, einschließlich des Lesens der Eingabe und des Extrahierens von Text daraus.

OCR-Eingabe konfigurieren

Als Nächstes definieren wir den Input für unseren OCR-Prozess:

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
$vbLabelText   $csharpLabel

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 Anweisung using ist ein spezielles C#-Konstrukt, das sicherstellt, dass die von OcrInput verwendeten Ressourcen (z. B. Datei-Handles) nach Abschluss der Verarbeitung ordnungsgemäß wieder freigegeben werden. Es ist eine Möglichkeit, Ressourcen effizient zu verwalten und sicherzustellen, dass Ihre Anwendung reibungslos und ohne unnötigen Speicherverbrauch läuft.

OCR durchführen

Innerhalb des Benutzen-Blocks rufen wir die Methode Lesen für unsere ocr-Instanz auf:

var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
$vbLabelText   $csharpLabel

Die Methode Lesen erhält den Pfad der Eingabedatei als Parameter. Mit dieser Zeile wird die Belegprüfung gestartet. Es wird die OCR der gegebenen Eingabedatei durchführen, Daten extrahieren und sie in einer Variablen result speichern. Wir können den extrahierten Text aus dieser Methode verwenden, um beliebige Textoperationen 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)
$vbLabelText   $csharpLabel

Die Variable result enthält die Ausgabe des OCR-Prozesses und result.Text enthält den eigentlichen Text, der aus dem Beleg extrahiert wurde. Die Funktion Console.WriteLine übernimmt dann diesen Text und gibt ihn auf der Konsole aus. 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 System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Set your IronOCR license key
		License.LicenseKey = "Your-License-Key"

		' Define the path to the receipt image
		Dim pdfFilePath As String = "Sample_Receipt.jpg"

		Try
			' Initialize the OCR engine
			Dim ocr = New IronTesseract()

			' Define the input file
			Using input = New OcrInput(pdfFilePath)
				' Perform OCR and get the result
				Dim result = ocr.Read(input)

				' Display the extracted text
				Console.WriteLine(result.Text)
			End Using
		Catch ex As Exception
			' Handle exceptions and log them if necessary
			Console.WriteLine($"An error occurred: {ex.Message}")
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

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 Quittungsausgabe auf der Konsole. Dieser Text stellt die Daten dar, die aus dem Bild Ihrer Quittung extrahiert wurden. So scannen wir Belege mit IronOCR. Dies ist ein einfaches Beispiel für die Verwendung von OCR-Funktionen zur Extraktion von Daten aus Papierquittungen. Es handelt sich um eine sehr generische Implementierung. Sie können Ihren Code so ändern, dass er mit dem Layout Ihrer Belegbilder übereinstimmt.

How To Create an OCR Receipt Scanner In C#: 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 der Quittung abrufen. Oder wir können die Belegdaten auf eine besser organisierte Weise darstellen. Wir können eine OCR-Empfangsscan-Softwareanwendung mit IronOCR erstellen. Das wird uns helfen, die genauen Daten der Empfangsfelder zu extrahieren.

Abschluss

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

IronOCR bietet eine kostenlose Testversion an, die es den Benutzern ermöglicht, die Fähigkeiten der Software ohne anfängliche Kosten zu erkunden und zu bewerten. Für diejenigen, die das gesamte Spektrum an Funktionen in einem professionellen Umfeld integrieren und nutzen möchten, gibt es Lizenzen ab $799, die eine umfassende Lösung für robuste OCR-Belegeinlesung 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 Steuerbetrag, Datum, Einzelposten usw. Mit der OCR-Technologie sind die Möglichkeiten enorm und ebnen den Weg für effizientere und intelligentere Geschäftsprozesse. Viel Spaß beim Programmieren!

Häufig gestellte Fragen

Was ist ein OCR-Belegscanner und wie kann er Unternehmen nützen?

Ein OCR-Belegscanner ist ein Werkzeug, das die Optical Character Recognition-Technologie verwendet, um Belegbilder in bearbeitbare und durchsuchbare Daten umzuwandeln. Dies kann Geschäftsprozesse erheblich verbessern, indem es Dateneingabeaufgaben automatisiert, insbesondere im Bereich des Ausgabenmanagements.

Wie kann ich einen OCR-Belegscanner in C# erstellen?

Um einen OCR-Belegscanner in C# zu erstellen, können Sie die IronOCR-Bibliothek verwenden. Beginnen Sie mit der Einrichtung eines C#-Konsolenprojekts in Visual Studio, installieren Sie IronOCR über den NuGet-Paketmanager und folgen Sie dem Tutorial, um OCR-Funktionalität auf Belegdateien zu implementieren.

Welche Voraussetzungen gibt es für die Einrichtung eines OCR-Belegscanners in C#?

Zu den Voraussetzungen gehören die Installation von Visual Studio, die IronOCR-Bibliothek und eine Beispiel-Belegbilddatei, um den OCR-Prozess zu testen.

Wie installiere ich die IronOCR-Bibliothek in meinem C#-Projekt?

Sie können die IronOCR-Bibliothek mit dem NuGet-Paketmanager in Visual Studio installieren. Suchen Sie nach IronOCR und fügen Sie es Ihrem Projekt hinzu, um auf die OCR-Funktionalitäten zuzugreifen.

Wie funktioniert die IronTesseract-Klasse in der OCR?

Die IronTesseract-Klasse wird verwendet, um die OCR-Engine in der IronOCR-Bibliothek zu initialisieren, wodurch Sie Texterkennungsaufgaben auf Belegbildern durchführen können.

Wie gehe ich während des OCR-Prozesses in C# mit Fehlern um?

Fehler während des OCR-Prozesses können in Ihrem C#-Code mit einem try-catch-Block behandelt werden. Dies hilft, Ausnahmen zu verwalten und sicherzustellen, dass die Anwendung auch bei Problemen reibungslos läuft.

Wie kann ich die Funktionen meines OCR-Belegscanners verbessern?

Sie können die Anwendung erweitern, indem Sie verschiedene Dateitypen unterstützen, die Datensicherheit verbessern oder zusätzliche Funktionen wie feldspezifische Erkennung für Belege integrieren, um die Genauigkeit der Datenextraktion zu verbessern.

Was sind die besten Praktiken für die Integration von OCR-Technologie in C#-Anwendungen?

Zu den Best Practices gehört die Verwendung einer zuverlässigen Bibliothek wie IronOCR, die Handhabung von Fehlern mit try-catch-Blöcken und die Optimierung des Scanners für mehrere Belegformate, um eine genaue Datenextraktion zu gewährleisten.

Wie kann ich ein Belegbild mit C# in Text umwandeln?

Sie können ein Belegbild mit der IronOCR-Bibliothek in C# in Text umwandeln. Verwenden Sie die OcrInput-Klasse, um das Bild anzugeben, und verarbeiten Sie es dann mit der IronTesseract-Klasse, um den Text zu extrahieren.

Welche Lizenzierungsoptionen sind für IronOCR verfügbar?

IronOCR bietet eine kostenlose Testversion zur Erkundung sowie erschwingliche Lizenzierungsoptionen für die erweiterte Nutzung in professionellen Umgebungen, wodurch es für verschiedene Anwendungen zugänglich wird, die OCR-Technologie erfordern.

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