Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Optische Zeichenerkennung (OCR) ist eine Technologie, die Fotos, handschriftliche Dokumente, gedruckten Text und gescannte Dokumente in maschinenlesbaren Text umwandelt. Es handelt sich um eine gängige Methode zur Digitalisierung gedruckter Texte, damit diese elektronisch bearbeitet, durchsucht, kompakter gespeichert, online angezeigt und in maschinellen Prozessen wie kognitivem Rechnen, maschineller Übersetzung und (extrahiert) umwandlung von Text in Tabellenkalkulationen. Es ist eine weit verbreitete Form der Dateneingabe von gedruckten Papierdatensätzen - ob Passdokumente, Rechnungen, Kontoauszüge, Computerbelege, Visitenkarten, Post, Ausdrucke von statischen Daten oder andere geeignete Dokumente. Mustererkennung, künstliche Intelligenz und Computer Vision fallen alle unter das Dach der OCR-Forschung.
In diesem Artikel werden wir zwei gängige Bibliotheken und Anwendungen für die OCR von PDF-Dokumenten und Bildern vergleichen. Diese sind:
ABBYY FineReader PDF ist eine optische Zeichenerkennung (OCR) anwendung, die von ABBYY erstellt wurde. Es ermöglicht die Konvertierung von Bilddokumenten (bilder, Scans, PDF-Dateien)und Bildschirmaufnahmen können in bearbeitbare Dateiformate wie Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Rich Text Format, HTML, PDF/A, durchsuchbares PDF, CSV und Text konvertiert werden (einfacher Text).
ABBYY FineReader ist eine Desktop-Anwendung, die sowohl für Windows, Linux als auch für macOS verfügbar ist. Es ermöglicht auch die Erstellung von bearbeitbaren Formaten für PDF-Dateien. Wir können auch PDFs lesen, genauso wie wir es mit Adobe Acrobat können. ABBYY FineReader integriert gescannte Dokumente in digitale Arbeitsabläufe.
Verwalten und vervollständigen Sie Dokumente auf einfache und effiziente Weise, um Zeit und Mühe zu sparen. Arbeiten Sie mit jedem Dokument auf dieselbe methodische Art und Weise, unabhängig davon, ob es digital erstellt oder von Papier konvertiert wurde. Sie können den Text, die Tabellen und das gesamte Layout Ihrer PDF-Datei ändern, ohne sie vorher konvertieren zu müssen.
ABBYY FineReader PDF kann PDFs aus mehr als 25 verschiedenen Dateiformaten erstellen, direkt aus Papierdokumenten oder durch Drucken auf einem PDF-Drucker aus praktisch jeder Anwendung. PDF/A-1 bis PDF/A-3 werden für die Langzeitarchivierung unterstützt, und PDF/UA sorgt dafür, dass die Inhalte auch bei Verwendung von Hilfsmitteln wie Bildschirmlesegeräten zugänglich sind. Außerdem ermöglicht es den Fachleuten, die Effizienz am digitalen Arbeitsplatz zu maximieren.
Erstellen und aktualisieren Sie Ihre eigenen interaktiven PDF-Formulare mit ABBYY FineReader, um erfolgreich Informationen zu sammeln und Dokumente zu standardisieren. Erstellen Sie Formulare, indem Sie interaktive Felder verschiedener Typen kombinieren, Aktionen festlegen, vorhandene PDF-Formulare bearbeiten oder Formularelemente zu einer herkömmlichen PDF-Datei hinzufügen.
ABBYY FineReader kann Papierdokumente, Scans und gescannte PDFs sofort in durchsuchbare PDFs umwandeln, so dass Sie Dokumente aus digitalen Archiven wiederfinden und auf die darin enthaltenen Informationen zugreifen können. FineReader PDF unterstützt alle Konformitätsstufen und Varianten des PDF/A-Formats, dem Industriestandard für die Langzeitarchivierung, von PDF/A-1 bis PDF/A-3.
Die neueste KI-basierte OCR-Technologie von ABBYY, FineReader PDF, erleichtert das Digitalisieren, Abrufen, Bearbeiten, Schützen, Freigeben und gemeinsame Bearbeiten aller Arten von Dokumenten im selben Workflow. FineReader beinhaltet auch einen Dokumentenvergleich, der uns hilft, Originaldokumente sowie konvertierte PDFs und Bilddateien zu vergleichen.
IronOCR bietet Software für Ingenieure, die IronOCR for .NET zum Lesen von Textinhalten aus Fotos und PDFs in .NET-Anwendungen und Websites verwenden. Es scannt Fotos nach Text und Barcodes und unterstützt zahlreiche Sprachen weltweit; die Ausgabe kann dann entweder als reiner Text oder als strukturierte Daten erfolgen. Die OCR-Bibliothek von Iron Software kann in MVC-, Web-, Konsolen- und Desktop-.NET-Anwendungen verwendet werden. Für kommerzielle Einsätze wird die Lizenzierung mit direkter Unterstützung durch das Entwicklungsteam durchgeführt.
Öffnen Sie die Visual Studio-Software und gehen Sie zum Menü "Datei". Wählen Sie "Neues Projekt" und dann "Konsolenanwendung".
Geben Sie den Projektnamen ein und wählen Sie den Dateipfad in dem entsprechenden Textfeld aus. Klicken Sie dann auf die Schaltfläche "Erstellen" und wählen Sie das gewünschte .NET-Framework aus, wie in der folgenden Abbildung dargestellt.
Das Visual Studio-Projekt generiert nun die Struktur für die ausgewählte Anwendung, und wenn Sie die Konsolen-, Windows- und Webanwendung ausgewählt haben, wird nun die Datei program.cs geöffnet, in die Sie den Code eingeben und die Anwendung erstellen/ausführen können.
Als nächstes können wir die Bibliothek hinzufügen, um den Code zu testen.
Sie können den ABBYY FineReader hier herunterladen.
Die obige Abbildung zeigt, dass es zwei Versionen gibt, Individual und Business, die Sie je nach Ihren Anforderungen herunterladen können. Wählen Sie die Option "Kostenlose Testversion herunterladen". Sie werden zu einem Formular weitergeleitet, wie auf dem Bild unten zu sehen ist:
Wir müssen das Formular ausfüllen, um den Speicherort der EXE-Datei zu erhalten. Klicken Sie auf die Option "Download", um die Datei herunterzuladen.
Sobald das Herunterladen der Datei abgeschlossen ist, können wir auf die EXE-Datei doppelklicken, um die Installation zu starten. Nach der Fertigstellung wird eine Popup-Meldung angezeigt, und das Programm ist nun einsatzbereit.
IronOCR Library kann auf vier Arten heruntergeladen und installiert werden.
Diese sind:
Visual Studio bietet die Option NuGet Package Manager, um das Paket direkt in der Lösung zu installieren. Der folgende Screenshot zeigt, wie Sie den NuGet Package Manager öffnen.
Es bietet ein Suchfeld, um die Liste der Pakete von der NuGet-Website anzuzeigen. Im Paketmanager müssen wir nach dem Schlüsselwort IronOCR suchen, wie im folgenden Screenshot dargestellt:
In der obigen Abbildung sehen Sie die Liste der verwandten Suchbegriffe. Wir müssen die gewünschte Option auswählen, um das Paket in der Lösung zu installieren.
Gehen Sie in Visual Studio zu Werkzeuge -> NuGet-Paketmanager -> Paketmanager-Konsole
Geben Sie auf der Registerkarte Paketmanager-Konsole die folgende Zeile ein:
Install-Package IronOcr
Anschließend wird das Paket in das aktuelle Projekt heruntergeladen/installiert und ist sofort einsatzbereit.
Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Website herunterzuladen.
Klicken Sie auf die link hier, um das neueste Paket direkt von der Website herunterzuladen. Führen Sie nach dem Download die folgenden Schritte aus, um das Paket zum Projekt hinzuzufügen.
Sowohl IronOCR als auch Abbyy Finereader verfügen über eine OCR-Technologie, die das Bild in eine Textsuche umwandelt.
Als Nächstes öffnen Sie die ABBYY FineReader PDF-App, die sich mit mehreren Optionen öffnet, wie in der Abbildung unten dargestellt.
Wählen Sie dann in den Optionen des OCR-Editors die Option "Öffnen". Daraufhin wird eine Option zur Auswahl von Bilddateien angezeigt:
Nachdem Sie eine Datei ausgewählt haben, beginnt das Programm automatisch mit dem Scannen des Bildes in einen bearbeitbaren Text und zeigt das Ergebnis im Fenster an, wie in der Abbildung unten zu sehen ist:
Das obige Bild zeigt das in bearbeitbaren Text umgewandelte Ausgangsbild. Das Ergebnis ist jedoch nicht sehr genau. Einige der Zahlen werden von der ABBYY FineReader PDF-App nicht erkannt. Dies ist in den Vergleichsfenstern deutlich zu sehen - auf der linken Seite befindet sich das Ausgangsbild, auf der rechten Seite der OCR-konvertierte Text.
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("3.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using
Die Tesseract 5 API, mit der wir Bilddateien in Text umwandeln können, wird oben demonstriert. In der obigen Codezeile erstellen wir ein Objekt für Iron Tesseract. Wir erstellen auch ein OcrInput-Objekt, mit dem wir eine oder mehrere Bilddateien hinzufügen können. Es kann sein, dass wir den verfügbaren Bildpfad im Code angeben müssen, wenn wir die Methode add des OcrInput-Objekts verwenden. Es können beliebig viele Bilder hinzugefügt werden. Die Funktion "Lesen" im Objekt IronTesseract, das wir zuvor konstruiert haben, kann verwendet werden, um die Bilder zu erhalten, indem die Bilddatei geparst und das Ergebnis in das OCR-Ergebnis extrahiert wird. Es ist in der Lage, Text aus Fotos zu extrahieren und in eine Zeichenkette zu konvertieren.
Wir können auch Tesseract verwenden, um Bilder mit mehreren Bildern hinzuzufügen. "AddMultiFrameTiff" ist eine andere Methode für diesen Vorgang. Die Tesseract-Bibliothek liest jedes Einzelbild des Bildes, und jedes Einzelbild wird als eine eigene Seite behandelt. Der Prozess liest das erste Bild und fährt dann mit dem nächsten Bild fort, bis alle Bilder des Bildes gescannt worden sind usw. Diese Methode unterstützt nur das tiff-Bildformat.
Das obige Bild ist die Ausgabe des IronOCR-Ergebnisses, das genau ist und die Daten korrekt in bearbeitbaren Text umwandelt.
IronOCR und ABBYY FineReader PDF helfen bei der Umwandlung einer PDF-Datei in bearbeitbaren Text. ABBYY FineReader PDF bietet dem Benutzer eine Liste von Optionen, wie z.B. die Seite speichern, Bild bearbeiten, Seite erkennen, usw. Es bietet auch Speicheroptionen wie txt, Dokument, HTML-Format, etc. IronOCR ermöglicht es uns auch, konvertierte OCR-Dateien in HTML, txt, pdf usw. zu speichern.
Öffnen Sie die ABBYY FineReader PDF-Software. Daraufhin öffnet sich eine Seite wie die folgende, die mehrere Optionen bietet.
Wählen Sie dann in den Optionen des OCR-Editors die Option "Öffnen". Daraufhin wird eine Option zur Auswahl des Bildes/PDFs angezeigt. Wir können entweder ein PDF oder ein Bild oder beide Dateien auswählen.
Nachdem Sie die Datei ausgewählt haben, klicken Sie auf die Schaltfläche OK. Das Programm beginnt automatisch mit dem Einscannen des Bildes in einen bearbeitbaren Text und zeigt das Ergebnis in einem Fenster wie dem unten abgebildeten an.
Das obige Bild zeigt die in bearbeitbaren Text umgewandelte PDF-Quelle. Das Ergebnis ist jedoch nicht ganz korrekt. Einige der Nummern werden von der Anwendung ABBYY FineReader PDF nicht erkannt. Dies ist in den Vergleichsfenstern deutlich zu sehen - auf der linken Seite befindet sich das Ausgangs-PDF, auf der rechten Seite der OCR-konvertierte Text.
Wir können OCRInput auch zur Verwaltung von PDF-Dateien verwenden. Jede Seite der Papiere wird von der Iron Tesseract-Klasse gelesen. Der Text wird dann aus den Seiten extrahiert. Wir können geschützte Dokumente auch mit einer zweiten Funktion namens "AddPdf" öffnen, mit der wir PDFs zu unserer Dokumentenliste hinzufügen können (passwort, wenn es geschützt ist). Der folgende Code zeigt, wie ein kennwortgeschütztes PDF-Dokument geöffnet werden kann:
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Die folgenden Methoden werden auch von Iron Tesseract angeboten:
AddPdfPages
Mit "Addpdfpage" können wir den Inhalt einer einzelnen Seite in einem PDF-Dokument lesen und extrahieren Es muss nur die Seitenzahl angegeben werden, aus der wir den Text extrahieren wollen. mit "AddPdfPage" können wir Text aus zahlreichen Seiten extrahieren, die wir angeben. In IEnumerable
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
'single pageInput.AddPdfPage("example.pdf",10);
'Multiple pageInput.AddPdfPages("example.pdf", numbers);
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
Mit der Funktion SaveAsTextFile können wir das Ergebnis als Textdatei speichern, so dass wir die Datei in den Pfad des Ausgabeverzeichnisses herunterladen können. Außerdem können wir die Datei mit SaveAsHocrFile in der HTML-Datei speichern.
FineReader verfügt über einige zusätzliche Optionen wie z. B.: Textbereich zeichnen, Bildbereich zeichnen, Tabellenbereich zeichnen, Erkennungsbereich zeichnen, usw. Diese helfen dem Benutzer, die Leistung der OCR zu verbessern. Zusätzlich zur OCR ermöglicht die Anwendung auch die Durchführung von Operationen wie das Kombinieren von PDFs, das Aufteilen von PDFs, das Bearbeiten von PDFs usw.
IronOCR verfügt über einzigartige Funktionen, mit denen wir Barcodes und QR-Codes von gescannten Dokumenten lesen können. Die folgenden Codes zeigen, wie wir Strichcodes aus einem bestimmten Bild oder Dokument lesen können.
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("barcode.gif")
Dim Result = Ocr.Read(Input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
Der obige Code hilft beim Lesen von Strichcodes aus einem bestimmten Bild oder PDF-Dokument. Es kann mehr als einen Barcode von einer Seite/einem Bild lesen. Um den Barcode zu lesen, hat IronOCR eine einzigartige Einstellung Ocr.Configuration.ReadBarCodes, die beim Lesen des Barcodes hilft; ist der Standardwert auf false gesetzt.
Nach dem Lesen der Eingabe werden die Daten in dem Objekt OCRResult gespeichert; hat eine Eigenschaft namens Barcodes, die alle verfügbaren Barcodedaten in einer Liste zusammenfasst. Mithilfe der for-each-Schleife können wir alle Details der Barcodes einzeln abrufen. Außerdem wird der Barcode gescannt und der Wert des Barcodes gelesen - zwei Vorgänge in einem Vorgang!
Darüber hinaus werden auch Threading-Optionen unterstützt, was bedeutet, dass wir mehrere OCR-Prozesse gleichzeitig durchführen können. IronOCR ist auch in der Lage, einen bestimmten Bereich aus einer bestimmten Region zu erkennen.
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Der obige Code ist ein Beispiel für die Durchführung von OCR in einer bestimmten Region. Wir müssen nur den rechteckigen Bereich auf dem Bild oder PDF angeben - die Tesseract-Engine in IronOCR ermöglicht die Erkennung des Textes.
Beim Einsatz von IronOCR im Kontext des .NET-Frameworks ist Tesseract unkompliziert und einfach zu bedienen. Es unterstützt Fotos und PDF-Dokumente auf vielfältige Weise. Außerdem bietet es eine Reihe von Einstellungen zur Verbesserung der Leistung der Tesseract OCR-Bibliothek. Es werden verschiedene Sprachen unterstützt, auch mehrere Sprachen in einem einzigen Vorgang. Wenn Sie mehr über Tesseract OCR erfahren möchten, besuchen Sie die Website des Unternehmens.
ABBYY FineReader PDF ist eine Softwareanwendung, die eine künstliche Intelligenz verwendet, um ein Bild/PDF-Dokument zu erkennen. Es bietet auch verschiedene Einstellungen, um die Leistung des OCR-Prozesses zu verbessern. Darüber hinaus bietet es die Möglichkeit, mehrere Sprachen auszuwählen. ABBYY FineReader PDF hat einige Einschränkungen bei der Verwendung der Seitenkonvertierung. Es gibt unterschiedliche Preise für verschiedene Betriebssysteme. Wenn Sie mehr über die Preisdetails von ABBYY FineReader PDF erfahren möchten, klicken Sie auf hier.
IronOCR ist besser als ABBYY FineReader PDF. Der Vergleich zeigte, dass FineReader einige der Bilder mit niedriger Qualität nicht erkannte, während er auch einige Zeichen auf dem Bild nicht erkannte und sie als unbekannt meldete. IronOCR hingegen zeigt vollständige und genaue Ergebnisse. Es ermöglicht uns auch, Barcodedaten zu erkennen und die Werte von Barcodes aus Bildern zu lesen. Das IronOCR-Paket bietet eine lebenslange Lizenz, und es fallen keine laufenden Kosten an. Das IronOCR-Paket unterstützt mehrere Plattformen zu einem einzigen Preis. Um mehr über die IronOCR-Preisdetails zu erfahren, klicken Sie auf hier.
9 .NET API-Produkte für Ihre Bürodokumente