Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

So erhalten Sie Text aus einer Rechnung in C# Tutorial

Wie man Belege mit Tesseract OCR erkennt

  1. Installieren Sie die C#-Bibliothek für Beleg-OCR mit Tesseract
  2. Entdecken Sie die funktionsreiche C#-Bibliothek zur Durchführung von Beleg-OCR
  3. Extrahieren Sie Daten von Belegen mit Tesseract
  4. Suchen Sie im extrahierten Textresultat nach spezifischen Daten
  5. Lesen Sie Barcode-Werte auf dem Eingabebelegbild

1. IronOCR, Eine Optical Character Recognition API

IronOCR ist eine OCR-Bibliothek, die zur Erkennung von Textdaten aus Bildern zur Informationsgewinnung, einschließlich Beleg-OCR, verwendet werden kann. Es basiert auf der Tesseract OCR-Engine, die als eine der genauesten OCR-Engines für die Belegerkennung bis heute gilt. IronOCR kann Schlüsselinformationen aus verschiedenen Dokumenttypen lesen, einschließlich PNG-, JPG-, TIFF-, JSON- und PDF-Formaten, und es kann Text in mehreren Sprachen erkennen.

Eine der Hauptfunktionen von IronOCR, die es besonders nützlich für Beleg-OCR macht, ist seine Fähigkeit, die Textausrichtung automatisch zu erkennen, selbst wenn das Bild gedreht oder schief ist. Dies ist entscheidend für die genaue Texterkennung bei Belegeinsendungen und der Datenextraktion, da Belege oft viele Informationen enthalten und gefaltet oder geknittert sein können, was dazu führt, dass der Text verzerrt wird.

2. IronOCR Features

  • C# OCR verwendet Deep Learning, um Text aus Bildern, gescannten Dokumenten und PDFs zu scannen und zu erkennen.
  • .NET OCR unterstützt mehr als 125 globale Sprachen.
  • IronOCR kann Text aus Bildern in vielen Dateiformaten lesen, einschließlich PNG, JPG, TIFF und PDF.
  • Text, structured data, JSON output, or searchable PDFs can be produced from extracted information.
  • IronOCR unterstützt .NET Versionen 5, 6 und 7 (Core, Framework und Standard).
  • IronOCR teilt die Eingabe anhand der Textregionen in verschiedene Bilder auf. Es verwendet Computer Vision, um Bereiche zu identifizieren, die Textelemente enthalten.

3. Erstellen eines neuen Projekts in Visual Studio

Öffnen Sie Visual Studio und gehen Sie zum Datei-Menü. Wählen Sie "Neues Projekt" und dann Konsolenanwendung.

Geben Sie den Projektname ein und wählen Sie den Pfad im entsprechenden Textfeld. Klicken Sie dann auf die Schaltfläche Erstellen. Wählen Sie das erforderliche .NET Framework, wie im unten stehenden Screenshot gezeigt:

Ein neues Projekt in Visual Studio erstellen

Die Projektstruktur für die Konsolenanwendung wird nun erstellt. Sobald dies abgeschlossen ist, wird die Datei Program.cs geöffnet, in der Sie Quellcode schreiben und ausführen können.

Die von Visual Studio New Project Wizard generierte Program.cs-Datei

4. Installieren von IronOCR

In Visual Studio können Sie IronOCR einfach mit Ihrem C#-Projekt integrieren. IronOCR bietet mehrere Möglichkeiten zur Integration mit einem C# .NET-Projekt. Hier besprechen wir eine davon: Installation von IronOCR mithilfe des NuGet Package Managers.

Gehen Sie in Visual Studio zu Tools > NuGet Paketmanager > Package Manager Console

Die Visual Studio NuGet Package Manager Console

Am unteren Rand des Fensters von Visual Studio erscheint eine neue Konsole. Geben Sie den untenstehenden Befehl in die Konsole ein und drücken Sie die Eingabetaste.

Install-Package IronOcr

IronOCR wird in nur wenigen Sekunden installiert.

5. Datenextraktion von Belegen mit IronOCR

IronOCR ist eine leistungsstarke OCR-Bibliothek, die verwendet werden kann, um detaillierte Daten aus Belegen zu extrahieren und darauf zuzugreifen. Mit IronOCR können Sie ein Bild eines Belegs in maschinenlesbaren Text umwandeln, der leicht analysiert und verarbeitet werden kann, ohne die Datensicherheit zu gefährden.

Hier ist ein Beispiel dafür, wie Sie IronOCR verwenden können, um Text aus einem Beleg zu extrahieren:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Read the OCR result
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;

            // Output the recognized text to the console
            Console.WriteLine(recognizedText);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Read the OCR result
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;

            // Output the recognized text to the console
            Console.WriteLine(recognizedText);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract As New IronTesseract()

		' Load the receipt image
		Using ocrInput As New OcrInput("ocr.png")
			' Read the OCR result
			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
			Dim recognizedText As String = ocrResult.Text

			' Output the recognized text to the console
			Console.WriteLine(recognizedText)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Beziehen Sie sich auf das Textauslesen von Bildern Tutorial für weitere Details, wie IronOCR Text aus Bildern mit C# liest.

Die Ausgabe des obigen Codes:

- LOGO SHOP
- LOREM IPSUM
- DOLOR SIT AMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEM NISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISI RISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00

6. Spezifische Datenextraktion aus Belegbildern mit IronOCR

IronOCR ermöglicht Entwicklern, wichtige Informationen aus gescannten Belegen zu erhalten, wie Steuerbeträge und Händlernamen.

Hier ist ein Beispiel, das zeigt, wie der Gesamtbetragswert aus einem Belegbild extrahiert wird:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Set the language for OCR
        ocrTesseract.Language = OcrLanguage.English;

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Optimize the input image for OCR
            ocrInput.DeNoise(true);
            ocrInput.Contrast();
            ocrInput.EnhanceResolution();
            ocrInput.ToGrayScale();

            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Search for the total amount in the OCR result
            var totalAmount = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
            Console.WriteLine("Total Amount: " + totalAmount);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract();

        // Set the language for OCR
        ocrTesseract.Language = OcrLanguage.English;

        // Load the receipt image
        using (OcrInput ocrInput = new OcrInput("ocr.png"))
        {
            // Optimize the input image for OCR
            ocrInput.DeNoise(true);
            ocrInput.Contrast();
            ocrInput.EnhanceResolution();
            ocrInput.ToGrayScale();

            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Search for the total amount in the OCR result
            var totalAmount = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
            Console.WriteLine("Total Amount: " + totalAmount);
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract As New IronTesseract()

		' Set the language for OCR
		ocrTesseract.Language = OcrLanguage.English

		' Load the receipt image
		Using ocrInput As New OcrInput("ocr.png")
			' Optimize the input image for OCR
			ocrInput.DeNoise(True)
			ocrInput.Contrast()
			ocrInput.EnhanceResolution()
			ocrInput.ToGrayScale()

			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)

			' Search for the total amount in the OCR result
			Dim totalAmount = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
			Console.WriteLine("Total Amount: " & totalAmount)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Dank der vielfältigen Einstellungen der OcrInput Klasse ist es möglich, das Eingabebild für eine bessere Genauigkeit im OCR-Prozess zu optimieren.

Eingabe

Das Eingabebild für die Demonstration der Extraktion spezifischer Daten von Belegen

Ausgabe

- Total 16.5

7. Barcodes auf Belegen lesen

IronOCR kann verwendet werden, um Barcodes auf Belegen sowie Text zu lesen. To read barcodes on receipts, you will need to use the BarcodeReader class in combination with the ReadBarCodes method.

Hier ist ein Beispiel dafür, wie man Barcodes liest:

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Load the receipt image with a barcode
        using (var ocrInput = new OcrInput("b.png"))
        {
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Output the barcode values to the console
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        // Load the receipt image with a barcode
        using (var ocrInput = new OcrInput("b.png"))
        {
            OcrResult ocrResult = ocrTesseract.Read(ocrInput);

            // Output the barcode values to the console
            foreach (var barcode in ocrResult.Barcodes)
            {
                Console.WriteLine(barcode.Value);
            }
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		ocrTesseract.Configuration.ReadBarCodes = True

		' Load the receipt image with a barcode
		Using ocrInput As New OcrInput("b.png")
			Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)

			' Output the barcode values to the console
			For Each barcode In ocrResult.Barcodes
				Console.WriteLine(barcode.Value)
			Next barcode
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Eingabe Image

Eingabe zum Lesen des Barcodes

Ausgabe Text

Das Ergebnis der Verarbeitung des Barcode-Bildes

IronOCR bietet C#-Entwicklern die fortschrittlichste Tesseract-API, die wir auf jeder Plattform kennen.

Der obige Artikel erklärt den Prozess der Installation und Verwendung von IronOCR in einem C#-Projekt, um Daten aus Belegen zu extrahieren, mit bereitgestellten Codebeispielen.

Bitte lesen Sie das Tutorial über Text aus Bildern lesen.

IronOCR ist ein Teil der Iron Suite, die fünf verschiedene .NET-Bibliotheken zur Manipulation von Dokumenten und Bildern enthält. You can buy the entire Iron Suite for the price of just two IronOCR licenses.

Testen Sie IronOCR in Ihren Produktionsanwendungen mit einer kostenlosen Testversion.

Häufig gestellte Fragen

Wie kann ich IronOCR verwenden, um OCR auf einem Belegbild in C# durchzuführen?

Sie können IronOCR verwenden, um OCR auf einem Belegbild durchzuführen, indem Sie das Bild in die OcrInput-Klasse laden und die Read-Methode aufrufen, um Textdaten wie Artikellisten und Gesamtsummen zu extrahieren.

Welche Vorteile bietet die Verwendung von IronOCR gegenüber Tesseract für die Rechnungsverarbeitung?

IronOCR bietet verbesserte Genauigkeit, unterstützt über 125 Sprachen und umfasst Funktionen wie automatische Textrichtungserkennung und Deep-Learning-Fähigkeiten. Es ist auch einfacher, mit C#-Projekten über den NuGet-Paket-Manager zu integrieren.

Wie integriere ich IronOCR in ein Visual Studio-Projekt?

Um IronOCR in ein Visual Studio-Projekt zu integrieren, verwenden Sie den NuGet-Paket-Manager. Navigieren Sie zu Tools > NuGet-Paket-Manager > Paket-Manager-Konsole und führen Sie Install-Package IronOcr aus, um die Bibliothek zu Ihrem Projekt hinzuzufügen.

Kann IronOCR mehrere Sprachen im Beleg-OCR verarbeiten?

Ja, IronOCR kann mehrere Sprachen verarbeiten und unterstützt über 125 globale Sprachen, was es ideal für die Verarbeitung von Belegen mit mehrsprachigem Text macht.

Wie verbessert IronOCR die Texterkennungsgenauigkeit in Belegen?

IronOCR verbessert die Texterkennungsgenauigkeit durch Funktionen wie Deep Learning, automatische Textrichtungserkennung und die Möglichkeit, Bilder mit der OcrInput-Klasse zu optimieren, um bessere OCR-Ergebnisse zu erzielen.

Ist es möglich, Artikellisten aus Belegen mit IronOCR zu extrahieren?

Ja, IronOCR kann verwendet werden, um Artikellisten aus Belegen zu extrahieren, indem die Textdaten verarbeitet werden und Artikel durch Mustersuche identifiziert werden, nachdem OCR durchgeführt wurde.

Wie verarbeitet IronOCR das Lesen von Barkodes auf Belegen?

IronOCR verarbeitet das Lesen von Barkodes, indem es die BarcodeReader-Klasse und die ReadBarCodes-Methode verwendet, um Barkodes zu scannen und zu dekodieren, die auf Belegen vorhanden sind.

Welche Dateiformate kann IronOCR für Beleg-OCR verarbeiten?

IronOCR kann eine Vielzahl von Dateiformaten für Beleg-OCR verarbeiten, einschließlich PNG, JPG, TIFF und PDF, was es vielseitig für verschiedene Eingabetypen macht.

Welche Schritte sind erforderlich, um IronOCR für die Rechnungsverarbeitung in C# einzurichten?

Die Einrichtung von IronOCR für die Rechnungsverarbeitung umfasst die Installation der Bibliothek über NuGet, die Konfiguration der OcrInput mit dem Belegbild und die Verwendung der Read-Methode, um Textdaten zu extrahieren. Sie können auch die Funktionen der Bibliothek verwenden, um die Genauigkeit zu verbessern und spezifische Daten wie Gesamtsummen zu extrahieren.

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