1. IronOCR, eine API für die optische Zeichenerkennung
IronOCR ist eine OCR-Bibliothek, die verwendet werden kann, um Textdaten aus Bildern zur Informationsgewinnung zu erkennen, einschließlich Belege-OCR. Es basiert auf der Tesseract OCR-Engine, die als eine der genauesten OCR-Engines gilt, die bis heute für die Erkennung von Belegen verfügbar sind. IronOCR kann Text mit Schlüsselinformationen aus verschiedenen Dokumenttypen lesen, einschließlich PNG, JPG, TIFF, JSON-Format und PDF, und kann Text in mehreren Sprachen erkennen.
Eines der Hauptmerkmale oder -dienste von IronOCR, das es besonders nützlich für die Kassenbon-OCR macht, ist seine Fähigkeit zur automatischen Erkennung der Textausrichtung, selbst wenn das Bild gedreht oder verzerrt ist. Dies ist für eine genaue Texterkennung auf hochgeladenen Quittungen und für die Datenextraktion unerlässlich, da Quittungen oft viele Informationen enthalten und gefaltet oder zerknittert sein können, wodurch der Text verzerrt wird.
2. IronOCR Merkmale
C# OCR nutzt Deep Learning zum Scannen und Erkennen von Texten aus Bildern, gescannten Dokumenten und PDFs.
.NET OCR unterstützt mehr als 127 Sprachen weltweit.
IronOCR kann Text aus Bildern in vielen Dateiformaten lesen, darunter PNG, JPG, TIFF und PDF.
IronOCR unterstützt .NET 5, 6 und 7 (Core, Framework und Standard).
IronOCR unterteilt die Eingabe auf der Grundlage von Textbereichen in verschiedene Bilder. Es verwendet Computer Vision, um Bereiche zu identifizieren, die Textelemente enthalten.
3. Erstellen eines neuen Projekts in Visual Studio
Öffnen Sie Visual Studio und wählen Sie das Menü Datei. Wählen Sie "Neues Projekt" und dann "Konsolenanwendung".
Geben Sie den Projektnamen ein und wählen Sie den Pfad in dem entsprechenden Textfeld aus. Klicken Sie dann auf die Schaltfläche Erstellen. Wählen Sie das gewünschte .NET-Framework, wie in der folgenden Abbildung dargestellt:
Erstellen eines neuen Projekts in Visual Studio
Das Visual Studio-Projekt wird nun die Struktur für die Konsolenanwendung generieren. Danach wird die Datei Program.cs geöffnet, in der Sie den Quellcode schreiben und ausführen können.
Die Datei program.cs, die vom Visual Studio New Project Wizard generiert wurde
4. IronOCR installieren
In Visual Studio können Sie IronOCR problemlos in Ihr C#-Projekt integrieren. IronOCR bietet mehrere Möglichkeiten zur Integration in ein C# .NET-Projekt. Hier werden wir eine davon besprechen: die Installation von IronOCR mit dem NuGet Package Manager.
In Visual Studio, gehen Sie zu Tools > NuGet-Paket-Manager > Paket-Manager-Konsole
Die Visual Studio NuGet-Paket-Manager-Konsole
Nach dem Klicken erscheint eine neue Konsole am unteren Rand des Visual Studio-Fensters. Geben Sie den folgenden Befehl in die Konsole ein und drücken Sie die Eingabetaste.
Install-Package IronOcr
IronOCR wird in nur wenigen Sekunden installiert.
5. Datenextraktion aus Belegen mit IronOCR
IronOCR ist eine leistungsstarke OCR-Bibliothek, die zum Extrahieren und Abrufen von Daten mit Details aus Quittungen verwendet werden kann. Mit IronOCR können Sie eine Quittung abfotografieren und in maschinenlesbaren Text umwandeln, der leicht analysiert und verarbeitet werden kann, ohne den Datenschutz zu gefährden.
Das folgende Beispiel zeigt, wie Sie IronOCR verwenden können, um Text aus einer Quittung zu extrahieren und wie die OCR von Quittungen funktioniert.
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
string RecognizedText = ocrResult.Text;
Console.WriteLine(RecognizedText);
}
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
string RecognizedText = ocrResult.Text;
Console.WriteLine(RecognizedText);
}
Imports IronOcr
Imports System
Private ocrTesseract As New IronTesseract()
Using ocrInput As New OcrInput("ocr.png")
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
Dim RecognizedText As String = ocrResult.Text
Console.WriteLine(RecognizedText)
End Using
$vbLabelText $csharpLabel
Bitte beachten Sie das Tutorial zum Lesen von Text aus einem Bild für weitere Einzelheiten dazu, wie IronOCR Text aus Bildern unter Verwendung der C#-Programmiersprache liest.
Die Ausgabe des oben dargestellten Codes ist unten zu sehen:
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET 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 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00
6. Spezifische Datenextraktion aus dem Bild einer Quittung mit IronOCR
IronOCR ist eine leistungsstarke OCR-Bibliothek, die es Entwicklern ermöglicht, wichtige Informationen aus gescannten Quittungen zu gewinnen, z. B. den Steuerbetrag und den Händlernamen.
Hier ein Beispiel, wie Sie IronOCR verwenden können, um den Gesamtbetrag aus einem Quittungsbild zu extrahieren:
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.English;
// Code line to 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 price in the OCR result
var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
Console.WriteLine("Total Price: " + totalPrice);
}
using IronOcr;
using System;
IronTesseract ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.English;
// Code line to 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 price in the OCR result
var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
Console.WriteLine("Total Price: " + totalPrice);
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Private ocrTesseract As New IronTesseract()
ocrTesseract.Language = OcrLanguage.English
' Code line to 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 price in the OCR result
Dim totalPrice = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
Console.WriteLine("Total Price: " & totalPrice)
End Using
$vbLabelText $csharpLabel
Dank der vielfältigen Einstellungen, die von der OcrInput-Klasse bereitgestellt werden, ist es möglich, das Eingabebild für eine bessere Genauigkeit im OCR-Prozess zu optimieren.
Eingabe
Das Eingabebild, das zur Demonstration der Extraktion spezifischer Daten von Belegen verwendet wird
Ausgabe
- Total 16.5
7. Barcodes auf Quittungen lesen
IronOCR kann sowohl Barcodes auf Quittungen als auch Text lesen. Um Barcodes auf Quittungen mit IronOCR zu lesen, müssen Sie die BarcodeReader-Klasse in Kombination mit der ReadBarCodes-Methode verwenden.
Hier ein Beispiel dafür, wie Sie IronOCR zum Lesen von Strichcodes auf einem Quittungsbild verwenden können.
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Using ocrInput As New OcrInput("b.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
For Each barcode In ocrResult.Barcodes
Console.WriteLine(barcode.Value)
Next barcode
End Using
$vbLabelText $csharpLabel
Eingabe Bild
Eingabe zum Lesen des Barcodes
Text ausgeben
Das Ergebnis der Verarbeitung des Barcode-Bildes
8. Schlussfolgerung
Der obige Artikel erklärt die Installation und Verwendung von IronOCR in einem C#-Projekt, um Daten aus Quittungen zu extrahieren, und enthält ein Beispiel-Code-Snippet.
IronOCR ist Teil der Iron Suite, die fünf verschiedene .NET-Bibliotheken zur Manipulation von Dokumenten und Bildern umfasst. Sie können das gesamte Iron Suite zum Preis von nur zwei IronOCR-Lizenzen kaufen.
Probieren Sie IronOCR in Ihren Produktionsanwendungen mit einer kostenlosen Testversion aus.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS OCR von Nummernschildern in C# (Anleitung)
NÄCHSTES > Wie OCR Text aus einem Screenshot in C# abrufen kann