> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ICharacterParams

> ICharacterParams stores recognized character properties such as Symbol, Confidence, IsSuspicious, and NeedVerification in FlexiCapture recognition scripts.

## What it does

Stores information about character properties.

<a id="webverificationavailableinterface" />

<Note>
  Some methods and properties of this object are not available on the Web Verification Station for checking rules locally. The methods and properties that are not supported are marked with an asterisk (\*).
</Note>

## Methods

<table width="100%"><tbody><tr><td><p><strong>Definition</strong></p></td><td><p><strong>Description</strong></p></td></tr><tr><td><p>SetRect( newRect : string, \[optional] pageId : int ) <a href="#webverificationavailableinterface">\*</a></p></td><td><p>Specifies a new rectangle for a character. The newRect parameter must be passed in the form of the string "\[left, top, right, bottom]".</p><p>The specified rectangle must be completely inside the region of the field that contains the character.</p><p><strong>Note: </strong> This method is not available in the <a href="/flexi-capture/appendix/scripts/script-conversion">autocorrection</a> script.</p></td></tr></tbody></table>

## Properties

<table width="100%"><thead><tr><th style={{textAlign: 'left'}}><p><strong>Name</strong></p></th><th style={{textAlign: 'left'}}><p><strong>Type</strong></p></th><th style={{textAlign: 'left'}}><p><strong>Access</strong></p></th><th style={{textAlign: 'left'}}><p><strong>Description</strong></p></th></tr></thead><tbody><tr><td><p>Confidence <a href="#webverificationavailableinterface">\*</a></p></td><td><p>int</p></td><td><p>Read-only</p></td><td><p>Confidence level for a batch type. Returns a value from 0 to 100.</p><p><strong>Important! </strong> Using this property requires storing some additional data, which may increase the size of a document and additional disk space. By default, no additional data are saved and the property is disabled. For the correct operation of the property, set the registry key \[HKEY\_CURRENT\_USER\Software\ABBYY\FlexiCapture\12.0\Controller] "ForceSaveConfidenceLevel" = "true". Instead of HKEY\_CURRENT\_USER, select the branch of the user account that will recognize documents.</p></td></tr><tr><td><p>IsSuspicious <a href="#webverificationavailableinterface">\*</a></p></td><td><p>bool</p></td><td><p>Read/write</p></td><td><p>Specifies whether or not a character has been recognized with a sufficient degree of confidence. This flag is effective only in the <a href="/flexi-capture/appendix/scripts/script-recognition">custom recognition</a> script.</p><p><strong>Note: </strong> When the <strong>IsSuspicious</strong> property is assigned to a character by a recognition script, the program will check the field containing this character against the <a href="/flexi-capture/templates/properties-verification">field verification threshold</a>. If the percentage of characters with the <strong>IsSuspicious</strong> property in the field exceeds the specified threshold, the <strong>NeedVerification</strong> property will be added to the field.</p></td></tr><tr><td><p>Lang <a href="#webverificationavailableinterface">\*</a></p></td><td><p>int</p></td><td><p>Read/write</p></td><td><p>Detects the language of characters in a field.</p><details><summary>Example</summary><p>An example of a script for an <a href="/flexi-capture/appendix/scripts-shell/user-command">on-user-command</a> event that detects the language of each character in the field and writes the detected languages in a comment to the page:</p><pre><code>ITaskWindow taskWindow = MainWindow\.TaskWindow;
ISelection selection = MainWindow\.Selection;
IDocumentItems items = selection.DocumentItems;
foreach( IDocumentItem item in items ) \{
   IDocument doc = item.Document;
   taskWindow\.OpenDocument(doc);
   foreach (IPage page in doc.Pages) \{
   IField field = doc.Field("Field Name");
   ICharactersParams characterParams = field.Symbols;
   string str = "";
   foreach( ICharacterParams param in characterParams ) \{
       str = str + " " + param.Lang.ToString();
   }
   page.Comment = str;
   }
}</code></pre></details><p><strong>Note: </strong> This script will process only selected documents at the verification stage.</p></td></tr><tr><td><p>NeedVerification</p></td><td><p>bool</p></td><td><p>Read/write</p></td><td><p>Specifies whether any additional verification is required for the character. The value of this flag determines whether the character will be highlighted in the document editor.</p><p><strong>Note: </strong> When the <strong>NeedVerification</strong> property is assigned to a field by any script other than a recognition script, the field is automatically marked as sent to verification. The program checks the field verification threshold (see the note for the <strong>IsSuspicious</strong> property) prior to allocating the <strong>NeedVerification</strong> property.</p><p>To specify, whether the whole field (not particular characters) needs verification, use the <strong>NeedVerification</strong> property of the <a href="/flexi-capture/appendix/scripts/ifield">IField</a> interface.</p></td></tr><tr><td><p>PageId <a href="#webverificationavailableinterface">\*</a></p></td><td><p>int</p></td><td><p>Read-only</p></td><td><p>Identifies the page on which the rectangle of the character is located. Required for multi-page fields.</p></td></tr><tr><td><p>Rect <a href="#webverificationavailableinterface">\*</a></p></td><td><p><a href="/flexi-capture/appendix/scripts/irect">IRect</a></p></td><td><p>Read-only</p></td><td><p>A rectangle that contains the character. If the rectangle is not specified, <strong>null</strong> is returned.</p></td></tr><tr><td><p>Symbol</p></td><td><p>string</p></td><td><p>Read/write</p></td><td><p>A character (a string consisting of one character).</p></td></tr></tbody></table>
