メインコンテンツへスキップ
このオブジェクトを使用すると、認識されたテキスト内の1文字に関するさまざまなパラメーターにアクセスできます。具体的には、文字の書式設定、画像上の Rectangle、認識言語、および認識の仮説です。新しく作成されたこの型のオブジェクトのすべてのブール型プロパティは FALSE に設定されます。
認識されたテキスト内の特定の文字のパラメーターを操作する場合は、まずシンセシスを実行する関数 (例:FRDocument オブジェクトの Process メソッドまたは Synthesize メソッド) を呼び出す必要があります。これらのパラメーターはシンセシス後にのみ有効な値を持つためです。
文字が名刺のテキストから取得された場合、オブジェクトの以下のプロパティのみが設定されます。
  • BaseLine
  • Bottom
  • Left
  • Right
  • Top
  • IsSuspicious
  • ErrorProbability
  • CharacterRegion
  • CharacterRecognitionVariantIndex
  • CharacterRecognitionVariants
  • SelectedCharacterRecognitionVariant
  • WordRecognitionVariants
  • IsFromSourceContent
  • IsWordFirst
  • IsWordLeftmost

プロパティ

,read-only

Engine オブジェクトを返します。

文字の言語 ID を指定します。Win32 LCID に変換するには、メソッドを使用します。

デフォルトでは、このプロパティはシステムのデフォルト言語 ID で初期化されます。

文字の言語の内部名を格納し、設定することができます。

1 つの基本認識言語が 1 つの認識済み単語に対応する場合、認識後にその単語内の各文字の LanguageName プロパティには基本言語の内部名が設定されます。複数の基本認識言語が 1 つの単語に対応する場合 (例:二言語複合語) 、その単語内の文字の LanguageName プロパティは空になります。一方、LanguageId プロパティは、認識済み単語の内容にかかわらず基本言語の識別子を保持します。

デフォルトでは、このプロパティの値は空の文字列です。

文字の正確な Region を指定します。Region は矩形でない場合があり、初期状態では LeftTopRight、および Bottom プロパティで定義された矩形内に収まっています。文字の正確な Region を変更しても、LeftTop Right、および Bottom プロパティは変更されません。

このプロパティは、プロパティを TRUE に設定して認識を実行した後にのみ使用できます。

このプロパティは定数オブジェクトを返します。文字の正確な Region を変更するには、まずIEngine::CreateRegionメソッドを使用して中間の Region オブジェクトを取得し、必要なパラメーターを変更した後、取得したオブジェクトをプロパティに割り当ててください。

、読み取り専用

文字矩形の下端の座標を格納します。この矩形は画像上で定義されており、テキストの向きは考慮されません。未定義の場合、4 つの座標はすべてゼロになります。このプロパティは直接変更することはできず、SetRect メソッドを通じてのみ変更できます。

このプロパティのデフォルト値は 0 です。

、読み取り専用

文字矩形の左端の座標を格納します。この矩形は画像上で定義されており、テキストの向きは考慮されません。未定義の場合、4 つの座標はすべてゼロになります。このプロパティは直接変更することはできず、SetRect メソッドを通じてのみ変更できます。

このプロパティのデフォルト値は 0 です。

、読み取り専用

文字矩形の右端の座標を格納します。この矩形は画像上で定義されており、テキストの向きは考慮されません。未定義の場合、4 つの座標はすべてゼロになります。このプロパティは直接変更することはできず、SetRect メソッドを通じてのみ変更できます。

このプロパティのデフォルト値は0です。

, read-only

文字矩形の上端の座標を格納します。 この矩形は画像上で定義されており、テキストの向きは考慮されません。 未定義の場合、4つの座標はすべてゼロになります。このプロパティは直接変更できません。変更するには SetRect メソッドを使用してください。

このプロパティのデフォルト値は0です。

その文字が単語内で最も左にある文字かどうかを指定します。

複雑な状況 (スペースで区切られていない2つの単語や、スペースなしで句読点を含む単語など) では、 このプロパティが正しく機能しない場合があります。文字のフラグが設定された後に、 認識エンジンが単語数に関する推定を変更することがあります。

このプロパティはシンセシス中に設定されます。シンセシスが完了する前にプロパティが呼び出された場合、デフォルト値はFALSEです。

中国語、日本語、または韓国語の場合、単語が検出されないため、このプロパティの信頼性は保証されません。

その文字が単語内の最初の文字かどうかを指定します。

このプロパティはシンセシス中に設定されます。シンセシスが完了する前にプロパティが呼び出された場合、デフォルト値はFALSEです。

注意事項:

  • 右から左への書字方向を持つ言語 (ヘブライ語など) では、 このプロパティは単語内で最も右にある文字を示します。
  • 中国語、日本語、または韓国語の場合、単語が検出されないため、このプロパティの信頼性は保証されません。

文字列のベースラインからの文字のシフト量をピクセル単位で設定します。文字列のベースラインはプロパティで定義されます。このプロパティは主にテキストに埋め込まれた画像に使用されます。

デフォルトでは、このプロパティの値は0です。

文字間の追加スペーシングをtwip単位で指定します。twipはポイントの1/20で、ポイントは1/72インチです。

このプロパティのデフォルト値は0です。

文字の水平スケーリングを1/1000単位で格納します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は1000で、スケーリングなしに相当します。

記号の色のRGB値を設定します。背景色はプロパティによって段落全体に対して定義されます。

このプロパティの値は-1になる場合があり、その場合は色が透明であることを意味します。

int値はRGBトリプレットから次の式を使用して計算されます: (赤の値) + (256 × 緑の値) + (65536 × 青の値) 。ここで、赤の値は1番目のトリプレット成分、緑の値は2番目のトリプレット成分、青の値は3番目のトリプレット成分です。 例えば、白のint値は16777215です。

デフォルトでは、テキストの色は黒 (RGB(0,0,0)) です。

文字が太字かどうかを指定します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は FALSE です。

文字がイタリック体かどうかを指定します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は FALSE です。

文字に下線が付いているかどうかを指定します。

このプロパティのデフォルト値は FALSE です。

文字に取り消し線が付いているかどうかを指定します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は FALSE です。

文字が下付き文字かどうかを指定します。IsSuperscript プロパティと同時に TRUE に設定することはできません。同時に設定した場合、認識されたテキストのエクスポート時にエラーが発生します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は FALSE です。

文字が上付き文字かどうかを指定します。IsSubscript プロパティと同時に TRUE に設定することはできません。同時に設定した場合、認識されたテキストのエクスポート時にエラーが発生します。

文字が名刺のテキストから取得された場合、このプロパティはデフォルト値になります。

このプロパティのデフォルト値は FALSE です。

文字が「スモールキャップス」スタイルかどうかを指定します。このスタイルでは、小文字が小さな大文字として表示されます。

このプロパティのデフォルト値は FALSE です。

、読み取り専用

文字のフォント名を格納します。このプロパティは直接変更できません。変更するには SetFont メソッドを使用します。

デフォルト値は「Times New Roman」です。

文字のフォントの高さを twips 単位で指定します。1 twip はポイントの 1/20 であり、1 ポイントは 1/72 インチです。

このプロパティのデフォルト値は 10 ポイント (200 twips) です。

文字のフォントスタイルにアクセスします。

、読み取り専用

文字のフォントの種類を格納します。このプロパティは SetFont メソッドを使用して変更する必要があります。

デフォルトでは、この値は FT_Unknown です。

文字の認識信頼度が低い場合に TRUE を返します。このプロパティを使用して、検証が必要かどうかを判断します。

このプロパティは、 ErrorProbability の値と認識設定に基づいて計算されます。検証においてより細かい条件分岐を実装する必要がある場合は、代わりに ErrorProbability を使用してください。

このプロパティのデフォルト値は FALSE です。

、読み取り専用

文字が誤認識された推定確率 (0 ~ 100 の範囲) を返します。

エラー確率はコンテキスト全体を考慮するため、認識結果に対してのみ利用可能であり、個々の文字認識バリアントに対しては利用できません。認識バリアントを相互に比較するには、.

エラー確率は、認識処理を経ずに取得されたシンボル (ソース PDF ファイルから直接取得されたものなど) については計算されません。

,read-only

文字認識バリアントのコレクションを返します。

このプロパティは、印刷不可能な文字 (スペース、改行など) や、認識されずに明示的な編集操作でテキストに追加された文字に対してはゼロを返します。また、以前のバージョンの ABBYY FineReader Engine でテキストが認識された場合もゼロが返されます。

プロパティが FALSE に設定されている場合、返されるコレクションには要素が 1 つだけ含まれます。それ以外の場合、コレクションには 1 つ以上の要素が含まれ、バリアントは最良から最悪の順に並べられます。

、読み取り専用

CharacterRecognitionVariants コレクション内で選択された文字認識バリアントのインデックスを格納します。

,read-only

選択された文字認識バリアントを格納します。これは、文字認識バリアントのコレクション ( CharacterRecognitionVariants プロパティ) 内でインデックス CharacterRecognitionVariantIndex に対応する要素です。

,read-only

その文字が属する単語の認識バリアントのコレクションを返します。

このプロパティは、印刷不可能な文字 (スペース、改行など) や、認識されずに明示的な編集操作でテキストに追加された文字に対してはゼロを返します。また、以前のバージョンの ABBYY FineReader Engine でテキストが認識された場合もゼロが返されます。

プロパティが FALSE に設定されている場合、返されるコレクションには要素が 1 つだけ含まれます。それ以外の場合、コレクションには 1 つ以上の要素が含まれ、バリアントは内部推定メカニズムによって最良から最悪の順に並べられます。

、読み取り専用

文字が認識処理なしで入力ファイルのテキストコンテンツから抽出されたかどうかを示します。たとえば、テキストレイヤーを持つ 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 の違いは何ですか? Text の操作 プロパティの操作