Comment extraire les résultats de lecture

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

par Chaknith Bin

Le résultat de la lecture ou de l'OCR comprend 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 du texte, les coordonnées X et Y précises, les dimensions(largeur et hauteur), sens du texte(De gauche à droite ou de haut en bas)et l'emplacement dans unCropRectangle objet.

Commencez avec IronOCR

Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer



Données dans OcrResult

La valeur du 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 retourné 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}")
VB   C#
Données dans OcrResult

Pour chaque partie du texte, comme les paragraphes, les lignes, les mots et les caractères individuels, nous fournissons les informations suivantes :

  • Texte : Le texte actuel sous forme de chaîne de caractères.
  • X : La position par rapport au 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 du texte : Le sens de lecture du texte, comme "de gauche à droite" ou "de haut en bas"
  • Emplacement : Un rectangle indiquant l'emplacement du texte sur la page en pixels.

Comparaison de paragraphes, de lignes, de mots et de caractères

Vous trouverez ci-dessous la comparaison des paragraphes, lignes, mots et personnages détectés.

Surligner le paragraphe
Ligne de mise en évidence
Surligner le mot
Mettre en évidence le caractère

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 robuste que celle d'IronBarcode, IronOCR prend en charge les types de codes-barres les plus courants. Pour activer la détection des codes-barres, définissez la propriété Configuration.ReadBarCodes à true.

En outre, des informations précieuses peuvent être extraites du code-barres détecté, notamment son format, sa valeur, ses coordonnées, etc(x, y)la fenêtre de l'objet IronSoftware.Drawing.Rectangle permet de définir la hauteur, la largeur et l'emplacement de l'objet. Cette classe Rectangle dansDessin au fer 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
VB   C#

Sortie

Détecter les codes-barres
Chaknith related to Sortie

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.