IronOCR Leseergebnisse extrahieren – Texterkennung und Strukturdaten
Die Methode Read von IronOCR gibt ein OcrResult-Objekt zurück, das den extrahierten Text sowie detaillierte Metadaten für die Texterkennung enthält, einschließlich genauer Koordinaten, Abmessungen, Textrichtung und hierarchischer Struktur (Absätze, Zeilen, Wörter, Zeichen) für jedes erkannte Element.
Das OCR-Ergebnis der Bild zu Text Konvertierung enthält umfassende Informationen über erkannte Absätze, Zeilen, Wörter und einzelne Zeichen.
Für jedes Element werden der Textinhalt, die genauen X- und Y-Koordinaten, die Abmessungen (Breite und Höhe), die Textrichtung (von links nach rechts oder von oben nach unten) und die Position in einem CropRectangle- Objekt angegeben.
Schnellstart: Worttext aus dem ersten erkannten Wort abrufen
Verwenden Sie die Methode IronTesseract's Read, um ein Bild per OCR zu erfassen und den Text des ersten Wortes mithilfe der Sammlung Words zu extrahieren.
-
Installieren Sie IronOCR mit NuGet Package Manager
PM > Install-Package IronOcr -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
string wordText = new IronTesseract().Read("file.jpg").Words[0].Text; -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Laden Sie eine C#-Bibliothek herunter, um auf Leseergebnisse zuzugreifen.
- Bereiten Sie das Zielbild und das PDF-Dokument vor
- Verwenden Sie die Methode " `Read` , um eine OCR-Texterkennung für das importierte Dokument durchzuführen.
- Greifen Sie auf die X-, Y-Koordinaten, Breite, Höhe und Textausrichtung des Ergebnisses zu
- Überprüfen Sie die erkannten Absätze, Zeilen, Wörter und Zeichenvergleiche
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 im zurückgegebenen 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 Möglichkeiten zur Extraktion strukturierter Daten. Ob es sich um die Verarbeitung gescannter Dokumente , Fotos oder Screenshots handelt, die Klasse OcrResult ermöglicht Ihnen eine detaillierte 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}")
Wie greife ich auf Textinhalte aus OCR-Ergebnissen zu?
Das Objekt OcrResult stellt extrahierten Text auf einfache und intuitive Weise dar, sodass 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();
}
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
' Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---")
For Each paragraph As Paragraph In paragraphs
' Print the text of the current paragraph
Console.WriteLine(paragraph.Text)
' Add a blank line for better separation (optional)
Console.WriteLine()
Next
End Using
Ausgabe
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 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();
}
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
' Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---")
For Each paragraph As Paragraph In paragraphs
' Print the text of the current paragraph
Console.WriteLine(paragraph.Text)
' Add a blank line for better separation (optional)
Console.WriteLine()
Next
End Using
Ausgabe
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.
Absatz |
Linie |
Word |
Charakter |
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.
Darüber hinaus können aus erkannten Barcodes wertvolle Informationen extrahiert werden, darunter 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
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.
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.

