Mit IronOCR Leseergebnisse in C#35; extrahieren

This article was translated from English: Does it need improvement?
Translated
View the article in English

Die Methode Read von IronOCR gibt ein OcrResult-Objekt zurück, das den extrahierten Text plus detaillierte Metadaten enthält, darunter genaue Koordinaten, Abmessungen, Textrichtung und hierarchische Struktur (Absätze, Zeilen, Wörter, Zeichen) für jedes erkannte Element.

Das OCR-Ergebnis enthält umfassende Informationen über erkannte Absätze, Zeilen, Wörter und einzelne Zeichen.

Für jedes Element werden der Textinhalt, präzise X- und Y-Koordinaten, Abmessungen (Breite und Höhe), Textrichtung (von links nach rechts oder von oben nach unten) und der Standort in einem CropRectangle-Objekt bereitgestellt.

als-Überschrift:2(Schnellstart: Worttext vom ersten erkannten Wort abrufen)

Verwenden Sie die Methode Lesen von IronTesseract, um ein Bild mit OCR zu erfassen und den Text des ersten Wortes mit Hilfe der Sammlung Wörter zu extrahieren.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronOCR mit dem NuGet-Paketmanager.

    PM > Install-Package IronOcr

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronOCR in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Welche Daten kann ich aus OCR-Ergebnissen extrahieren?

Der Ergebniswert enthält nicht nur den extrahierten Text, sondern auch Informationen über Seiten, Absätze, Zeilen, Wörter, Zeichen und Barcodes, die IronOcr in PDF- und Bilddokumenten entdeckt hat. Sie können auf diese Informationen über das zurückgegebene OcrResult-Objekt mit der Methode Read zugreifen.

Das umfassende Ergebnissystem von IronOCR baut auf der leistungsstarken Tesseract 5-Engine auf und bietet Entwicklern über die einfache Texterkennung hinausgehende Funktionen zur Extraktion strukturierter Daten. Ob bei der Verarbeitung von gescannten Dokumenten, Fotos oder Screenshots, die Klasse OcrResult gibt Ihnen eine genaue Kontrolle über die extrahierten Daten.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;

// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs

' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
$vbLabelText   $csharpLabel
Visual Studio Debugger zeigt OCR-Extraktionsergebnisse mit Koordinaten und Text aus einem japanischen Geschäftsdokument

Wie greife ich auf Textinhalte aus OCR-Ergebnissen zu?

Das OcrResult-Objekt stellt den extrahierten Text auf einfache, intuitive Weise dar, so dass Entwickler ihn direkt verwenden oder in andere Anwendungskomponenten integrieren können. Die hierarchische Struktur spiegelt die natürliche Textorganisation eines Dokuments wider und macht es einfach, mit Inhalten auf verschiedenen Granularitätsebenen zu arbeiten.

Für Anwendungen, die Mehrsprachenunterstützung erfordern, verarbeitet IronOCR nahtlos mehrsprachige Dokumente, wobei das gleiche strukturierte Ergebnisformat für alle 125 unterstützten Sprachen beibehalten wird.

Das folgende Codebeispiel druckt Text in einer Schleife, um die Ergebnisse zu überprüfen.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;

// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
    // Print the text of the current paragraph
    Console.WriteLine(paragraph.Text);
    
    // Add a blank line for better separation (optional)
    Console.WriteLine(); 
}

IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Terminal mit OCR-Absatzerkennungsergebnissen und extrahiertem Text über Masayoshi Son und Yasumitsu Shigeta

Die Konsolenausgabe zeigt, wie IronOCR den Absatztext zeilenweise und präzise extrahiert. Die Engine erkennt automatisch Absatzgrenzen und ist daher ideal für die Bearbeitung komplexer Dokumente mit mehreren Textblöcken.

Wie erhalte ich die Ortskoordinaten von erkanntem Text?

Zusätzlich zum extrahierten Text liefert das OcrResult detaillierte Standortdaten. Diese räumlichen Informationen sind von entscheidender Bedeutung für Anwendungen, die die Layouttreue beibehalten oder eine gezielte Textextraktion aus bestimmten Dokumentenbereichen durchführen müssen. Das Koordinatensystem verwendet Standard-Pixelmaße von der linken oberen Ecke der Seite aus.

Um die Präzision koordinatenbasierter Operationen zu verbessern, sollten Sie OCR region targeting verwenden, um sich auf bestimmte Bereiche zu konzentrieren, oder Computer Vision capabilities nutzen, um Textbereiche automatisch zu identifizieren.

Der folgende Code demonstriert die Iteration über jeden Absatz und die Ausgabe seiner Koordinaten (X und Y) auf der Konsole.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;

// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
    // Print the text of the current paragraph
    Console.WriteLine(paragraph.Text);
    
    // Add a blank line for better separation (optional)
    Console.WriteLine(); 
}

IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Die Terminalausgabe zeigt die von OCR erkannten Absatzkoordinaten mit den X,Y-Werten: (29,30), (28,74) und (27,362)

Die Ausgabe zeigt drei Koordinatensätze an, die drei Absätzen entsprechen. Diese Koordinaten können zum Zeichnen von Begrenzungsrahmen (Bounding Boxes), zum Extrahieren bestimmter Regionen oder zum Beibehalten räumlicher Beziehungen zwischen Textelementen verwendet werden.

Welche anderen Attribute sind in OCR-Ergebnissen verfügbar?

Neben Text und Textkoordinaten bietet IronOCR zusätzliche Informationen. Für jedes Textelement (Absätze, Zeilen, Wörter und einzelne Zeichen) sind die folgenden Informationen verfügbar:

  • Text: Der eigentliche Text in Form einer Zeichenkette.
  • X: Die Position vom linken Rand der Seite in Pixeln.
  • Y: Die Position vom oberen Rand der Seite in Pixeln.
  • Breite: Die Breite in Pixeln.
  • Höhe: Die Höhe in Pixeln.
  • Textrichtung: Die Richtung, in der der Text gelesen wurde (von links nach rechts oder von oben nach unten).
  • Standort: Ein Rechteck, das in Pixeln angibt, wo sich der Text auf der Seite befindet.

Diese Eigenschaften sind besonders bei der Implementierung nützlich:

  • Texthervorhebung und Anmerkungssysteme
  • Automatisierte Erkennung von Formularfeldern
  • Layout-Erhaltung bei der Konvertierung von Dokumenten
  • Räumliche Textanalyse zur Datenextraktion

Verwenden Sie zur Fehlersuche und Visualisierung die Funktion Texte hervorheben, um die Genauigkeit der erkannten Region visuell zu überprüfen.

Wie werden Absätze, Zeilen, Wörter und Zeichen verglichen?

Die hierarchische Textstruktur von IronOCR ermöglicht es Entwicklern, auf der für ihren spezifischen Anwendungsfall geeigneten Detailebene zu arbeiten. Das Verständnis der Unterschiede zwischen diesen Elementen hilft dabei, die richtige Granularität für Ihre Anwendung zu wählen.

Im Folgenden finden Sie einen Vergleich der gefundenen Absätze, Zeilen, Wörter und Zeichen.

Hervorgehobene biografische Profile der japanischen Tech-Unternehmer Masayoshi Son und Yasumitsu Shigeta
Rot hervorgehobenes Dokument mit den Profilen der japanischen Tech-Führungskräfte Masayoshi Son und Yasumitsu Shigeta
Texthervorhebungsfunktion mit roten Kästen, die ausgewählte Wörter in einem Absatz über technische Investitionen überlagern
Texterkennung auf Zeichenebene mit Anzeige einzelner Zeichengrenzen in OCR-Ergebnissen

Jede Granularitätsebene dient unterschiedlichen Zwecken:

  • Absatzen: Am besten geeignet für die Analyse der Dokumentstruktur und die Extraktion von Massentext
  • Zeilen: Nützlich für die Einhaltung der Lesereihenfolge und die Verarbeitung von Tabellendaten
  • Wörter: Ideal für Suchfunktionen und Textanalyse
  • Zeichen: Perfekt für die Rechtschreibprüfung und präzise Textbearbeitungsanwendungen

Kann IronOCR BarCodes und QR-Codes lesen?

Ja, IronOCR kann Barcodes und QR-Codes lesen. IronOCR ist zwar nicht so leistungsfähig wie IronBarcode, bietet aber Unterstützung für gängige Barcodetypen. Um die Barcode-Erkennung zu aktivieren, setzen Sie die Eigenschaft Configuration.ReadBarCodes auf true. Diese integrierte Funktionalität macht IronOCR zu einer ausgezeichneten Wahl für die Bearbeitung von Dokumenten, die sowohl Text als auch Strichcodes enthalten, wie z. B. Rechnungen, Versandetiketten oder Produktkataloge.

Zusätzlich können wertvolle Informationen aus erkannten Barcodes extrahiert werden, einschließlich Format, Wert, Koordinaten (x, y), Höhe, Breite und Position als IronSoftware.Drawing.Rectangle Objekt. Diese Rectangle-Klasse in IronDrawing ermöglicht eine präzise Positionierung im Dokument.

Für fortgeschrittene Barcode-Leseszenarien finden Sie in unserer Dokumentation umfassende Barcode-Lesebeispiele.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;

// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);

// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
    Console.WriteLine("Format = " + barcode.Format);
    Console.WriteLine("Value = " + barcode.Value);
    Console.WriteLine("X = " + barcode.X);
    Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True

' Add image
Using ocrInput As New OcrInput()
	ocrInput.LoadPdf("sample.pdf")
	
	' Perform OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
	
	' Output information to console
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine("Format = " & barcode.Format)
		Console.WriteLine("Value = " & barcode.Value)
		Console.WriteLine("X = " & barcode.X)
		Console.WriteLine("Y = " & barcode.Y)
	Next barcode
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

Wie sieht die Ausgabe der Barcode-Erkennung aus?

Die Barcode-Erkennungsfunktion in IronOCR ist nahtlos in die Textextraktion integriert und liefert einheitliche Ergebnisse, die sowohl Textinhalte als auch Barcodedaten enthalten. Diese doppelte Fähigkeit ist wertvoll für automatisierte Dokumentenverarbeitungs-Workflows, bei denen beide Informationstypen extrahiert und korreliert werden müssen.

Debug-Konsole, die die Ergebnisse der Erkennung von QR-Codes und EAN8-Barcodes mit Formaten, Werten und Koordinaten anzeigt

Die Ausgabe demonstriert die Fähigkeit von IronOCR, mehrere Barcodetypen gleichzeitig zu erkennen und liefert eine Formatidentifikation (wie QRCode oder EAN8), dekodierte Werte und präzise Koordinateninformationen für jeden erkannten Code. Diese umfassenden Daten ermöglichen es Entwicklern, anspruchsvolle Dokumentenverarbeitungsanwendungen zu erstellen, die gemischte Inhaltstypen effizient verarbeiten.

Häufig gestellte Fragen

Welche Informationen enthält das OcrResult-Objekt?

Das OcrResult-Objekt von IronOCR enthält den extrahierten Text plus detaillierte Metadaten, einschließlich genauer X/Y-Koordinaten, Abmessungen (Breite und Höhe), Textrichtung (von links nach rechts oder von oben nach unten) und hierarchischer Struktur, die als Absätze, Zeilen, Wörter und einzelne Zeichen für jedes erkannte Element organisiert ist.

Wie kann ich schnell das erste Wort aus einem OCR-Ergebnis extrahieren?

Sie können den Text des ersten Worts mithilfe der Read-Methode von IronOCR und dem Zugriff auf die Words-Sammlung extrahieren: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`. Dies ermöglicht den sofortigen Zugriff auf einzelne Wortelemente aus den OCR-Ergebnissen.

Welche Arten von Koordinatendaten sind in OCR-Ergebnissen verfügbar?

IronOCR liefert präzise X- und Y-Koordinaten für jedes erkannte Element (Absätze, Zeilen, Wörter und Zeichen), zusammen mit Breiten- und Höhenmaßen. Auf diese Koordinatendaten kann über das CropRectangle-Objekt zugegriffen werden, so dass eine genaue Standortverfolgung von Textelementen möglich ist.

Kann ich Metadaten über den reinen Textinhalt hinaus extrahieren?

Ja, IronOCR extrahiert umfassende Metadaten, einschließlich Seiten, Absätze, Zeilen, Wörter, Zeichen und sogar Barcodes, die in PDF- und Bilddokumenten entdeckt wurden. Das OcrResult-Objekt ermöglicht den Zugriff auf Textrichtung, hierarchische Struktur und räumliche Informationen für jedes Element.

Welche Dokumenttypen können für OCR-Ergebnisse verarbeitet werden?

IronOCR kann verschiedene Dokumenttypen verarbeiten, darunter gescannte Dokumente, Fotos, Screenshots, PDFs und Bilddateien. Die Lesemethode funktioniert bei all diesen Formaten einheitlich und gibt dasselbe strukturierte OcrResult-Objekt mit allen Metadaten zurück.

Wie ist der extrahierte Text in den Ergebnissen angeordnet?

IronOCR organisiert den extrahierten Text in einer hierarchischen Struktur, die die natürliche Organisation von Dokumenten widerspiegelt. Das OcrResult-Objekt stellt Inhalte auf verschiedenen Granularitätsebenen dar - von ganzen Seiten bis hin zu einzelnen Zeichen - und erleichtert so die Arbeit mit Text auf der für Ihre Anwendung geeigneten Ebene.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 5,246,844 | Version: 2025.12 gerade veröffentlicht