Comment extraire les résultats de lecture en C# avec IronOCR

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

Le résultat de la lecture ou de la reconnaissance optique de caractères (OCR) englobe une multitude d'informations relatives aux paragraphes, lignes, mots et caractères individuels détectés. Pour chacun de ces éléments, le résultat fournit un ensemble complet de détails.

Pour chaque élément, il fournit le contenu textuel, les coordonnées X et Y précises, les dimensions (largeur et hauteur), la direction du texte (de gauche à droite ou de haut en bas) et l'emplacement dans un objet CropRectangle .

Démarrage rapide : Récupérer le texte du premier mot détecté

Démarrez en quelques secondes : utilisez la méthode Read d'IronTesseract pour effectuer une reconnaissance optique de caractères (OCR) sur une image et extraire le texte du premier mot à l'aide de la collection Words. Idéal pour une installation rapide et des tâches d'extraction simples.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Sortie de données

La valeur de résultat ne contient pas seulement le texte extrait, mais fournit également des informations sur les pages, les paragraphes, les lignes, les mots, les caractères et les codes-barres découverts dans le document PDF et l'image par IronOcr. Vous pouvez accéder à ces informations à partir de l'objet OcrResult renvoyé en utilisant la méthode Read .

: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
Données dans OcrResult

Texte dans le résultat de la reconnaissance optique de caractères (OCR)

L'objet OcrResult présente le texte extrait de manière simple et intuitive, permettant aux développeurs de l'utiliser tel quel ou de l'intégrer à d'autres parties de leur application.

Examinons l'exemple de code qui affiche le texte en boucle pour vérifier les résultats.

: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

Sortie

Données textuelles dans OcrResult

Voici le résultat affiché dans la console. Comme vous pouvez le constater, IronOCR extrait parfaitement le texte du paragraphe, ligne par ligne, avec précision.

Emplacement du texte dans le résultat de la reconnaissance optique de caractères (OCR)

En plus du texte extrait, OcrResult fournit des données de localisation détaillées. Le code suivant montre comment parcourir chaque paragraphe et afficher ses coordonnées (X et Y) dans la console.

: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

Sortie

Coordonnées du texte dans OcrResult

Comme vous pouvez le constater sur le résultat, on observe trois ensembles de coordonnées correspondant aux trois paragraphes.

Attributs supplémentaires dans le résultat de la reconnaissance optique de caractères (OCR)

Outre le texte et ses coordonnées, IronOCR offre des informations supplémentaires. Pour chaque élément du texte, comme les paragraphes, les lignes, les mots et les caractères individuels, nous fournissons les informations suivantes :

  • Texte : Le texte proprement dit sous forme de chaîne de caractères.
  • X : La position du bord gauche de la page en pixels.
  • Y : La position par rapport au bord supérieur de la page, en pixels.
  • Largeur : La largeur en pixels.
  • Hauteur : La hauteur en pixels.
  • Sens de lecture : Le sens dans lequel le texte a été lu, par exemple " de gauche à droite " ou " de haut en bas ".
  • Emplacement : Un rectangle indiquant l'emplacement de ce texte sur la page, en pixels.

Comparaison de paragraphes, de lignes, de mots et de personnages

Vous trouverez ci-dessous une comparaison des paragraphes, lignes, mots et caractères détectés.

Surligner le paragraphe
Ligne de surbrillance
Mot en surbrillance
Personnage en surbrillance

Code-barres et code QR

C'est exact ! IronOcr peut lire les codes-barres et les codes QR. Bien que cette fonctionnalité ne soit pas aussi performante qu'IronBarcode, IronOcr prend en charge les types de codes-barres courants. Pour activer la détection des codes-barres, définissez la propriété Configuration.ReadBarCodes sur true.

De plus, des informations précieuses peuvent être extraites du code-barres détecté, notamment son format, sa valeur, ses coordonnées (x, y), sa hauteur, sa largeur et son emplacement sous forme d'objet Iron Software.Drawing.Rectangle. Cette classe Rectangle d' IronDrawing permet un positionnement précis sur le document.

: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

Sortie

Détecter les codes-barres

Questions Fréquemment Posées

Comment puis-je extraire des éléments de texte d'images et de PDF en utilisant C# ?

Vous pouvez extraire des éléments de texte d'images et de PDF en utilisant IronOCR en utilisant sa méthode `Read`, qui effectue la reconnaissance optique de caractères (OCR) pour obtenir des détails sur les paragraphes, les lignes, les mots et les caractères, y compris leur contenu textuel, leurs coordonnées et leurs dimensions.

Quel est le processus pour commencer avec l'OCR en .NET C# ?

Pour commencer avec l'OCR en .NET C#, téléchargez la bibliothèque IronOCR depuis NuGet, préparez votre image ou document PDF, et utilisez la méthode `Read` pour obtenir un objet `OcrResult`, qui contient des informations détaillées sur le texte extrait et la structure du document.

IronOCR peut-il détecter et extraire les informations de code-barres ?

Oui, IronOCR peut détecter et extraire les informations de code-barres en définissant la propriété `Configuration.ReadBarCodes` sur vrai, vous permettant de récupérer des données telles que le format du code-barres, sa valeur et sa position dans le document.

Quels types d'éléments documentaires IronOCR peut-il détecter ?

IronOCR peut détecter divers éléments documentaires, y compris les pages, les paragraphes, les lignes, les mots et les caractères individuels, ainsi que les codes-barres et les QR codes, fournissant une analyse complète de la structure du document.

Comment puis-je configurer IronOCR pour lire le texte dans différentes directions ?

IronOCR est capable de lire le texte dans plusieurs directions, comme 'De gauche à droite' ou 'De haut en bas', en analysant la propriété direction au sein de l'objet `OcrResult`.

Qu'est-ce que l'objet `CropRectangle` dans IronOCR ?

L'objet `CropRectangle` dans IronOCR définit l'emplacement et la taille des éléments de texte sur une page en termes de coordonnées et de dimensions, aidant à une identification et une extraction précises du texte.

Comment utiliser la méthode `Read` d'IronOCR pour analyser les documents ?

Pour utiliser la méthode `Read` dans IronOCR, créez une instance du moteur IronOCR, chargez votre document cible et exécutez la méthode `Read` pour obtenir des résultats OCR, qui peuvent être utilisés pour accéder aux données texte et aux propriétés du document.

Comment IronOCR gère-t-il la détection des QR codes ?

IronOCR gère la détection des QR codes en activant la lecture de codes-barres via le paramètre `Configuration.ReadBarCodes`, ce qui lui permet d'extraire les données des QR codes, y compris leur format, valeur et emplacement.

Quel est le rôle de `OcrResult` dans l'extraction de texte ?

L'objet `OcrResult` joue un rôle crucial dans l'extraction de texte en contenant le texte extrait et les détails qui l'accompagnent, tels que la position, les dimensions et la direction des éléments de texte, ainsi que les informations de code-barres.

Comment puis-je m'assurer d'une extraction de texte précise avec IronOCR ?

Pour assurer une extraction de texte précise avec IronOCR, veillez à fournir des documents d'entrée de haute qualité et à configurer correctement les paramètres comme `Configuration.ReadBarCodes` pour la détection de code-barres afin d'optimiser les performances OCR.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 5,167,857 | Version: 2025.11 vient de sortir