Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR

Bei der Suche nach OCR-Lösungen auf GitHub stößt man häufig auf fragmentierte Dokumentationen, komplexe Tesseract-Konfigurationen und Projekte, die schon seit einiger Zeit nicht mehr aktualisiert wurden. Für C#-Entwickler, die eine zuverlässige Textextraktion aus Bildern und PDFs benötigen, kann das Navigieren in der Repository-Landschaft Stunden in Anspruch nehmen, die besser in die Programmierung investiert werden könnten. Viele Open-Source-Projekte zur optischen Zeichenerkennung erfordern eine manuelle Verwaltung von Binärdateien, das Herunterladen von Testdateien und die Fehlersuche in Windows-Systemen.

Dieses Tutorial zeigt, wie OCR-Funktionen in C#-Projekten mit IronOCR implementiert werden können. Dabei handelt es sich um eine verfeinerte Bibliothek, die die Konfigurationsprobleme beseitigt, die bei rohen Tesseract-Implementierungen auftreten. Egal, ob es sich um den Aufbau von Dokumentenverarbeitungspipelines oder das Hinzufügen von Texterkennung zu bestehenden Anwendungen handelt, dieses Handbuch bietet funktionierende Codebeispiele für OCR C# GitHub-Projekte.

Was macht IronOCR ideal für GitHub-basierte C#-Code-Projekte?

IronOCR ist eine verwaltete .NET-Bibliothek, die über NuGet vertrieben wird und sich daher problemlos in jedes GitHub-Repository integrieren lässt. Im Gegensatz zu den quelloffenen Tesseract OCR-Wrappern, die eine manuelle Verwaltung der Binärdateien und der Testdatenkonfiguration erfordern, verwaltet IronOCR diese Abhängigkeiten intern und ist sofort einsatzbereit.

Die Bibliothek unterhält offizielle Beispiel-Repositories auf GitHub, die Entwickler klonen und referenzieren können. Diese Tutorials demonstrieren reale Implementierungen, einschließlich Bild-zu-Text-Konvertierung, Unterstützung für mehrere Sprachen und PDF-Verarbeitung. Die Mitwirkenden können die Funktionen sofort nach dem Klonen testen.

Um in Visual Studio loszulegen, installieren Sie IronOCR über den NuGet Package Manager:

Install-Package IronOcr
Install-Package IronOcr
SHELL

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 1 - Installation

Nach der Installation enthält dieses einzelne Paket alles, was für OCR-Operationen in Windows-, Linux- und macOS-Umgebungen benötigt wird. Die Bibliothek unterstützt .NET Framework 4.6.2+, .NET Core und .NET 5-10 für maximale Kompatibilität.

Wie extrahiert man Text aus Bildformaten in C#?

Das folgende Beispiel zeigt die grundlegende Textextraktion mit der Klasse IronTesseract von IronOCR. Diese OCR-Engine liest verschiedene Bildformate, darunter PNG, JPG, JPEG, BMP, GIF und TIFF:

using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
using IronOcr;
// Initialize the OCR engine
var ocr = new IronTesseract();
// Load and process an image
using var input = new OcrInput("document-scan.png");
// Perform OCR and retrieve results
var result = ocr.Read(input);
// Output the extracted text to console
Console.WriteLine($"Extracted Text:\n{result.Text}");
Console.WriteLine($"Confidence: {result.Confidence}%");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Klasse IronTesseract dient als primäre OCR-Engine, die auf einer optimierten Tesseract-5-Implementierung aufbaut. Nach der Erstellung einer Instanz lädt das OcrInput-Objekt das Zielbild von der Festplatte, einer URL oder einem Byte-Array. Die Methode Lesen verarbeitet die Eingabe und gibt ein OcrResult zurück, das den extrahierten Klartext zusammen mit einem Konfidenzgrad enthält, der die Erkennungsgenauigkeit angibt. Höhere Konfidenzwerte (über 90 %) weisen in der Regel auf saubere, gut formatierte Quelldokumente hin.

Eingabe

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 2 - Beispieleingabe

Ausgabe

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 3 - Konsolenausgabe

Das OcrResult Objekt bietet einen strukturierten Zugriff auf erkannte Inhalte. Über den reinen Text hinaus können Entwickler auf einzelne Wörter, Zeilen, Absätze und Zeichen zugreifen, zusammen mit ihren Positionen und Konfidenzwerten. Jedes Wort enthält die Koordinaten eines begrenzten Rechtecks, was es für Anwendungen nützlich macht, die genaue Daten zur Textposition benötigen, wie z. B. die Kommentierung von Dokumenten oder die Extraktion von Formularfeldern.

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 4 - Funktionen

Wie kann die Bildvorverarbeitung die Genauigkeit der optischen Zeichenerkennung verbessern?

Gescannte Dokumente kommen oft schief, verrauscht oder in suboptimaler Auflösung an. IronOCR enthält eingebaute Vorverarbeitungsfilter, die diese Probleme korrigieren, bevor die OCR-Engine das Bild verarbeitet:

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("skewed-receipt.jpg");
// Apply preprocessing filters to enhance scan quality
input.Deskew();           // Straighten rotated images
input.DeNoise();          // Remove digital artifacts
input.EnhanceResolution(225);  // Optimize DPI for OCR
var result = ocr.Read(input);
Console.WriteLine(result.Text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Deskew-Methode erkennt und korrigiert automatisch eine Bilddrehung von bis zu 15 Grad. Der DeNoise-Filter entfernt Flecken und Artefakte, die bei fotografierten Dokumenten oder älteren Scans häufig auftreten. EnhanceResolution skaliert Bilder mit niedrigen DPI-Werten auf den für die optische Zeichenerkennung optimalen Bereich von 200 bis 300 DPI hoch. Diese Funktionen können miteinander verkettet werden und im Speicher ausgeführt werden, ohne dass temporäre Dateien erforderlich sind. In vielen Fällen können die Ergebnisse der Texterkennung bei Dokumenten mit schwerwiegenden Qualitätsproblemen durch mehrere Vorverarbeitungsschritte erheblich verbessert werden.

Können Sie BarCodes und QR-Codes zusammen mit Text extrahieren?

IronOCR kann gleichzeitig Text erkennen und Barcodes innerhalb desselben Dokuments scannen. Diese Art von Doppelfunktionalität erweist sich als wertvoll für die Bearbeitung von Rechnungen, Versandetiketten und Inventardokumenten:

using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;  // Enable barcode detection
using var input = new OcrInput("shipping-label.png");
var result = ocr.Read(input);
// Access extracted text
Console.WriteLine($"Text: {result.Text}");
// Access any barcodes found in the image
foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wenn ReadBarCodes aktiviert und auf true gesetzt ist, wird die Barcode-Erkennung aktiviert, ohne die Verarbeitungszeit wesentlich zu beeinflussen. Die Sammlung Barcodes im Ergebnis enthält den Wert und den Formattyp für jeden erkannten Barcode und unterstützt Standardformate wie QR-Codes, Code 128, EAN-13 und UPC. Diese Doppelfunktion macht separate Bibliotheken zum Scannen von Strichcodes überflüssig, wenn Dokumente verarbeitet werden, die sowohl von Menschen lesbaren Text als auch maschinenlesbaren Code enthalten.

Eingabe

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 5 - Beispiel für ein Barcode-Bild

Ausgabe

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 6 - Konsolentextausgabe von BarCodes

Wie generiert man durchsuchbare PDFs aus gescannten Bildern?

Die Konvertierung gescannter Dokumente in searchable PDFs ermöglicht die Textauswahl, das Kopieren und die Volltextsuche. Dies funktioniert mit verschiedenen Bildformaten als Input:

using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scanned-contract.tiff");
var result = ocr.Read(input);
// Export as searchable PDF - create new document from scan
result.SaveAsSearchablePdf("contract-searchable.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Methode SaveAsSearchablePdf bettet eine unsichtbare Textebene ein, die mit dem erkannten Inhalt übereinstimmt, so dass das Aussehen des Originaldokuments erhalten bleibt und Textoperationen möglich sind. Auf diese Weise entstehen PDF/A-konforme Dokumente, die sich für Archivierungs- und Dokumentenmanagementsysteme in Unternehmen eignen. Sie können die Ergebnisse auch als JSON für die Integration in andere Systeme exportieren.

Was sind die besten Praktiken für OCR in GitHub-Projekten?

Wenn Sie OCR-Projekte auf GitHub verwalten, sollten Sie diese Empfehlungen für Ihr Repository beachten:

  • Verwenden Sie Git LFS für große Test-Images, um die Größe des Repositorys nicht aufzublähen
  • Speichern Sie Lizenzschlüssel in Umgebungsvariablen oder GitHub Secrets, niemals in Committed C# Code - beachten Sie die Anleitung zur Lizenzschlüsselkonfiguration
  • Beihilfe von Beispielbildern in einem speziellen Testdatenordner, damit die Mitwirkenden die OCR-Funktionalität überprüfen können
  • Dokumentieren Sie die unterstützten Bildformate in README-Dateien, um klare Erwartungen zu formulieren und allgemeine Fragen zu beantworten
  • Erstellung und Durchführung von Tests in CI-Pipelines, um sicherzustellen, dass die Bibliothek mit jeder Version korrekt funktioniert

Für GitHub Actions-Workflows läuft IronOCR in containerisierten Umgebungen auf Windows und Linux. Einzelheiten zur Konfiguration für Nicht-Windows-Runner finden Sie im Linux-Bereitstellungshandbuch.

IronOCR unterstützt auch mehrere Sprachen, darunter Englisch, Spanisch, Französisch, Chinesisch und über 120 weitere Sprachen. Laden Sie Sprachpakete über NuGet herunter, um die Texterkennung für andere Sprachen als Englisch zu aktivieren. Dies bietet kostenlosen OCR-Zugang für nahezu jede Sprache, die Ihr System benötigt.

Abschluss

IronOCR rationalisiert die OCR-Implementierung in C#-GitHub-Projekten durch seine intuitive API, die automatische Bildvorverarbeitung und die zuverlässige plattformübergreifende Unterstützung. Die obigen Codebeispiele bieten eine Grundlage für die Erstellung von Anwendungen zur Dokumentenverarbeitung, die sich reibungslos in GitHub-basierte Entwicklungsworkflows integrieren lassen. Die Bibliothek funktioniert mit .NET Framework, .NET Core und modernen .NET-Versionen und bietet eine breite Kompatibilität für jede Art von Projekt.

Starten Sie eine kostenlose Testversion, um den vollen Funktionsumfang kennenzulernen, oder sehen Sie sich die Lizenzierungsoptionen für den Produktionseinsatz an.

OCR C# GitHub: Implementierung von Texterkennung mit IronOCR: Bild 7 - Lizenzierung

Häufig gestellte Fragen

Was ist IronOCR?

IronOCR ist eine leistungsstarke OCR-Bibliothek (Optical Character Recognition) für C#, die die Textextraktion aus Bildern und PDFs vereinfacht.

Warum sollten Entwickler IronOCR den OCR-Lösungen von GitHub vorziehen?

IronOCR bietet zuverlässige und aktuelle OCR-Funktionen, ohne dass komplexe Konfigurationen oder eine manuelle Verwaltung von Binärdateien erforderlich sind, wie dies bei vielen fragmentierten GitHub-Projekten der Fall ist.

Kann IronOCR sowohl Bilder als auch PDF-Dokumente verarbeiten?

Ja, IronOCR wurde entwickelt, um Text sowohl aus Bildern als auch aus PDF-Dokumenten effizient zu extrahieren.

Muss ich bei der Verwendung von IronOCR Testdatendateien verwalten?

Nein, IronOCR macht die manuelle Verwaltung von Testdaten überflüssig und vereinfacht den OCR-Implementierungsprozess.

Ist IronOCR mit Windows-Systemen kompatibel?

Ja, IronOCR ist vollständig mit Windows-Systemen kompatibel und bietet eine nahtlose Installation und Nutzung ohne umfangreiche Fehlersuche.

Wie verbessert IronOCR den Arbeitsablauf von Entwicklern?

IronOCR rationalisiert den OCR-Integrationsprozess und ermöglicht es Entwicklern, sich mehr auf die Programmierung zu konzentrieren, anstatt sich mit fragmentierter Dokumentation und Konfigurationen zu beschäftigen.

Für welche Programmiersprache ist IronOCR konzipiert?

IronOCR ist speziell für C#-Entwickler konzipiert und bietet eine robuste OCR-Lösung, die auf das Ökosystem dieser Sprache zugeschnitten ist.

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