Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die optische Zeichenerkennung identifiziert den Text, der in einem Bild gelesen werden kann. Es gibt viele Möglichkeiten, die optische Zeichenerkennung zu nutzen. So können beispielsweise alte Papierdokumente gescannt und digitalisiert werden, um sie in durchsuchbare elektronische Dokumente umzuwandeln. Auch für die Strafverfolgungsbehörden ist es nützlich, durch die Prüfung von Fotos und Videos kriminelle Beweise zu identifizieren. Damit eine Maschine oder ein Computer in der Lage ist, die Zeichen auf einem Dokument zu erkennen, muss er die verwendete Schriftart und das Schriftsystem kennen, in dem diese Zeichen geschrieben wurden. Häufig wird dieses Verständnis durch Software der künstlichen Intelligenz, so genannte Bilderkennungsalgorithmen, erreicht, die auf großen Datensätzen von Textbildern trainiert und abgestimmt werden.
OCR ist eine wichtige Technologie, die vielseitig einsetzbar ist. Es wird häufig eingesetzt, um gescannte Papierdokumente zu lesen und sie in digitale Dateien umzuwandeln, die am Computer bearbeitet und durchsucht werden können. OCR kann jedoch auch auf verschiedene andere Arten von Informationen angewendet werden, z. B. auf gedruckten Text auf Schildern oder Etiketten, hand- oder maschinengeschriebenen Text aus Schecks, Formularen und anderen Geschäftsunterlagen und sogar auf transkribierte medizinische Aufzeichnungen aus Audioaufnahmen.
In diesem Artikel werden wir zwei .NET OCR-Bibliotheken vergleichen.
IronOCR ist die neueste und fortschrittlichste OCR(Optische Zeichenerkennung) bibliothek für .NET C# und VB. IronOCR kann Barcodes und QR-Codes aus allen Bildformaten scannen, Text lesen und PDF-Scans mit der neuesten Tesseract 5-Engine durchführen. IronOCR kann OCR-Funktionalität in alle .NET-Projektvorlagen wie Desktop-Anwendungen, Konsolen- und Web-Anwendungen mit nur wenigen Zeilen und ohne Hinzufügen einer Bibliothek einfügen. IronOCR ist eine der genauesten OCR-Engines für .NET-Projekte.
Lassen Sie uns einige der einzigartigen Eigenschaften von IronOCR besprechen:
IronOCR kann problemlos OCR an PDF-Dateien durchführen und durchsuchbare PDF-Dokumente mit OCR exportieren.
IronOCR unterstützt alle wichtigen Sprachen, darunter Arabisch, Chinesisch, Englisch, Finnisch, Französisch, Deutsch, Japanisch und viele mehr. IronOCR bietet die Möglichkeit, die Ausgabe in verschiedenen Formaten anzuzeigen, z. B. als Barcodedaten, Klartext oder als OCR-Ergebnisklasse, die Zeilen, Wörter, Absätze und Zeichen enthält. IronOCR verwendet die Tesseract-Bibliothekstechnologie.
IronOCR ist mit Mac-, Windows- und Linux-Rechnern kompatibel. Es unterstützt auch Azure und Docker für Cloud-Lösungen. Das neueste Update von IronOCR nimmt .NET Core 3.1 und .NET 6 in die Unterstützungsliste auf und bietet auch Unterstützung für Xamarin for MacOS.
Das Tesseract.net SDK ist ein Produkt von Patagames, einer optischen Zeichenerkennung(OCR) bibliothek für .NET-Projekte und bietet eine Methode zum Hinzufügen von OCR-Funktionen wie Texterkennung in .NET-Anwendungen. Das Tesseract.NET SDK ist eine OCR-Engine, die verschiedene Bildformate lesen und Bilder in Text umwandeln kann. Es unterstützt bis zu 60 Sprachen. Es unterstützt auch das Lesen und Scannen von PDF-Dokumenten und konvertiert sie in durchsuchbare PDF-Dateien. Das Tesseract.NET SDK ist im Wesentlichen eine Klassenbibliothek, die auf dem Tesseract OCR-Projekt basiert. Es verfügt über eine Tesseract-Engine zur Durchführung von OCR. Die Patagames.Ocr.xml enthält die XML-Dokumentation der API.
Das Tesseract.NET SDK unterstützt das .NET-Framework 2.0 bis 4.5 auf 32- und 64-Bit-Betriebssystemen. Dieses SDK kann mit Windows XP und anderen Windows-Versionen wie Windows 7, Vista, 8, 10 und 11 verwendet werden. Es ist mit 32-Bit- und 64-Bit-Betriebssystemen kompatibel und kann daher auf jeder CPU verwendet werden.
Leider ist das .NET SDK nicht für macOS oder Linux verfügbar.
Schauen wir uns an, wie wir IronOCR und das Tesseract.NET SDK in unserem Projekt einsetzen können.
Wir verwenden die Version 2022 von Visual Studio, um dieses Projekt zu erstellen. Für einen reibungslosen Ablauf wird die neueste Version von Visual Studio empfohlen. Als nächstes öffnen Sie Visual Studio und klicken auf "Neues Projekt erstellen". Danach klicken Sie auf die "Konsolenanwendung" aus den Vorlagen und konfigurieren Ihr Projekt.
Geben Sie nun den Namen des Projekts ein. Ich werde den Namen "IronOCR vs. Tesseract.NET SDK" vergeben. Wählen Sie dann den Pfad aus, in dem Sie ein Projekt erstellen möchten, und drücken Sie die Eingabetaste.
Wählen Sie anschließend die .NET-Version aus. Wir verwenden die neueste Version von .NET, nämlich .NET 6, und IronOCR unterstützt sie. Sie können das verwenden, was am besten zu Ihren Anforderungen an das Projekt passt.
Nachdem Sie auf die Schaltfläche Erstellen geklickt haben, wird die Projektvorlage das Projekt erstellen und ist nun bereit für die Installation von Bibliotheken. Lassen Sie uns die Bibliotheken direkt installieren.
Jetzt ist es an der Zeit, die Bibliotheken zu installieren und die Funktionalitäten zu überprüfen. Zunächst installieren wir die IronOCR-Bibliothek.
IronOCR unterstützt die Installation mit verschiedenen Methoden. Wir können jeden Ansatz wählen. Alle Methoden sind sicher.
Wir können die IronOCR-Bibliothek über die GUI des NuGet-Paketmanagers in Visual Studio installieren. Wir können darauf zugreifen, indem wir auf Tools > NuGet Package Manager > Manage NuGet Packages for solution klicken.
Gehen Sie auf die Registerkarte Durchsuchen und suchen Sie nach IronOCR. Wählen Sie IronOCR aus den Suchergebnissen aus und installieren Sie es in unserem Projekt.
Jetzt haben wir die IronOCR-Bibliothek in unserem Projekt installiert. Es ist bereit für die Verwendung in unserem .NET-Projekt.
Wir können die NuGet Package Manager Console verwenden, um die IronOCR-Bibliothek zu installieren. Gehen Sie in die Befehlszeile, die sich in der Regel unterhalb der Codedatei befindet, und schreiben Sie die folgende Zeile in die Befehlszeile und drücken Sie die Eingabetaste.
Installieren-Paket IronOcr
Es beginnt mit der Installation der IronOCR-Bibliothek. Nach der Installation ist es für unser Projekt einsatzbereit.
Wir können das Tesseract.NET SDK mit dem NuGet Package Manager installieren. Um das Tesseract.NET SDK zu installieren, gehen Sie zu Tools > NuGet Package Manager > Manage NuGet Packages for Solution. Gehen Sie auf die Registerkarte Durchsuchen und suchen Sie nach dem Tesseract.NET SDK. Wählen Sie das Tesseract.NET SDK aus den Suchergebnissen aus und installieren Sie es. Nach der Installation können wir das Tesseract.NET SDK in unserem Programm verwenden.
Nach der Installation können Sie diese drei Ordner im Lösungsexplorer sehen.
Diese Ordner enthalten wichtige Daten, die Tesseract zur Durchführung der OCR benötigt. Jetzt sind wir bereit, die OCR-Funktion in unser Projekt einzubinden.
Es ist nun an der Zeit, die Fähigkeiten von IronOCR und dem Tesseract.NET SDK zu testen. Beide Bibliotheken können OCR für Bilder durchführen. Wir werden sie anhand eines gekippten und verrauschten Bildes mit Text testen.
Dies ist das Bild, das wir für die Tests verwenden werden.
Zunächst sehen wir uns die vom Tesseract.NET SDK erzeugte Ausgabe für das Testbild an. Werfen wir einen Blick auf den Code:
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Console.WriteLine(plainText);
}
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Console.WriteLine(plainText);
}
Imports Patagames.Ocr
Using api = OcrApi.Create()
api.Init(Patagames.Ocr.Enums.Languages.English)
Dim plainText As String = api.GetTextFromImage("C:\Users\Administrator\Desktop\Input.jpg")
Console.WriteLine(plainText)
End Using
Als erstes werden wir die Patagames importieren. OCR-Bibliothek für die Verwendung des Tesseract.NET SDK. Danach erstellen wir eine OcrApi mit Hilfe der Funktion Create. Dann setzen wir die Standardsprache mit der Funktion Init auf Englisch. Als Nächstes extrahieren wir mit der Methode GetTextFromImage Klartext aus dem Bild, wobei wir als Parameter den Pfad der Bilddateien angeben. Dann schreiben wir den extrahierten Text in die Konsole.
Werfen Sie nun einen Blick auf die vom Tesseract.NET SDK erzeugte Ausgabe:
Dies ist also die Ausgabe, die wir vom Tesseract.NET SDK erhalten. Zunächst gibt es Fehler in Abhängigkeit von der Auflösung, was zeigt, dass es nur bei hochauflösenden Bildern gut funktioniert. Nach den Fehlern können wir den aus dem Bild extrahierten Text sehen. Wenn wir diesen Text mit dem Bild vergleichen, werden wir feststellen, dass er völlig anders ist. Der extrahierte Text enthält eine Menge irrelevanten Text, der keinen Sinn ergibt. Insgesamt besteht das Tesseract.NET SDK diesen Test nicht.
Als nächstes sehen wir uns die Ergebnisse von IronOCR an. Bevor wir uns den Ergebnissen zuwenden, sehen wir uns zunächst den Code für IronOCR an:
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Using Input = New OcrInput()
Input.AddImage("C:\Users\Administrator\Desktop\Input.jpg")
Input.Deskew()
Input.DeNoise()
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Im obigen Code importieren wir die IronOCR-Bibliothek in unser Programm und erstellen dann ein Objekt von IronTesseract, das den Prozess in Gang setzt. Danach stellen wir die Prozesssprache auf Englisch ein. Jetzt kann die eigentliche Arbeit beginnen. Wir machen das Objekt von OcrInput. Weisen Sie den Bildpfad mit der Funktion AddImage der Variablen Input zu. Wir verwenden die Funktion Deskew, um das Bild in seine tatsächliche Position zu drehen, und verwenden dann die Funktion Denoise, um das Rauschen aus dem Bild zu entfernen. Dies wird zu einem besseren Ergebnis führen. Danach verwenden wir die Lesefunktion, um Text zu erkennen und aus dem Testbild zu extrahieren. Anschließend wird das Ergebnis in der Konsole angezeigt. Sie können die Ausgabe auch als PDF-Datei in der Projektdatei speichern.
Hier ist die von IronOCR erzeugte Ausgabe:
Wenn wir die Ausgabe vergleichen, ist es derselbe Text, der auch auf dem Bild zu sehen ist. IronOCR extrahiert den Text perfekt und ohne jeden Fehler. IronOCR kann Text aus verzerrten und gedrehten Bildern extrahieren. Es funktioniert sogar mit Bildern mit niedriger Auflösung.
IronOCR unterstützt auch das Hinzufügen von Mehrfachbildern. Wir können die Methode "AddMultiFrameTiff" verwenden, um diese Operation durchzuführen. IronOCR liest jeden Frame des Bildes, und jeder Frame wird wie eine eigene Seite behandelt. Bei dieser Methode werden nur Tiff-Bilder unterstützt.
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddMultiFrameTiff("images/multiframe.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Werfen wir einen Blick auf den Code zur Erstellung einer durchsuchbaren PDF-Datei:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("images\page1.png") Input.AddImage("images\page2.bmp") Input.AddMultiFrameTiff("images\page3.tiff") Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
Die Funktion SaveAsSearchablePdf hilft dabei, die Dateien als durchsuchbar zu speichern.
IronOCR unterstützt 127 Sprachen. IronOCR unterstützt auch QR-Codes und Barcodes von mehr als 20 Lesearten. IronOCR kann Bilder in Graustufen konvertieren, um ein besseres Ergebnis zu erzielen. IronOCR kann die Bildauflösung manuell und automatisch verbessern. Außerdem unterstützt es die Autokontrastfunktion für beste Ergebnisse. IronOCR kann das Dokument in mehreren Sprachen und Formaten exportieren, z. B. als durchsuchbares PDF, als HTML-Export und als Bilder jeder Seite. IronOCR unterstützt viele Eingabeformate wie z. B. die folgenden:
IronOCR ist frei für die Entwicklung. Es bietet auch eine kostenlose Testversion für die Entwicklung. IronOCR bietet eine Reihe von Preisplänen für die Produktion an. Sie können den Tarif kaufen, der Ihren Bedürfnissen am besten entspricht. Es gibt Preispläne für Einzelpersonen, Entwicklerteams und Organisationen. Die Preise beginnen bei $749 für einen Lite-Plan für einen Entwickler und ein Projekt. Alle Pläne sind einmalige Zahlungen. Nutzer erhalten ein Jahr lang kostenlose Updates. Es unterstützt auch SaaS und OEM-Abdeckung. Professionelle Pläne sind für $999 erhältlich, während der unbegrenzte Plan für $2999 angeboten wird. Der unbegrenzte Plan umfasst eine unbegrenzte Anzahl von Entwicklern, Projekten und Standorten.
Weitere Informationen zu den Preisplänen finden Sie unter folgendem Link link. Außerdem bietet Iron Software derzeit ein Sonderangebot an, bei dem Sie eine Suite von fünf Softwarepaketen zum Preis von nur zwei erwerben können. Diese fünf Softwarepakete sind alle hervorragend: IronPDF, IronXL, IronOCR, IronBarcode und IronWebscraper.
Für das Tesseract.NET SDK gibt es auch einen Preisplan. Der Tesseract.NET SDK-Plan beginnt bei $220 für einen Entwickler und ein Projekt. Wichtig zu wissen ist, dass der Preisplan einen Verlängerungsplan beinhaltet. Sie müssen also entweder jährlich oder monatlich bezahlen, um sicherzustellen, dass das Tesseract.NET SDK in Ihrem Projekt eingesetzt wird. Weitere Informationen über den Preisplan für das Tesseract.NET SDK finden Sie hier link.
IronOCR ist die perfekte Bibliothek für die anstehenden Aufgaben. IronOCR unterstützt außerdem 127 Sprachen und ist damit weltweit anerkannt. Es unterstützt mehrere Bildformate und PDFs für die Eingabeverarbeitung. Es führt auch die Vorverarbeitung der Bilder durch, um die besten Ergebnisse zu erzielen. IronOCR ist eine überzeugende .NET-Bibliothek. Es kann Text in einem bestimmten Bereich eines Bildes erkennen. IronOCR konzentriert sich auf die Genauigkeit, und die Ergebnisse sind in dieser Hinsicht wirklich erstaunlich. Die Entwickler benötigen keine zusätzlichen Dateien und Bibliotheken, um OCR durchzuführen. Insgesamt ist es die perfekte Bibliothek.
Das Tesseract.NET SDK ist auch eine Soundbibliothek für .NET-Projekte. Es bietet OCR-Dienste in 60 Sprachen an. Es basiert auf dem Tesseract OCR-Projekt. Mit seinen Funktionen kann es gescannte Bilder in durchsuchbare PDFs umwandeln. Das Tesseract.NET SDK akzeptiert eine breite Palette von Bildformaten für die Eingabeverarbeitung. Es bietet High-Level-Dienste zur Unterstützung seiner OCR-Funktionen in .NET-Projekten.
IronOCR und das Tesseract.NET SDK haben beide Preispläne. IronOCR for .NET bietet jedoch eine etwas größere Vielfalt bei den Preisen und ist auch günstiger als das Tesseract.NET SDK. Der Grund dafür ist, dass IronOCR nur einmalige Zahlungen akzeptiert, während das Tesseract.NET SDK monatliche oder jährliche Verlängerungen vorsieht. Auf lange Sicht müssen Sie also zwangsläufig mehr für das Tesseract.NET SDK bezahlen, auch wenn der Einstiegspreis niedriger ist als der von IronOCR.
Aus der Analyse des gesamten Szenarios und dem Testen der Fähigkeiten beider Bibliotheken können wir schließen, dass IronOCR in Bezug auf die Leistung bei unscharfen und gedrehten Dokumenten, die gekippt und ein wenig verrauscht sind, eine bessere Option ist als das Tesseract.NET SDK. Die OCR-Fähigkeit beider Bibliotheken ist gut, aber IronOCR ist eine fortgeschrittene Bibliothek mit besseren Funktionen wie Bildvorverarbeitung, Rauschunterdrückung und Drehen von Bildern in ihre ursprüngliche Position. Das Tesseract.NET SDK unterstützt bis zu 60 Sprachen und IronOCR unterstützt bis zu 127 Sprachen. Das Tesseract.NET SDK erfordert zusätzliche Dateien für verschiedene Sprachen, was das Programm zusätzlich belastet. Außerdem wurde das Tesseract.NET SDK schon vor längerer Zeit zuletzt aktualisiert.
IronOCR bietet eine kostenlose Testversion für Produktionstests an. Außerdem gibt es derzeit ein hervorragendes Sonderangebot, bei dem Sie die komplette Suite von fünf Iron Software-Paketen zum Preis von nur zwei Paketen erwerben können. Weitere Informationen über das Angebot erhalten Sie unter dieser Adresse link.
9 .NET API-Produkte für Ihre Bürodokumente