How to Extract Read Results
The read or OCR result encompasses a wealth of information pertaining to detected paragraphs, lines, words, and individual characters. For each of these elements, the result provides a comprehensive set of details.
For each element, it provides the text content, precise X and Y coordinates, dimensions (width and height), text direction (Left to Right or Top to Bottom), and location in a CropRectangle object.
Get started with IronOCR
Start using IronOCR in your project today with a free trial.
How to Extract Read Results
- Download a C# library for accessing read results
- Prepare the target image and PDF document
- Use the
Read
method to perform OCR on the imported document - Access the X, Y, width, height, and text direction of the result
- Check the detected paragraphs, lines, words, and character comparisons
Data in OcrResult
The result value doesn't only contain the extracted text but also provides information about pages, paragraphs, lines, words, characters, and barcodes discovered in the PDF and image document by IronOcr. You can access this information from the returned OcrResult object using the Read
method.
: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}")

For each part of the text, like paragraphs, lines, words, and individual characters, we provide the following information:
- Text: The actual text as a string.
- X: The position from the left edge of the page in pixels.
- Y: The position from the top edge of the page in pixels.
- Width: The width in pixels.
- Height: The height in pixels.
- Text Direction: The direction in which the text was read, like 'Left to Right' or 'Top to Bottom.'
- Location: A rectangle showing where this text is on the page in pixels.
Paragraph, Line, Word, and Character Comparison
Below is the comparison of the detected paragraphs, lines, words, and characters.
![]() Paragraph | ![]() Line |
![]() Word | ![]() Character |
Barcode and QR Code
That’s correct! IronOcr can read barcodes and QR codes. While the feature may not be as robust as IronBarcode, IronOcr does provide support for common barcode types. To enable barcode detection, set the Configuration.ReadBarCodes property to true.
Additionally, valuable information can be extracted from the detected barcode, including its format, value, coordinates (x, y), height, width, and location as IronSoftware.Drawing.Rectangle object. This Rectangle class in IronDrawing allows for precise positioning on the 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
Output

Frequently Asked Questions
What information does the OCR result provide?
The OCR result provides information about detected paragraphs, lines, words, and individual characters, including their text content, X and Y coordinates, dimensions, text direction, and location in a CropRectangle object using IronOCR.
How can I get started with a C# library for accessing read results?
To get started with IronOCR, download the C# library from NuGet, prepare your target image or PDF document, use the Read method to perform OCR, and then access the result details such as X, Y, width, height, and text direction.
What types of text elements can be detected in PDF and image documents?
IronOCR can detect pages, paragraphs, lines, words, characters, and barcodes in PDF and image documents.
How is barcode and QR code detection handled?
IronOCR can read barcodes and QR codes by setting Configuration.ReadBarCodes to true. It extracts information about the barcode's format, value, coordinates, height, width, and location.
What additional information can be extracted from a barcode?
With IronOCR, you can extract a barcode's format, value, and its position and dimensions (X, Y, width, height) as a Rectangle object.
Can text in different directions be read?
Yes, IronOCR can read text in different directions such as 'Left to Right' or 'Top to Bottom'.
What is the CropRectangle object used for?
The CropRectangle object in IronOCR is used to define the location of text elements on a page in terms of pixels, helping to identify their exact position and dimensions.
How do I use the Read method?
To use the Read method in IronOCR, instantiate an IronOCR object, load your document, and call the Read method to obtain OCR results, which can then be iterated through to access text data and properties.
What is the role of IronDrawing in barcode detection?
IronDrawing is used in barcode detection to determine the precise positioning of barcodes on the document using the Rectangle class, which provides coordinates and dimensions.
How can I enable barcode reading?
To enable barcode reading in IronOCR, set the Configuration.ReadBarCodes property to true before performing OCR on a document.