Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Optische Zeichenerkennung (OCR) bietet die Möglichkeit, eine Bilddatei in maschinencodierten Text umzuwandeln. Dies ist äußerst nützlich, da gescannte Dokumente als Bilddateien gespeichert werden und die Daten in diesen Bilddateien nicht mit einem normalen Texteditor oder sogar einer Textverarbeitungsanwendung durchsucht, bearbeitet oder im Textformat gespeichert werden können. Die OCR-Verarbeitung hilft dabei, diese Bilder in maschinenlesbaren Text umzuwandeln, der dann von den Benutzern weiterverarbeitet werden kann.
In der heutigen Zeit werden Dokumente, die über das Internet ausgetauscht werden, in der Regel in digitalem Format, meist in Form von PDF-Dateien oder Bildern, bereitgestellt. Es gibt zahlreiche Online-Ressourcen, die Bilder in Text umwandeln. Die meisten Unternehmen benötigen diese Funktionalität jedoch in ihren Softwareanwendungen. Vor diesem Hintergrund gibt es viele Bibliotheken, die OCR-Verarbeitungstechnologie zur Einbettung in Softwareanwendungen anbieten.
In diesem Artikel werden wir zwei der beliebtesten OCR-Bibliotheken für C# besprechen. Diese sind:
IronOCR for .NET ist eine C#-Bibliothek, mit der Benutzer Bilder und PDFs scannen, suchen und lesen können. Es nimmt ein Bild oder eine PDF-Datei als Eingabe und verwendet die neueste, speziell für Tesseract 5 entwickelte .NET OCR-Engine zur Ausgabe von Text, strukturierten Daten oder durchsuchbaren PDF-Dokumenten. Tesseract ist in mehr als 125 Sprachen verfügbar, und IronOCR bietet plattformübergreifende Unterstützung in .NET Core, Standard, von 2.0 bis 7.
IronOCR ist eine benutzerfreundliche API, die es C#-Entwicklern ermöglicht, Bilder mit Hilfe der Klasse IronTesseract
automatisch in Text umzuwandeln. Die Bibliothek legt Wert auf Geschwindigkeit, Genauigkeit und Benutzerfreundlichkeit.
Eine weitere leistungsstarke Funktion von IronOCR ist die Fähigkeit, Barcodes und QR-Codes aus allen Bilddateien zu scannen und deren Text zu lesen. Weitere wichtige Merkmale von IronOCR sind im Folgenden aufgeführt.
Einfache Datenausgabe: Ausgabe in .NET Text Strings, Barcode, QR und Bildformat.
Werfen wir nun einen Blick auf Nanonets OCR API.
Nanonets OCR API ist eine REST-API, die eine auf Ihre Geschäftsanforderungen zugeschnittene Echtzeit-Datenextraktion für automatisierte Arbeitsabläufe ermöglicht. Die OCR-API ist KI-gestützt und kann Daten aus unstrukturierten Dokumenten innerhalb von Sekunden sicher erfassen, kategorisieren und extrahieren. Mit Nanonets können Sie die manuelle Dateneingabe automatisieren und so den manuellen Aufwand reduzieren.
Nanonets versteht Dokumente mithilfe von maschinellem Lernen, auch solche, die keiner Standardvorlage folgen. Sie können beliebige unstrukturierte Dokumente hochladen und nur die gewünschten Informationen auf der Grundlage verschiedener Felder erfassen. Im Gegensatz zur herkömmlichen OCR kann das Nanonets OCR-Modell für bessere Ergebnisse trainiert werden. Wenn Ihr Unternehmen wächst, wächst auch das intelligente OCR-Modell von Nanonets und lernt mit jedem neuen Dokument, um schnelle und genaue Ergebnisse zu liefern.
Darüber hinaus bietet Nanonets ein Python-Paket, das eine einfache Integration und Datenerfassung in Python-Anwendungen ermöglicht, ohne dass API-Anfragen erforderlich sind. Weitere Merkmale sind:
Einhaltung der GDPR
Mehrere Exportoptionen verfügbar
Der Rest des Artikels lautet wie folgt:
Erstellen des Visual Studio-Projekts
Installation von IronOCR
Installation der Nanonets OCR API
Bild zu Text
Barcode und QR zu Text
PDF zu Text
Lizenzvergabe
In diesem Tutorial werden wir die neueste Version von Visual Studio 2022 verwenden. Wenn Sie es noch nicht heruntergeladen und installiert haben, können Sie dies auf der Seite Visual Studio-Website.
Nun müssen wir ein Konsolenprojekt erstellen, um mit beiden Bibliotheken zu arbeiten. Folgen Sie den Schritten, um ein Projekt zu erstellen:
Klicken Sie auf Ein neues Projekt erstellen.
Wählen Sie C#-Konsolenanwendung aus den angegebenen Optionen.
Klicken Sie auf Weiter.
Wählen Sie unter Zusatzinformationen das .NET-Framework 6.0, da dies die stabilste Version ist.
Klicken Sie nun auf Erstellen und das Projekt wird an dem von Ihnen angegebenen Ort erstellt.
Als nächstes werden wir die Bibliotheken in unserem Projekt zum Vergleich installieren.
Es gibt mehrere Möglichkeiten, die IronOCR-Bibliothek zu installieren. Schauen wir sie uns nacheinander an.
NuGet ist der Paketmanager zum Herunterladen und Installieren von Abhängigkeiten in Ihrem Projekt. Die Pakete enthalten kompilierten Code und (DLLs) und die Manifestdatei. Greifen Sie mit der folgenden Methode darauf zu:
Klicken Sie auf NuGet-Pakete für Lösungen verwalten.
Alternativ dazu:
Klicken Sie auf NuGet-Pakete verwalten.
Nun wird das Fenster NuGet Package Manager geöffnet. Suchen Sie nach IronOCR und klicken Sie auf Installieren.
IronOCR kann auch direkt von der offiziellen NuGet-Website heruntergeladen werden. Folgen Sie den folgenden Schritten:
Klicken Sie auf den Link: "".
Klicken Sie auf die Option "Paket herunterladen" auf der rechten Seite der Seite.
Öffnen Sie das heruntergeladene Paket und die Installation beginnt.
Besuchen Sie einfach die Website von Iron Software und navigieren Sie zur IronOCR for .NET-Webseite. Blättern Sie bis zum Ende und klicken Sie auf Download DLL oder Download Windows Installer.
Es wird eine Zip-Datei heruntergeladen. Extrahieren Sie die Projektdatei oder führen Sie das Windows-Installationsprogramm aus. Führen Sie die folgenden Schritte aus, um sie zu Ihrem Projekt hinzuzufügen.
Klicken Sie mit der rechten Maustaste auf die Abhängigkeiten des Projekts in Visual Studio im Projektmappen-Explorer.
Wählen Sie dann die Option Projektreferenz hinzufügen.
Durchsuchen Sie den Speicherort der heruntergeladenen DLL-Datei.
Navigieren Sie in Visual Studio zur Registerkarte Tools.
Erweitern Sie die Option NuGet Package Manager.
Install-Package IronOcr
Dadurch wird IronOCR automatisch heruntergeladen und in Ihrem Projekt installiert.
Jetzt sind wir bereit, IronOCR in unserem Projekt zu verwenden.
Es ist nur ein Namespace erforderlich, der oben in der Quellcodedatei hinzugefügt werden muss, in der wir auf die IronOCR-Funktionen zugreifen müssen.
using IronOcr;
using IronOcr;
Imports IronOcr
Installieren wir nun die Nanonets OCR API.
Hier sind die korrigierten Absätze:
Nanonetze können auf vielfältige Weise zur Datenerfassung eingesetzt werden. Es bietet eine Online-OCR-Funktion, die für eine sofortige Datenextraktion genutzt werden kann, wodurch sich die Durchlaufzeiten verkürzen. Da es sich um eine REST-API handelt, kann sie in mehrere Programmiersprachen integriert werden. Hier wird demonstriert, wie man sie in eine C#-Programmiersprache integriert.
Um die Datenerfassung mit der Nanonets OCR API in C# zu automatisieren, benötigen Sie Folgendes:
Anmeldung bei Nanonets - Sie können sich für eine kostenlose Testversion anmelden, indem Sie entweder Ihr Gmail-Konto oder eine bei Nanonets registrierte E-Mail verwenden.
Erstellen Sie ein OCR-Modell - Dadurch wird eine Modell-ID generiert, die später bei API-Aufrufen verwendet wird.
RestSharp ist eine einfache Rest- und HTTP-Client-Bibliothek für .NET. Sie wird zum Senden und Empfangen von API-Anfragen und zur Bearbeitung von Antworten verwendet. Diese Bibliothek wird für die Ausführung von Nanonets API-Code benötigt, da es sich ebenfalls um eine REST-API handelt.
Um RestSharp zu installieren, öffnen Sie den NuGet Package Manager für Ihre Lösung, suchen Sie nach RestSharp und installieren Sie es. Alternativ können Sie die Paketmanager-Konsole öffnen und den folgenden Befehl eingeben:
PM> Install-Package RestSharp
Jetzt ist alles eingerichtet und einsatzbereit.
Das Lesen von Daten aus Bildern kann eine recht mühsame Aufgabe sein. Auflösung und Qualität der Bilder spielen bei der Extraktion von Inhalten eine wichtige Rolle. Sowohl IronOCR als auch Nanonets bieten Funktionen zur optischen Zeichenerkennung, um Text aus Bildern zu extrahieren.
IronOCR macht es den Entwicklern sehr leicht den Inhalt einer Bilddatei lesen mit seiner leistungsstarken Klasse "IronTessaract". Wir werden den folgenden Code verwenden, um Text aus einer PNG-Bilddatei zu lesen:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("test-files/employmentapp.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Die Ausgabe von IronOCR entspricht dem ihm übergebenen Originalbild. Der Code ist sauber und einfach zu verstehen, ohne jegliche technische Details.
Nanonets bietet auch die Möglichkeit, Text aus Bildern zu extrahieren. Dazu wird ein API-Aufruf mit dem Authentifizierungsschlüssel durchgeführt und das Bild anschließend auf den Nanonets-Server hochgeladen. Das schnelle OCR-Tool gibt dann den extrahierten Text als Antwort an die Anwendung zurück. Hier ist ein Beispiel für den Code:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/FullText")
client.Timeout = -1
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddFile("file", "FILE_PATH")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)
Die Ausgabe ist nicht perfekt. Das Bild enthielt strukturierte Daten, von denen nur ein Teil ordnungsgemäß abgerufen wurde. Bei einem anderen einfachen Textbild war die Ausgabe in Ordnung. Beachten Sie, dass das Modell für genauere Ergebnisse trainiert werden kann.
IronOCR bietet eine nützliche Funktion zum Lesen von Bildern, die auch die Möglichkeit bietet, Barcodes und QR-Codes zu erkennen und zu lesen. Um diese Funktion zu aktivieren, setzen Sie die Konfigurationseigenschaft ReadBarcodes
auf true, bevor Sie das Bild verarbeiten. Sobald die OCR-Verarbeitung abgeschlossen ist, gehen Sie die OCR-Ergebnisse durch, um den Wert jedes erkannten Strichcodes zu extrahieren. Nachfolgend finden Sie ein Beispiel für das Lesen von Barcodes mit IronOCR:
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("test-files/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
Alle drei Strichcodes im Eingabebild werden erfolgreich gelesen, und ihr verborgener Text wird angezeigt.
Nanonets OCR API bietet die Möglichkeit, QR-Codes zu erkennen. Diese Funktion ist jedoch nur im Enterprise-Tarif verfügbar, und Sie müssen den Vertrieb kontaktieren, um sie zu nutzen. Außerdem können Sie mit Nanonets bestimmte Teile von Dokumenten oder Belegen erkennen. Außerdem bietet es weitere Funktionen wie Kreditorenbuchhaltung, Rechnungsbearbeitung und Buchhaltungsautomatisierung.
Das Lesen von PDF-Dateien ist mit IronOCR genauso einfach wie das Lesen von Bilddateien. Die einzige Änderung, die erforderlich ist, ist die Verwendung der Methode AddPDF
anstelle von AddImage
im Code zum Lesen von Bildern. Der Code lautet wie folgt:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("test-files/example.pdf")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Der extrahierte Text hat das gleiche Format wie die PDF-Datei.
Das Lesen von Daten aus PDF-Dateien ist auch in der Nanonets OCR API verfügbar. Der Code ist fast identisch mit dem Code für die Bildtexterkennung, mit Ausnahme der in der Anfrage verwendeten URL. Werfen wir einen Blick auf den Code:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddHeader("accept", "Multipart/form-data")
request.AddFile("file", "test-files/example.pdf")
Dim response As RestResponse = client.Execute(request)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Console
Ersetzen Sie im obigen Code die model_id durch Ihre OCR-Modell-ID. Ersetzen Sie außerdem den API-Schlüssel durch Ihren eigenen API-Schlüssel. Ersetzen Sie dann den Pfad der PDF-Datei durch den Pfad zu Ihrer eigenen Datei.
Die Ausgabe ist ähnlich wie bei IronOCR, aber zusätzliche Leerzeichen und neue Zeilen sind in der Ausgabe von Nanonets OCR enthalten.
IronOCR ist für Entwicklungszwecke kostenlos, für die kommerzielle Nutzung muss es jedoch lizenziert werden. Es bietet auch eine kostenlose Testversion an, mit der Sie alle Möglichkeiten für Ihre Bedürfnisse testen können. Das Lite-Paket beginnt bei $749 mit einer 30-tägigen Geld-zurück-Garantie. IronOCR bietet ein Jahr lang kostenlosen Produktsupport und Updates, danach 399 US-Dollar pro Jahr. Alle Lizenzen sind unbefristet, d. h. es gibt nur einen einmaligen Kauf und keine versteckten Kosten. Sie können sich auch für eine lizenzgebührenfreie Weiterverbreitung von SaaS- und OEM-Produkten für nur $1999 einmalig entscheiden. Weitere Informationen über Lizenzpakete und Preispläne finden Sie unter link.
Nanonets OCR API bietet drei verschiedene Pakete an. Sie können sich kostenlos für das Einstiegspaket anmelden. Die ersten 500 Seiten sind kostenlos, danach werden 0,3 $ pro Seite berechnet. Sie zahlen nur für das, was Sie nutzen. Ausführlichere Informationen zur Preisgestaltung finden Sie hier link.
IronOCR bietet C#-Entwicklern die erweiterte Tesseract-API, die auf den meisten Plattformen verfügbar ist. Es kann auf Windows, Linux, Mac, Azure, AWS und Lambda bereitgestellt werden und unterstützt .NET-Framework-Projekte sowie .NET-Standard und .NET Core. IronOCR ermöglicht auch das Lesen von Barcodes in OCR-Scans und sogar den Export von OCR als HTML und durchsuchbare PDFs. Für weitere Informationen über C# Tesseract OCR klicken Sie bitte auf hier.
Nanonets OCR API bietet eine Vielzahl von OCR-Tools. Es bietet sofort einsetzbare OCR-Lösungen für verschiedene Dokumententypen wie Rechnungen, Quittungen, Rechnungen, Formulare und Ausweise zur Automatisierung der Datenerfassung. Es ist keine Einrichtung von Vorlagen erforderlich, es gibt keine versteckten Kosten und es ermöglicht eine 90%ige Zeitersparnis und eine 10-fache Produktivität mit Nanonets OCR API.
IronOCR-Lizenzen sind entwicklerbasiert, was bedeutet, dass Sie immer eine Lizenz auf der Grundlage der Anzahl der Entwickler erwerben sollten, die das Produkt verwenden werden. Die Preispläne von Nanonets basieren auf der Anzahl der Bilder oder PDF-Seiten, aus denen Informationen extrahiert und die Daten analysiert werden. Die Pro- und Enterprise-Pläne werden monatlich pro Modell berechnet, und die Preise steigen, wenn die Anzahl der Modelle und Seiten im Vergleich zu IronOCR-Lizenzen zunimmt. Darüber hinaus sind IronOCR-Lizenzen einmalig zu erwerben und können ein Leben lang genutzt werden, und sie unterstützen OEM- und SaaS-Vertrieb.
Im Gesamtvergleich bieten beide APIs KI- und ML-basierte OCR-Funktionen. IronOCR hat einen leichten Vorteil gegenüber Nanonets, da es offline verwendet werden kann und auch bei unstrukturierten Dokumenten zuverlässigere Ergebnisse liefert. IronOCR bietet die Möglichkeit, benutzerdefinierte Daten mit schneller Integration für genauere Ergebnisse zu verwenden. Nanonets OCR bietet die Möglichkeit, das Modell auf der Grundlage von Schlüsselfeldern zu trainieren, und es kann schwer zu erkennen sein, wenn es nicht richtig trainiert wurde. Darüber hinaus bietet IronOCR mehrsprachigen Support und unterstützt bis zu 127+ internationale Sprachen.
Jetzt können Sie fünf Iron Produkte zum Preis von zwei als Teil der kompletten Iron Suite erhalten. Besuchen Sie diese link um mehr zu erfahren.
IronOCR bietet auch eine kostenloser Test mit einer Geld-zurück-Garantie. Sie können IronOCR von dieser Seite herunterladen link.
9 .NET API-Produkte für Ihre Bürodokumente