Class OcrResult.Line
A line of text within an Paragraph
Implements
Inherited Members
Namespace: IronOcr
Assembly: IronOcr.dll
Syntax
public class Line : OcrResult.OcrResultTextElement
A single line of recognized text, with the words and characters that make it up, is exposed through OcrResult.Line. It sits between paragraphs and words in the IronOCR result tree, so it is the level you read when you want text grouped the way it appears on the page, line by line, rather than as one flat string or as individual glyphs.
You obtain lines by walking an OcrResult from IronTesseract.Read: enumerate a page's paragraphs and their Lines, or read the Lines array on a Block. Each line carries the inherited Text and Confidence from OcrResult.OcrResultTextElement, plus LineNumber for its one-based position within the result. From a line you can drill down with the Words and Characters arrays, or move up to the containing Block and Paragraph fields, which keeps navigation in both directions without re-reading the document.
For layout-sensitive work the line adds geometry beyond the inherited bounding box. BaselineAngle reports the angle at which the line slopes, and BaselineOffset gives the pixel offset that defines that slope, both helpful when a scan is skewed and you need to measure or correct orientation before further processing. Reading Text per line is the common path; the Words and Characters arrays are there when you need to go finer within a line you have already located, and the Block and Paragraph fields let you confirm which region a given line belongs to.
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("document.png");
OcrResult result = ocr.Read(input);
foreach (OcrResult.Line line in result.Pages[0].Lines)
Console.WriteLine($"{line.LineNumber}: {line.Text}");The working with OCR results how-to walks the result tree from pages to lines to words, the detect page rotation how-to covers handling skewed scans, and the results objects example reads line-level text from a scan.
Fields
BaselineAngle
Angle at which this line of text slopes.
Declaration
public double BaselineAngle
Field Value
| Type | Description |
|---|---|
| System.Double |
BaselineOffset
pixel offset defining how this line of text slopes.
Declaration
public double BaselineOffset
Field Value
| Type | Description |
|---|---|
| System.Double |
Block
The Block of text which contains this line.
Declaration
public OcrResult.Block Block
Field Value
| Type | Description |
|---|---|
| OcrResult.Block |
Paragraph
The Paragraph which contains this line of text.
Declaration
public OcrResult.Paragraph Paragraph
Field Value
| Type | Description |
|---|---|
| OcrResult.Paragraph |
Properties
Characters
Every symbol (char) contained within this Line. In order of appearance.
Declaration
public OcrResult.Character[] Characters { get; }
Property Value
| Type | Description |
|---|---|
| OcrResult.Character[] |
LineNumber
One based line number (identified) within this OcrResult object.
Declaration
public int LineNumber { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Words
Every OcrResult.Word contained within this Line. In order of appearance.
Declaration
public OcrResult.Word[] Words { get; }
Property Value
| Type | Description |
|---|---|
| OcrResult.Word[] |