Wie man Leseergebnisse in C# mit IronOCR extrahiert

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

Das Lese- oder OCR-Ergebnis umfasst eine Fülle von Informationen zu erkannten Absätzen, Zeilen, Wörtern und einzelnen Zeichen. Für jedes dieser Elemente liefert das Ergebnis eine umfassende Reihe von Details.

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)

In Sekundenschnelle loslegen: Verwenden Sie die Read-Methode von IronTesseract, um ein Bild zu OCRen und den Text des ersten Wortes mit der Words-Sammlung zu extrahieren. Perfekt für schnelle Setups und einfache Extraktionsaufgaben.

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

Datenausgabe

Der Ergebniswert enthält nicht nur den extrahierten Text, sondern liefert auch Informationen über Seiten, Absätze, Zeilen, Wörter, Zeichen und Barcodes, die im PDF- und Bilddokument von IronOcr entdeckt wurden. Sie können auf diese Informationen aus dem zurückgegebenen OcrResult-Objekt mit der Read-Methode zugreifen.

: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
Daten in OcrResult

Text im OCR-Ergebnis

Das OcrResult Objekt stellt den extrahierten Text auf einfache und intuitive Weise dar, sodass Entwickler ihn entweder direkt verwenden oder in andere Teile ihrer Anwendung integrieren können.

Schauen wir uns das Codebeispiel an, das den Text in einer Schleife ausgibt, 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

Textdaten in OcrResult

Hier ist die Ausgabe, die in der Konsole angezeigt wird. Wie Sie sehen können, extrahiert IronOCR den Absatztext Zeile für Zeile präzise.

Textposition im OCR-Ergebnis

Zusätzlich zum extrahierten Text liefert OcrResult detaillierte Standortdaten. Der folgende Code zeigt, wie man jeden Absatz durchläuft und seine Koordinaten (X und Y) in der Konsole ausgibt.

:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-coordinates.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;

Console.WriteLine("--- All Detected Coordinates of Paragraphs ---");

// Use a 'for' loop to get an index for each paragraph
for (int i = 0; i < paragraphs.Length; i++)
{
    // Get the current paragraph
    Paragraph paragraph = paragraphs[i];

    // Print the paragraph number, text, and its location
    Console.WriteLine($"X: {paragraph.X}"); // X-coordinate (left edge)
    Console.WriteLine($"Y: {paragraph.Y}"); // Y-coordinate (top edge)

    // Add a blank line for better separation
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Ausgabe

Textkoordinaten in OcrResult

Wie Sie der Ausgabe entnehmen können, sehen Sie drei Koordinatensätze, die den drei Absätzen entsprechen.

Zusätzliche Attribute im OCR-Ergebnis

Neben dem Text und den Textkoordinaten bietet IronOCR zusätzliche Informationen. Für jeden Teil des Textes, wie Absätze, Zeilen, Wörter und einzelne Zeichen, stellen wir folgende Informationen bereit:

  • Text: Der tatsächliche Text als String.
  • 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, wie 'Von links nach rechts' oder 'Von oben nach unten'.
  • Standort: Ein Rechteck, das zeigt, wo sich dieser Text auf der Seite in Pixeln befindet.

Absatz-, Zeilen-, Wort- und Zeichenvergleich

Nachfolgend finden Sie den Vergleich der erkannten Absätze, Zeilen, Wörter und Zeichen.

Absatz hervorheben
Hervorhebungslinie
Wort hervorheben
Charakter hervorheben

Barcode und QR Code

Das ist korrekt! IronOcr kann Barcodes und QR-Codes lesen. Zwar ist die Funktion möglicherweise nicht so robust wie IronBarcode, doch IronOcr unterstützt gängige Barcode-Typen. Um die Barcodelesung zu aktivieren, setzen Sie die Configuration.ReadBarCodes-Eigenschaft auf wahr.

Darüber hinaus können wertvolle Informationen aus dem erkannten Barcode extrahiert werden, einschließlich seines Formats, Werts, seiner Koordinaten (x, y), Höhe, Breite und seines Standorts als Iron Software.Drawing.Rectangle-Objekt. Diese Rectangle-Klasse in IronDrawing ermöglicht eine präzise Positionierung im Dokument.

: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

Ausgabe

Barcodes erkennen

Häufig gestellte Fragen

Wie extrahiere ich Textelemente aus Bildern und PDFs mit C#?

Sie können Textelemente aus Bildern und PDFs mit IronOCR extrahieren, indem Sie die Read-Methode nutzen, die optische Zeichenerkennung (OCR) durchführt, um Details zu Absätzen, Zeilen, Wörtern und Zeichen zu erhalten, einschließlich ihres Textinhalts, ihrer Koordinaten und Abmessungen.

Wie starte ich den OCR-Prozess in .NET C#?

Um mit OCR in .NET C# zu beginnen, laden Sie die IronOCR-Bibliothek von NuGet herunter, bereiten Sie Ihr Bild- oder PDF-Dokument vor und verwenden Sie die Read-Methode, um ein OcrResult-Objekt zu erhalten, das detaillierte Informationen über den extrahierten Text und die Dokumentstruktur enthält.

Kann IronOCR Barcode-Informationen erkennen und extrahieren?

Ja, IronOCR kann Barcode-Informationen erkennen und extrahieren, indem die Eigenschaft Configuration.ReadBarCodes auf wahr gesetzt wird, wodurch Sie Daten wie das Barcode-Format, den Wert und die Position innerhalb des Dokuments abrufen können.

Welche Dokumentelemente kann IronOCR erkennen?

IronOCR kann verschiedene Dokumentelemente erkennen, einschließlich Seiten, Absätze, Zeilen, Wörter und einzelne Zeichen, sowie Barcodes und QR-Codes. Es bietet eine umfassende Analyse der Dokumentstruktur.

Wie kann ich IronOCR konfigurieren, um Text in unterschiedlichen Richtungen zu lesen?

IronOCR ist in der Lage, Text in mehreren Richtungen zu lesen, wie beispielsweise von links nach rechts oder von oben nach unten, indem es die Richtungseigenschaft innerhalb des OcrResult-Objekts analysiert.

Was ist das CropRectangle-Objekt in IronOCR?

Das CropRectangle-Objekt in IronOCR definiert den Ort und die Größe von Textelementen auf einer Seite in Bezug auf Koordinaten und Abmessungen, was bei der präzisen Textidentifikation und -extraktion hilft.

Wie verwende ich die Read-Methode von IronOCR, um Dokumente zu analysieren?

Um die Read-Methode in IronOCR zu verwenden, erstellen Sie eine Instanz der IronOCR-Engine, laden Sie Ihr Zieldokument und führen Sie die Read-Methode aus, um OCR-Ergebnisse zu erhalten, die zum Zugriff auf Textdaten und Dokumenteigenschaften verwendet werden können.

Wie behandelt IronOCR die Erkennung von QR-Codes?

IronOCR behandelt die Erkennung von QR-Codes, indem es das Barcode-Lesen über die Einstellung Configuration.ReadBarCodes aktiviert, was es ermöglicht, QR-Code-Daten wie Format, Wert und Ort zu extrahieren.

Welche Rolle spielt das OcrResult-Objekt bei der Textextraktion?

Das OcrResult-Objekt spielt eine entscheidende Rolle bei der Textextraktion, indem es den extrahierten Text und begleitende Details wie die Position, Abmessungen und Richtung von Textelementen sowie Barcode-Informationen hält.

Wie kann ich eine genaue Textextraktion mit IronOCR sicherstellen?

Um eine genaue Textextraktion mit IronOCR sicherzustellen, stellen Sie sicher, dass Sie hochwertige Eingangsdokumente bereitstellen und Einstellungen wie Configuration.ReadBarCodes für die Barcode-Erkennung richtig konfigurieren, um die OCR-Leistung zu optimieren.

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,167,857 | Version: 2025.11 gerade veröffentlicht