Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

OCR in C# CodeProject Tutorial: Extrahieren von Text aus Bildern mit IronOCR

Die optische Zeichenerkennung (OCR) verändert die Art und Weise, wie Entwickler die Dokumentenverarbeitung in ihren .NET-Projekten handhaben. Ganz gleich, ob Sie mit gescannten Dokumenten, Bilddateien oder TIFF-Dateien arbeiten, die Implementierung einer zuverlässigen OCR-Lösung ermöglicht es Anwendungen, Text zu extrahieren und visuelle Daten in maschinenlesbare Inhalte zu konvertieren. In diesem Artikel zeigen wir Ihnen, wie Sie OCR in C# CodeProject mit IronOCR verwenden, einer leistungsstarken OCR-Bibliothek, die den gesamten Texterkennungsprozess vereinfacht.

Starten Sie Ihre kostenlose Testversion von IronOCR und folgen Sie diesen Codebeispielen.

Wie richte ich eine OCR-Bibliothek in meinem .NET-Projekt ein?

Das Einrichten der optischen Zeichenerkennung (OCR) in Visual Studio erfordert nur wenige Schritte. Die IronOCR-Bibliothek ist über NuGet verfügbar, was die Integration in jede Windows-Anwendung vereinfacht.

Öffnen Sie Visual Studio und erstellen Sie ein neues Konsolenanwendungsprojekt. Klicken Sie im Solution Explorer mit der rechten Maustaste auf References und wählen Sie "Manage NuGet Packages" Suchen Sie nach "IronOcr" und installieren Sie das Paket. Der NuGet-Paketmanager lädt alle erforderlichen DLL-Dateien herunter und fügt automatisch Verweise zu Ihrem Projekt hinzu.

// Install via Package Manager Console
Install-Package IronOCR
// Install via Package Manager Console
Install-Package IronOCR
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Nach der Installation fügen Sie die using-Anweisung hinzu, um den IronOCR-Namensraum in Ihr Programm zu importieren. Die Bibliothek unterstützt .NET Framework 4.6.2+ und .NET Core und gewährleistet so die Kompatibilität zwischen verschiedenen Projekttypen und Windows-Versionen.

Wie kann ich Text aus einer Bilddatei extrahieren?

Der erste Schritt im OCR-Prozess besteht darin, ein Bild zu laden und es durch die OCR-Engine zu leiten. IronOCR bietet die IronTesseract-Klasse als primäre OCR-API für Zeichenerkennungsvorgänge. Dieses OCR-Beispiel demonstriert den grundlegenden Ansatz zur Extraktion von Text aus einer beliebigen Bilddatei.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        // Initialize the new Tesseract engine
        var ocr = new IronTesseract();
        // Load the image file and perform OCR
        using (var input = new OcrInput())
        {
            input.LoadImage(@"sample-document.png");
            // Process the image and extract text
            OcrResult result = ocr.Read(input);
            // Output the recognized text
            var text = result.Text;
            Console.WriteLine(text);
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        // Initialize the new Tesseract engine
        var ocr = new IronTesseract();
        // Load the image file and perform OCR
        using (var input = new OcrInput())
        {
            input.LoadImage(@"sample-document.png");
            // Process the image and extract text
            OcrResult result = ocr.Read(input);
            // Output the recognized text
            var text = result.Text;
            Console.WriteLine(text);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Optical Character Recognition Output

OCR in C# CodeProject Tutorial: Extrahieren von Text aus Bildern mit IronOCR: Bild 1 - Screenshot der OCR-Ausgabe

Der obige Code erstellt ein IronTesseract-Objekt, das als OCR-Engine für alle Texterkennungsvorgänge dient. Die Klasse OcrInput akzeptiert verschiedene Bildformate, darunter PNG, JPEG, BMP, GIF und TIFF. Wenn Sie die Read-Methode aufrufen, verarbeitet die Bibliothek das Eingabebild und gibt ein OcrResult-Objekt zurück, das den erkannten Text enthält.

Die Eigenschaft OcrResult.Text liefert den extrahierten Inhalt als reinen Textstring, der für die weitere Verarbeitung in Ihrer Anwendung bereit ist. Dieser OCR-Code verarbeitet die komplexen Zeichenerkennungsalgorithmen intern und liefert Erkennungsergebnisse mit hoher Genauigkeit für verschiedene Dokumenttypen.

Wie verarbeite ich gescannte Dokumente und TIFF-Dateien?

In realen Anwendungen müssen oft mehrseitige gescannte Dokumente, die als TIFF-Dateien gespeichert sind, verarbeitet werden. Die OCR-Bibliothek bewältigt diese Szenarien effizient, indem sie Entwicklern ermöglicht, bestimmte Seitenbereiche zu laden oder ganze Dokumente zu verarbeiten. Dieser Beispielcode zeigt, wie man mit TIFF-Bildern mit mehreren Bildern arbeitet.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Load specific pages from a multi-page TIFF file
            int[] pageIndices = new int[] { 0, 1, 2 };
            input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
            // Apply image enhancement for better results
            input.Deskew();
            OcrResult result = ocr.Read(input);
            // Access page-by-page results
            foreach (var page in result.Pages)
            {
                Console.WriteLine($"Page {page.PageNumber}:");
                Console.WriteLine(page.Text);
            }
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Load specific pages from a multi-page TIFF file
            int[] pageIndices = new int[] { 0, 1, 2 };
            input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
            // Apply image enhancement for better results
            input.Deskew();
            OcrResult result = ocr.Read(input);
            // Access page-by-page results
            foreach (var page in result.Pages)
            {
                Console.WriteLine($"Page {page.PageNumber}:");
                Console.WriteLine(page.Text);
            }
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

OCR-Ausgabe aus mehrseitiger TIFF-Datei

OCR in C# CodeProject Tutorial: Extrahieren von Text aus Bildern mit IronOCR: Bild 2 - Mehrseitige TIFF OCR-Ausgabe

Die LoadImageFrames-Methode akzeptiert einen Dateipfad und ein Integer-Array, das angibt, welche Seiten verarbeitet werden sollen. Dieser Ansatz optimiert die Leistung, wenn Sie nur bestimmte Seiten aus großen Dokumentenarchiven benötigen. Der Deskew-Filter korrigiert Rotations- oder Ausrichtungsprobleme in gescannten Bildern und verbessert so die Bildqualität und OCR-Genauigkeit.

Jede Seite des Ergebnisses enthält Layout-Informationen, einschließlich Absätze, Zeilen und einzelne Wörter. Die OCR-API bietet Zugriff auf Konfidenzwerte und Positionierungsdaten und ermöglicht so eine anspruchsvolle Dokumentenanalyse, die über die einfache Textextraktion hinausgeht.

Wie kann ich mit OCR-Code-Fehlern umgehen und die Erkennungsergebnisse verbessern?

Produktionsanwendungen erfordern eine angemessene Fehlerbehandlung, um verschiedene Ausnahmeszenarien zu bewältigen. Probleme mit der Bildqualität, nicht unterstützte Dateiformate oder beschädigte Dateien können dazu führen, dass der OCR-Prozess fehlschlägt. Die Implementierung einer Ausnahmebehandlung stellt sicher, dass Ihre Anwendung auf diese Situationen angemessen reagiert.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        // Configure the OCR engine for your language
        ocr.Language = OcrLanguage.English;
        try
        {
            using (var input = new OcrInput())
            {
                input.LoadImage(@"document.png");
                // Enhance low-quality images
                input.DeNoise();
                input.Deskew();
                OcrResult result = ocr.Read(input);
                if (result.Text.Length > 0)
                {
                    Console.WriteLine("Recognized text:");
                    Console.WriteLine(result.Text);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"OCR Error: {ex.Message}");
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        // Configure the OCR engine for your language
        ocr.Language = OcrLanguage.English;
        try
        {
            using (var input = new OcrInput())
            {
                input.LoadImage(@"document.png");
                // Enhance low-quality images
                input.DeNoise();
                input.Deskew();
                OcrResult result = ocr.Read(input);
                if (result.Text.Length > 0)
                {
                    Console.WriteLine("Recognized text:");
                    Console.WriteLine(result.Text);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"OCR Error: {ex.Message}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Eigenschaft Sprache konfiguriert, welches Sprachpaket die OCR-Engine für die Texterkennung verwendet. IronOCR unterstützt über 125 Sprachen, die jeweils als separate NuGet-Pakete verfügbar sind. Der DeNoise-Filter entfernt digitale Artefakte aus gescannten Dokumenten, während Deskew die Ausrichtung korrigiert - beides ist wichtig, um optimale Erkennungsergebnisse aus unvollkommenen Quellbildern zu erzielen.

Wie erstelle ich eine durchsuchbare PDF-Datei aus erkanntem Text?

Die Umwandlung gescannter Dokumente in durchsuchbare PDF-Dateien ist eine der wertvollsten OCR-Anwendungen. Die Benutzer können dann den Text in den zuvor nur mit Bildern versehenen Dokumenten suchen, auswählen und kopieren. Diese Umwandlung ermöglicht es Dokumentenmanagementsystemen, Inhalte zu indizieren und die Zugänglichkeit zu verbessern.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Set document metadata
            input.Title = "Converted Document";
            // Load source images or existing PDF
            input.LoadImage(@"page1.png");
            input.LoadImage(@"page2.png");
            OcrResult result = ocr.Read(input);
            // Save as searchable PDF with embedded text layer
            result.SaveAsSearchablePdf(@"searchable-output.pdf");
            Console.WriteLine("Searchable PDF created successfully.");
            Console.WriteLine($"Total pages processed: {result.Pages.Count}");
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Set document metadata
            input.Title = "Converted Document";
            // Load source images or existing PDF
            input.LoadImage(@"page1.png");
            input.LoadImage(@"page2.png");
            OcrResult result = ocr.Read(input);
            // Save as searchable PDF with embedded text layer
            result.SaveAsSearchablePdf(@"searchable-output.pdf");
            Console.WriteLine("Searchable PDF created successfully.");
            Console.WriteLine($"Total pages processed: {result.Pages.Count}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe eines durchsuchbaren PDF-Dokuments

OCR in C# CodeProject Tutorial: Extrahieren von Text aus Bildern mit IronOCR: Bild 3 - Durchsuchbares PDF aus Eingabebildern erstellt

Die SaveAsSearchablePdf-Methode erzeugt eine PDF-Datei, bei der das ursprüngliche Erscheinungsbild des Bildes erhalten bleibt, während eine unsichtbare Textebene eingebettet wird. Dieser Ansatz bewahrt die Dokumententreue, indem er sicherstellt, dass die visuelle Ausgabe exakt mit der Quelle übereinstimmt, und ermöglicht gleichzeitig eine Volltextsuche. Microsoft Office-Anwendungen, Adobe Reader und andere PDF-Viewer können dann den erkannten Text durchsuchen und indizieren.

Für Anwendungen, die eine HTML-Ausgabe erfordern, bietet IronOCR auch die SaveAsHocrFile-Methode, die Ergebnisse im hOCR-Format exportiert. Dieser XML-basierte Standard enthält Positionierungsdaten für jedes Wort und ermöglicht webbasierte Dokumentbetrachter und erweiterte Textanalyse-Workflows.

Abschluss

Die Implementierung von optischer Zeichenerkennung in C#-Projekten wird mit IronOCR zum Kinderspiel. Die Bibliothek beherrscht komplexe Bildverarbeitung, unterstützt mehrere Bildformate und Sprachen und bietet flexible Ausgabeoptionen einschließlich durchsuchbarer PDF-Erzeugung. Von der einfachen Textextraktion bis zur Verarbeitung mehrseitiger TIFF-Dokumente zeigen die Beispiele in diesem Tutorial die wichtigsten Arbeitsabläufe, die Entwickler benötigen.

Die IronOCR-Dokumentation enthält zusätzliche Codebeispiele für erweiterte Bildfilter, Barcode-Lesen und regionalspezifische OCR-Verarbeitung. Die API-Referenz beschreibt alle verfügbaren Klassen und Methoden zum Aufbau umfassender Lösungen für die Dokumentenverarbeitung.

Starten Sie jetzt mit IronOCR.
green arrow pointer

Sind Sie bereit, OCR in Ihrem nächsten Projekt einzusetzen? Erwerben Sie eine Lizenz für den Einsatz von IronOCR in Produktionsumgebungen mit vollem Support und Updates.

Häufig gestellte Fragen

Was ist OCR und welchen Nutzen hat es für C#-Entwickler?

OCR (Optical Character Recognition) ist eine Technologie, die verschiedene Arten von Dokumenten, wie z. B. gescannte Papierdokumente, PDFs oder mit einer Digitalkamera aufgenommene Bilder, in bearbeitbare und durchsuchbare Daten umwandelt. Für C#-Entwickler vereinfacht OCR die Dokumentenverarbeitung, indem sie Anwendungen in die Lage versetzt, Text aus Bildern und gescannten Dokumenten zu extrahieren und so die Zugänglichkeit und Nutzbarkeit von Daten zu verbessern.

Wie kann ich OCR in einem C#-Projekt implementieren?

Sie können OCR in einem C#-Projekt mit Hilfe der IronOCR-Bibliothek implementieren. Diese Bibliothek bietet eine benutzerfreundliche Schnittstelle zum Extrahieren von Text aus Bildern und gescannten Dokumenten innerhalb von .NET-Anwendungen, wodurch die Integration von OCR-Funktionen in Ihr Projekt erleichtert wird.

Welche Bildformate werden von IronOCR unterstützt?

IronOCR unterstützt eine breite Palette von Bildformaten, darunter JPEG, PNG, BMP, GIF und TIFF. Diese Flexibilität ermöglicht es Ihnen, mit verschiedenen Arten von Bilddateien zu arbeiten, um Text effizient zu extrahieren.

Kann IronOCR mehrseitige TIFF-Dateien verarbeiten?

Ja, IronOCR kann mehrseitige TIFF-Dateien verarbeiten. Es bietet die Möglichkeit, Text von jeder Seite innerhalb eines mehrseitigen TIFF zu verarbeiten und zu extrahieren, was es zu einer idealen Lösung für die Bearbeitung komplexer Dokumente macht.

Ist es möglich, mit IronOCR Text aus einem bestimmten Bereich eines Bildes zu extrahieren?

Ja, IronOCR ermöglicht es Ihnen, einen bestimmten Bereich eines Bildes zu bestimmen, aus dem Text extrahiert werden soll. Diese Funktion ist nützlich, wenn Sie sich auf einen bestimmten Abschnitt eines Dokuments konzentrieren müssen, wie z. B. ein Formular oder eine Tabelle.

Unterstützt IronOCR verschiedene Sprachen für die Textextraktion?

IronOCR unterstützt die Textextraktion in mehreren Sprachen, so dass Sie nahtlos mit Dokumenten in verschiedenen Sprachen arbeiten können. Diese Funktion erhöht die Vielseitigkeit Ihrer Anwendungen und richtet sich an ein globales Publikum.

Welche Vorteile bietet IronOCR im Vergleich zu anderen OCR-Bibliotheken?

IronOCR bietet mehrere Vorteile, darunter eine einfache Bedienung, eine zuverlässige Texterkennung, die Unterstützung mehrerer Sprachen und die Kompatibilität mit verschiedenen Bildformaten. Seine leistungsstarken Funktionen und seine Performance machen es zu einer bevorzugten Wahl für Entwickler, die OCR in ihren C#-Projekten implementieren möchten.

Wie kann IronOCR die Genauigkeit der Texterkennung verbessern?

IronOCR verbessert die Genauigkeit der Texterkennung durch fortschrittliche Algorithmen und maschinelle Lerntechniken. Es kann anspruchsvolle Dokumente mit unterschiedlichen Schriftarten, Größen und Layouts verarbeiten und gewährleistet eine hohe Präzision bei der Textextraktion.

Ist es möglich, IronOCR in bestehende .NET-Anwendungen zu integrieren?

Ja, IronOCR kann problemlos in bestehende .NET-Anwendungen integriert werden. Seine unkomplizierte API ermöglicht es Entwicklern, ihre Anwendungen mit minimalem Aufwand um OCR-Funktionen zu erweitern und deren Funktionalität ohne umfangreiche Änderungen zu verbessern.

Was sind einige häufige Anwendungsfälle für IronOCR in C#-Anwendungen?

IronOCR kann in verschiedenen C#-Anwendungen eingesetzt werden, z. B. in Dokumentenverwaltungssystemen, bei der Automatisierung der Dateneingabe, bei der Archivierung, bei der Textextraktion aus Rechnungen und Quittungen und bei Hilfsmitteln für Sehbehinderte. Dank seiner Vielseitigkeit ist es für eine Vielzahl von Branchen und Anwendungen geeignet.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen