跳转到主要内容
此对象可用于访问已识别文本中单个字符的不同参数:其格式、在图像上的 Rectangle 区域、识别语言以及识别候选项。此类型新创建的对象,其所有布尔属性均设置为 FALSE。
如果你希望使用已识别文本中某个字符的参数,你必须先调用任一执行合成的函数 (例如,FRDocument 对象的 ProcessSynthesize 方法) ,因为这些参数只有在合成后才有意义。
如果该字符来自名片中的文本,则仅设置该对象的以下属性:
  • BaseLine
  • Bottom
  • Left
  • Right
  • Top
  • IsSuspicious
  • ErrorProbability
  • CharacterRegion
  • CharacterRecognitionVariantIndex
  • CharacterRecognitionVariants
  • SelectedCharacterRecognitionVariant
  • WordRecognitionVariants
  • IsFromSourceContent
  • IsWordFirst
  • IsWordLeftmost

属性

,read-only

返回 Engine 对象。

指定字符的语言 ID。如需将其转换为 Win32 LCID,请使用方法。

默认情况下,此属性以系统默认语言 ID 初始化。

存储字符的语言内部名称,并允许对其进行设置。

如果一种基础识别语言对应一个已识别单词,则识别完成后,该单词中每个字符的 LanguageName 属性将被设置为该基础语言的内部名称。如果多种基础识别语言对应同一个单词 (例如双语复合词) ,则该单词中各字符的 LanguageName 属性为空。而 LanguageId 属性无论已识别单词为何,始终包含基础语言的标识符。

默认情况下,此属性的值为空字符串。

指定字符的精确区域。该区域不一定是矩形,初始时包含在由 LeftTopRightBottom 属性定义的矩形内。若更改字符的精确区域,LeftTopRightBottom 属性不会随之改变。

仅在将属性设置为 TRUE 后执行识别,此属性才可用。

该属性返回一个常量对象。如需更改字符的精确区域,须先使用IEngine::CreateRegion方法获取一个中间 Region 对象,修改所需参数,再将获取的对象赋值给该属性。

, read-only

存储字符矩形底部边界的坐标。该矩形基于图像定义,不考虑文本方向。该值可能未定义,此时所有四个坐标均为零。此属性不能直接修改,只能通过 SetRect 方法更改。

此属性的默认值为 0。

, read-only

存储字符矩形左侧边界的坐标。该矩形基于图像定义,不考虑文本方向。该值可能未定义,此时所有四个坐标均为零。此属性不能直接修改,只能通过 SetRect 方法更改。

此属性的默认值为 0。

, read-only

存储字符矩形右侧边界的坐标。该矩形基于图像定义,不考虑文本方向。该值可能未定义,此时所有四个坐标均为零。此属性不能直接修改,只能通过 SetRect 方法更改。

此属性的默认值为 0。

,只读

存储字符矩形上边界的坐标。该矩形在图像上定义,不考虑文本方向。该值可能未定义,此时其四个坐标均为零。此属性无法直接修改,只能通过 SetRect 方法更改。

此属性的默认值为 0。

指定该字符是否为单词中最左侧的字符。

在某些复杂情况下 (例如两个单词之间没有空格分隔,或一个单词中包含无空格的标点符号) ,此属性可能无法正常工作。设置字符标志后,识别器可能会修改对单词数量的判断。

此属性在合成阶段设置。若在合成完成前调用该属性,默认值为 FALSE。

对于中文、日文或韩文,此属性不可靠,因为系统不检测单词边界。

指定该字符是否为单词中的第一个字符。

此属性在合成阶段设置。若在合成完成前调用该属性,默认值为 FALSE。

注意:

  • 对于从右向左书写的语言 (如希伯来语) ,此属性将指示单词中最右侧的字符。
  • 对于中文、日文或韩文,此属性不可靠,因为系统不检测单词边界。

设置字符相对于字符串基线的偏移量 (以像素为单位) 。字符串的基线由属性定义。此属性主要用于嵌入在文本中的图片。

此属性的默认值为 0。

指定字符间的附加间距,单位为缇 (twip) 。1 缇等于 1/20 磅,1 磅等于 1/72 英寸。

此属性的默认值为 0。

存储字符的水平缩放比例,单位为 1/1000。

若字符来自名片文本,则此属性取默认值。

此属性的默认值为 1000,表示无缩放。

设置符号颜色的 RGB 值。背景颜色由属性针对整个段落统一定义。

此属性的值可以为 -1,表示颜色透明。

int 值由 RGB 三元组按以下公式计算: (红色值) + (256 × 绿色值) + (65536 × 蓝色值) ,其中红色值为三元组第一个分量,绿色值为第二个分量,蓝色值为第三个分量。例如,白色的 int 值为 16777215。

默认情况下,文本颜色为黑色,即 RGB(0,0,0)。

指定字符是否为粗体。

如果字符来自名片文本,则此属性取默认值。

此属性默认值为 FALSE。

指定字符是否为斜体。

如果字符来自名片文本,则此属性取默认值。

此属性默认值为 FALSE。

指定字符是否带有下划线。

此属性默认值为 FALSE。

指定字符是否带有删除线。

如果字符来自名片文本,则此属性取默认值。

此属性默认值为 FALSE。

指定字符是否为下标。不能与 IsSuperscript 属性同时设置为 TRUE,否则在导出已识别文本时将出现错误。

如果字符来自名片文本,则此属性取默认值。

此属性默认值为 FALSE。

指定字符是否为上标。不能与 IsSubscript 属性同时设置为 TRUE,否则在导出已识别文本时将出现错误。

如果字符来自名片文本,则此属性取默认值。

此属性默认值为 FALSE。

指定字符是否应用”小型大写字母”样式,即小写字母以小型大写字母的形式显示。

此属性默认值为 FALSE。

, read-only

存储字符的字体名称。此属性不能直接修改,需通过 SetFont 方法更改。

默认值为 “Times New Roman”。

指定字符字体的高度,单位为缇 (twip) 。1 缇 = 1/20 磅,1 磅 = 1/72 英寸。

此属性的默认值对应 10 磅 (即 200 缇) 。

提供对字符字体样式的访问。

, read-only

存储字符的字体类型。此属性不能 直接更改,而应通过 SetFont 方法更改。

默认情况下,此值为 FT_Unknown。

如果字符识别结果不可靠,则返回 TRUE。使用此属性可判断是否需要进行验证。

此属性根据 ErrorProbability 值和识别设置计算得出。如需对验证实施更精细的区分,请改用 ErrorProbability

此属性默认值为 FALSE。

,只读

返回字符识别错误的估计概率 (范围为 0 到 100) 。

错误概率会考虑整体上下文,因此仅适用于识别结果,而非每个字符识别变体。若要对各识别变体进行相互比较,请使用

对于未经识别而获取的符号 (例如直接从源 PDF 文件中提取的符号) ,不计算错误概率。

,read-only

返回字符识别变体的集合。

对于不可打印字符 (空格、回车符等) 以及未经识别但在显式编辑过程中添加到文本中的字符,该属性值为零。如果文本是由早期版本的 ABBYY FineReader Engine 识别的,也会返回零值。

如果属性设置为 FALSE,则返回的集合包含一个元素;否则,集合包含至少一个元素,且变体按从优到劣的顺序排列。

, read-only

存储 CharacterRecognitionVariants 集合中所选字符识别变体的索引。

,read-only

存储所选的字符识别变体,即字符识别变体集合 (CharacterRecognitionVariants 属性) 中索引为 CharacterRecognitionVariantIndex 的元素。

,read-only

返回该字符所属单词的识别变体集合。

对于不可打印字符 (空格、回车符等) 以及未经识别但在显式编辑过程中添加到文本中的字符,该属性值为零。如果文本是由早期版本的 ABBYY FineReader Engine 识别的,也会返回零值。

如果属性设置为 FALSE,则返回的集合包含一个元素;否则,集合包含至少一个元素,且变体按内部估算机制确定的从优到劣的顺序排列。

, read-only

指定字符是否在未经识别的情况下直接从输入文件的文本内容中提取。例如,可从带有文本层的 PDF 文件中提取。

指定是否已对该字符执行拼写检查。 此属性不由 ABBYY FineReader Engine 在内部使用或设置,仅为您提供一个拼写检查框架。

方法

名称说明
CopyFrom用另一个对象中对应属性的值初始化当前对象的属性。
SetFont为符号设置新字体。
SetRect为符号设置新的 Rectangle。
CharParams 对象图

输出参数

此对象是以下对象方法的输出参数:

输入参数

此对象会作为输入参数传递给以下方法:

示例

int suspiciousCharsCount = 0;
// 计算文本块中可疑字符的数量
void computeStatisticsForBlock(FREngine.IBlock block)
{
 if (block.Type == FREngine.BlockTypeEnum.BT_Text)
 {
  FREngine.ITextBlock textBlock = block.GetAsTextBlock();
  int paragraphsCount = textBlock.Text.Paragraphs.Count;
  for (int iPar = 0; iPar < paragraphsCount; iPar++)
  {
   FREngine.IParagraph par = textBlock.Text.Paragraphs[iPar];
   string text = par.Text;
   FREngine.ICharParams charParams = engine.CreateCharParams();
   for (int iChar = 0; iChar < text.Length; iChar++)
   {
    par.GetCharParams(iChar, charParams);
    if (charParams.IsSuspicious)
    {
     suspiciousCharsCount++;
    }
   }
  }
 }
}
该对象在以下代码示例中使用:RecognizedTextProcessing (Win) ;以及 Windows 演示工具:Engine Predefined Processing Profiles

另请参阅

Paragraph CharConfidence、ErrorProbability 和 IsSuspicious 之间有什么区别? 处理文本 处理属性