Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
OCR ist eine Technologie, die verwendet wird, um Dokumente unterschiedlicher Art in bearbeitbare und durchsuchbare Daten umzuwandeln. Es verwandelt gescannte Bilder, PDF-Dateien und Fotos von Digitalkameras in Daten, die bearbeitet und durchsucht werden können. Diese Technologie wird häufig verwendet, um gedruckte Dokumente in digitale Form umzuwandeln, um diese zu bearbeiten, zu durchsuchen und zu speichern, wodurch der physische Platzbedarf von Dokumenten verringert wird. OCRspielt eine große Rolle bei der Automatisierung der Dateneingabe, wodurch Unternehmen und Organisationen viel Zeit sparen, indem der Einsatz von menschlichen Arbeitskräften reduziert wird.
Es ist ein Prozess, der fortschrittliche Techniken des maschinellen Lernens und Mustererkennung verwendet, um Text genau aus Bildern zu extrahieren. Die neuesten Entwicklungen im Bereich OCR haben ihre Genauigkeit erhöht und unterstützen somit mehr Sprachen und komplexe Schriftarten wie die arabische Schrift. Sehr notwendig in der Finanz-, Gesundheits-, Gesetzgebungs- und Bildungsbranche, hat sich OCR als ein unverzichtbares Werkzeug erwiesen, wo die schnelle Verarbeitung mehrerer gedruckter Dokumente eine Voraussetzung war. Dieser Artikel wird Tesseract verwenden, um Bilder in mehreren Sprachdaten zu OCRisieren.
Installieren Sie zunächst das IronOCR/Tesseract NuGet-Paket in Ihrem .NET-Projekt.
Eine Instanz der Klasse IronTesseract wird erstellt, wodurch die OCR-Engine weiter initialisiert wird.
Es ist so konzipiert, dass die Language-Eigenschaft mehr als eine Sprache unterstützt.
Geben Sie den Bilddateipfad an, den Sie verarbeiten möchten, und erstellen Sie anschließend ein OcrInput-Objekt.
Nun führen Sie OCR auf dem Eingabebild mit der Read-Funktion der IronTesseract-Instanz aus.
Tesseract ist eine Open-Source-Engine für optische Zeichenerkennung, die von Hewlett-Packard entwickelt und später von Google gepflegt wurde. Es ist bekannt für seine hohe Genauigkeit und Anpassungsfähigkeit und gehört damit zu den bekanntesten OCRs. Tesseract unterstützt Schrifterkennung, erkennt Text in vielen Sprachen und kann mehrere Sprachen verarbeiten. Daher wird es im Allgemeinen für Projekte verwendet, die mehrsprachige Dokumente und Unterstützung erfordern.
Die Tesseract OCR-Engine arbeitet mit den Informationen, die in jedem einzelnen Pixel des Bildes enthalten sind, indem sie Muster verfolgt, die Zeichen, Wörter und Sätze darstellen und schließlich in maschinenlesbaren Text umgewandelt werden. Die Vielzahl von Bilddateiformaten, die es unterstützt, wie TIFF, JPEG und PNG, ermöglicht es Tesseract, Text in Formaten wie reinem Text, HTML und durchsuchbarem PDF zu erstellen.
Einer der bedeutenden Vorteile von Tesseract ist, dass es so trainiert werden kann, dass es auf bestimmte Schriftarten oder neu hinzugefügte Sprachen empfindlich reagiert. Es wird auch häufig in verschiedenen Anwendungen eingesetzt, die von der einfachen Textextraktion bis hin zu komplexen Aufgaben bei der Digitalisierung historischer Dokumente, der Verarbeitung von Rechnungen oder sogar in barrierefreier Software reichen, die das Lesen für Sehbehinderte ermöglicht.
Öffnen Sie das Programm Visual Studio. Beim Öffnen des Programms gehen Sie zum "Dateimenü". Unter dem "Dateimenü" gibt es die Option "Neues Projekt". Unter "Neues Projekt" klicken Sie auf "Konsolenanwendung". In diesem Beitrag werden wir PDF-Dokumente mit einem Konsolenprogramm erstellen.
Geben Sie den Namen Ihres Projekts und den Speicherort der Datei in die vorgesehenen Textfelder ein. Klicken Sie dann, wie im unten gezeigten Bild, auf die Schaltfläche Erstellen und wählen Sie das benötigte .NET Framework aus.
Nun, da die Anwendungsversion ausgewählt wurde, wird das Visual Studio-Projekt seine Struktur erstellen. Wenn Sie die Konsolen-, Windows- oder Webversionen ausgewählt haben, wird die Programmdatei (.cs) geöffnet, um Code hinzuzufügen und die Anwendung zu erstellen/auszuführen.
Der erste Schritt besteht darin, die Tesseract OCR-Software auf Ihrem Computer herunterzuladen und zu installieren. Hier ist das offizielle Tesseract GitHub-Repository mit dem Tesseract-Installer: https://github.com/tesseract-ocr/tesseract.
Es wäre am besten, Tesseract OCR auf Ihren Computer zu bekommen, indem Sie die Einrichtungshinweise befolgen, die für Ihr Betriebssystem spezifisch sind – sei es Windows, macOS oder Linux. Nach der Installation fügen Sie das Tesseract.NET-Paket zu Ihrem C#-Projekt mithilfe des NuGet-Paketmanagers von Visual Studio hinzu.
Öffnen Sie den NuGet-Paket-Manager in Ihrem Visual-Studio-Projekt über Tools -> NuGet-Paket-Manager -> NuGet-Pakete für die Lösung verwalten. Anschließend suchen Sie im NuGet-Paketmanager nach "Tesseract", um entweder das "Tesseract" oder "Tesseract.NET"-Paket zu erhalten. Wählen Sie dieses Paket aus und klicken Sie auf die Schaltfläche Installieren, um es in Ihrem Projekt zu installieren.
Nach der Installation des Tesseract.NET-Wrappers müssen Sie Tesseract in Ihrem C#-Projekt einrichten, um den Speicherort der ausführbaren Tesseract-OCR-Datei und der Sprachdateien anzugeben. Hier ist ein Beispiel:
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add tesseract languages into engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add tesseract languages into engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
Imports System
Imports System.Drawing
Imports Tesseract
Friend Class Program
Shared Sub Main()
' Set the path to the Tesseract data files (traineddata files)
Dim tessDataPath As String = "./tessdata" ' Ensure this directory contains the language data files
' Load the image
Dim imagePath As String = "path_to_your_image.png"
Using img = Pix.LoadFromFile(imagePath)
' Add tesseract languages into engine
Using engine = New TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default)
Using page = engine.Process(img)
' Extract the text
Dim text As String = page.GetText()
Console.WriteLine("Recognized Text:")
Console.WriteLine(text)
End Using
End Using
End Using
End Sub
End Class
Der obige Code erläutert, wie Tesseract OCR Text aus Bildern mit mehreren Sprachen erkennen und extrahieren kann. Es legt zunächst den Pfad zu den Tesseract-Sprachdatendateien fest. Die erforderlichen .traineddata-Dateien für jede entsprechende Sprache, wie Englisch, Spanisch und Französisch, sollten im Pfad vorhanden sein.
Es lädt ein Bild, das durch den imagePath angegeben wird, in die Pix.LoadFromFile-Methode. Genauer gesagt würde man ein Bild mit englischem, spanischem und französischem Text erwarten. Anschließend wird eine Instanz von TesseractEngine mit Pfaden zu Sprachdatendateien und den interessierenden Sprachen "eng+spa+fra" initialisiert, um den Text zu erkennen. Der Motor wird im Standardmodus arbeiten.
Das Bild wird dann an die Process-Methode der Engine-Klasse übergeben, in der es analysiert, der Textinhalt extrahiert und in der Variable text gespeichert wird. Schließlich wird der extrahierte Text in die Konsole gedruckt, was eine Visualisierung der Funktionsweise der OCR ermöglicht.
IronOCR ist eine proprietäre OCR-Bibliothek, die sich auf Dot NET konzentriert. Es fügt OCR-Funktionen zu .NET-Anwendungen hinzu und ermöglicht die Textextraktion aus Bildern, gescannten Dokumenten, PDFs und allen anderen visuellen Medien. Mit der erfolgreichen Tesseract-Engine treibt IronOCR die moderne Texterkennung voran und bietet zudem mehrere zusätzliche Funktionen, die es für den Einsatz in Unternehmensanwendungen geeignet machen.
Dies macht IronOCR extrem gut – seine enorme Sprachunterstützung – mehr als 120 Sprachen mit Unterstützung für automatische Spracherkennung und Verarbeitung von Dokumenten, die mehrere Sprachen gleichzeitig enthalten. Dies macht IronOCR sehr vielseitig und weltweit einsetzbar, wo die mehrsprachige Dokumentenverarbeitung von entscheidender Bedeutung ist.
Andererseits betont IronOCR weiterhin die Einfachheit der Nutzung und Integration. Die extrem benutzerfreundliche API wird durch eine detaillierte Dokumentation und eine Reihe von Beispielprojekten ergänzt, die jedem Entwickler helfen, schnell zu starten. Es unterstützt eine breite Palette von Bildformaten und PDF-Dokumenten. Eingebaute fortschrittliche Bildvorverarbeitung, Rauschunterdrückung und Fehlerkorrekturfunktionen verbessern die Genauigkeit und Leistung der OCR.
Sie können die Pakete direkt in Ihre Lösung integrieren, indem Sie das NuGet-Paketverwaltungswerkzeug von Visual Studio verwenden. Der folgende Schnappschuss zeigt, wie der NuGet-Paket-Manager geöffnet wird.
Es verfügt über ein eingebettetes Suchfeld, das eine Liste von Paketen von der NuGet-Website anzeigen muss. Wie man auf dem Screenshot unten sehen kann, werden wir im Paketmanager nach dem Begriff IronOCR suchen:
Der obige Graph könnte eine Liste gültiger Suchbegriffe anbieten. Wir müssen auswählen, was erforderlich ist, um das Lösungspaket zu installieren.
Installieren Sie auch die benötigten Tesseract-Sprachpakete nacheinander, wie das folgende Beispiel zeigt.
In diesem Beispiel verwenden wir die Sprachcodes für Spanisch, Französisch und Englisch. Englisch ist das standardmäßige Sprachpaket und erfordert daher keine Installation.
Installieren Sie Spanisch aus dem NuGet-Paket.
Das folgende Beispiel zeigt, wie man mit C# und der IronOCR- und Tesseract-Engine Text in mehreren Sprachen aus einem Bild erkennt.
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
Imports IronOcr
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize IronTesseract engine
Dim Ocr = New IronTesseract()
' Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French
' Path to the image
Dim inputFile = "path\to\your\image.png"
' Read the image and perform OCR
Using input = New OcrInput(inputFile)
' Perform OCR
Dim result = Ocr.Read(input)
' Display the result
Console.WriteLine("Text:")
Console.WriteLine(result.Text)
End Using
End Sub
End Class
Das obige C#-Programm ist ein Beispiel für die Verwendung der IronOCR-Bibliothek zur Durchführung der optischen Zeichenerkennung auf einem Bild, das englische, spanische und französische Zeichen enthält. Dieses Beispiel beginnt mit dem Import des Namespaces, den IronOCR benötigt, gefolgt von der Deklaration einer Klasse namens Programm mit einer Main-Methode, die den Einstiegspunkt der Anwendung darstellt.
Zuerst wird in der Main-Methode eine Instanz der IronTesseract-Klasse instanziiert. Diese Instanz wird dann der Variable Ocr zugewiesen. Dann wird dieSpracheigenschaftdieser Instanz ist so eingestellt, dass sie Englisch, Spanisch und Französisch umfasst, indem OcrLanguage.English, OcrLanguage.Spanish und OcrLanguage.French kombiniert werden. All dies wird sicherstellen, dass die OCR-Engine Text in jeder dieser drei Sprachen erkennen und verarbeiten kann.
Zuerst den Pfad zur Bilddatei-Eingabe mit der Variablen inputFile festlegen. Verwenden Sie in der folgenden Zeile diese Anweisung in der OcrInput-Klasse, um eine ordnungsgemäße Ressourcennutzung und -freigabe sicherzustellen. Zuletzt rufen Sie die Read-Methode der IronTesseract-Instanz mit dem Eingabeobjekt auf und führen Sie dieOCR auf dem Bild.
Schließlich wird das Ergebnis auf erkannte Texte überprüft und in der Konsole ausgegeben. Diese Console.WriteLine-Anweisungen geben den erkannten Text aus, sodass der Benutzer die OCR-Ergebnisse sehen kann. Das Programm veranschaulicht eine effektive Methode, um die mehrsprachige Fähigkeit von IronOCR zu nutzen, um Text aus Bildern von Wörtern in verschiedenen Sprachen zu extrahieren.
Es ist im Vergleich zu Tesseract benutzerfreundlicher und hat einige Vorteile gegenüber letzterem. Zunächst einmal bietet IronOCR hervorragende Sprachunterstützung. Der Engine unterstützt von Haus aus 127 Sprachen, während für Tesseract Berichte über die Unterstützung von etwa 100 Sprachen existieren. Jedoch erfordert es oft komplexe Konfigurationen und zusätzliche Schulungen für die beste Leistung. Darüber hinaus ist IronOCR benutzerfreundlicher, da es sich leicht in .NET-Anwendungen integrieren lässt und Dokumentation vervollständigt.
Viel einfacher zu verwenden als Tesseract, hat IronOCR eine weniger steile Lernkurve und erfordert weniger technische Einrichtung. Als ob das nicht genug wäre, kommt IronOCR mit fortschrittlicher Bildvorverarbeitung und regelmäßigen Funktionsupdates für bessere Genauigkeit und Zuverlässigkeit bei komplexen und unterschiedlichen Dokumententypen. IronOCR ist eine viel bessere Wahl für jeden Entwickler, der eine solide, vielseitige und einfach anwendbare OCR-Lösung sucht.
Während Tesseract und IronOCR sehr robuste OCR-Technologien darstellen, hat jede ihre eigenen einzigartigen Fähigkeiten und Stärken. Da Tesseract quelloffen ist, weit verbreitet und hinsichtlich Sprachverfügbarkeit und Flexibilität eine führende Position einnimmt, hebt es sich hervor. Es ist zuverlässig für alle, die nach einer kostenlosen Lösung mit aktiven Gemeinschaften und kontinuierlichen Verbesserungen suchen.
Im Gegensatz dazu ist IronOCR eine proprietäre Bibliothek des .NET Frameworks, die die Benutzererfahrung durch einfachere Integration und hervorragenden Support für die meisten Bilddateitypen verbessert hat. Sie zeichnet sich außerdem durch herausragende Leistung bei der Texterkennung aus, einschließlich der Verarbeitung von minderwertigem Bildinhalt. IronOCR unterstützt vollständig viele Sprachen und verfügt über einige zusätzliche Funktionen, die es benutzerfreundlicher und vollständiger für Entwickler machen, die eine einfache Handhabung und umfassende Unterstützung suchen.
Eine kostengünstige Entwicklungsedition ist für IronOCR verfügbar. Beim Kauf des IronOCR-Pakets erhalten Sie eine lebenslange Lizenz. Da die Angebote von IronOCR bei 749$ beginnen, eine einmalige Gebühr für mehrere Systeme, bietet es ein hervorragendes Preis-Leistungs-Verhältnis. Es bietet 24/7 Online-Ingenieurunterstützung für IronOCR-lizenzierte Benutzer. Bitte beachten Sie dieIronOCRWebsite, um mehr über die Gebühr zu erfahren; weitere Informationen zu den Produkten von Iron Software finden Siehier.
9 .NET API-Produkte für Ihre Bürodokumente