Class OcrResult.Character
Represents a single character (char) of text.
Inheritance
Implements
Inherited Members
Namespace: IronOcr
Assembly: IronOcr.dll
Syntax
public class Character : OcrResult.OcrResultTextElement
Inspecting OCR output one character at a time runs through OcrResult.Character, the finest-grained text element in an IronOCR result. Reach for it when a word-level or line-level read is not precise enough, for example when you need per-character confidence, alternative recognition guesses, or detailed font traits for a single glyph.
You do not create a character. You obtain one by walking an OcrResult returned from IronTesseract.Read: enumerate result.Pages, then a page's Words, then a word's Characters, or read the Characters array directly on a Line or Block. Each character knows its place in the tree through the Block, Line, Paragraph, and Word fields, so you can move back up from a single glyph to its containing structures without re-querying the document.
The everyday members are the inherited Text and Confidence from OcrResult.OcrResultTextElement, plus CharacterNumber for the one-based index within the document and ToChar to convert the element to a plain System.Char. Choices returns an OcrResult.Choice array of alternative readings with their statistical relevance, which is useful when confidence is low and you want a fallback. Font returns an OcrResult.OcrFont with typeface details, visible mainly under Tesseract-only engine modes. Angle and the LooseLeft, LooseTop, LooseRight, and LooseBottom values give the rotation and the relaxed bounding box for finer layout work, where the loose values widen the tight bounding box slightly to account for ascenders, descenders, and italic slant that can fall outside the exact glyph rectangle.
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput("scan.png");
OcrResult result = ocr.Read(input);
foreach (OcrResult.Character c in result.Pages[0].Words[0].Characters)
Console.WriteLine($"{c.Text} ({c.Confidence:F0}%)");The working with OCR results how-to covers navigating the element tree, the result confidence how-to explains reading per-character confidence, and the results objects example reads characters, words, and lines from a result.
Fields
Block
The block of text containing this character.
Declaration
public OcrResult.Block Block
Field Value
| Type | Description |
|---|---|
| OcrResult.Block |
Line
The line of text containing this character.
Declaration
public OcrResult.Line Line
Field Value
| Type | Description |
|---|---|
| OcrResult.Line |
Paragraph
The paragraph of text containing this character.
Declaration
public OcrResult.Paragraph Paragraph
Field Value
| Type | Description |
|---|---|
| OcrResult.Paragraph |
Word
The word containing this character.
Declaration
public OcrResult.Word Word
Field Value
| Type | Description |
|---|---|
| OcrResult.Word |
Properties
Angle
Declaration
public double Angle { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
CharacterNumber
A unique ID number for this character within the document. The first character will be 1.
Declaration
public int CharacterNumber { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Choices
A list of alternative words choices and their statistical relevance.
Declaration
public OcrResult.Choice[] Choices { get; }
Property Value
| Type | Description |
|---|---|
| OcrResult.Choice[] |
Font
Detailed font information for this character. May only be visible using TesseractOnly.
Declaration
public OcrResult.OcrFont Font { get; }
Property Value
| Type | Description |
|---|---|
| OcrResult.OcrFont |
LooseBottom
Declaration
public double LooseBottom { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
LooseLeft
Declaration
public double LooseLeft { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
LooseRight
Declaration
public double LooseRight { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
LooseTop
Declaration
public double LooseTop { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Methods
ToChar()
Converts this object to a System.Char
Declaration
public char ToChar()
Returns
| Type | Description |
|---|---|
| System.Char | A single character |
ToString()
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| System.String |