OCR による文字列検証は、CitrixVerifyText または CitrixVerifyTextFuzzy API 呼び出しを使用して実現されます。これらの関数は、スクリプトのカスタマイズ時に TrueLog Explorer によって挿入されます。CitrixVerifyText および CitrixVerifyTextFuzzy 関数は、再生ビットマップ内のテキスト文字列を比較して、それらが同じかどうかを判別します。
CitrixParseText 関数および CitrixParseTextFuzzy 関数は、テキストを解析するために使用できます。
Silk Performer は、2 種類の異なる OCR 技術を提供します。
- フォントベースの OCR 手法:フォントベースの手法は、テキスト ビットマップをシステム フォントのビットマップと比較します。この手法では、さまざまなフォントやテキスト スタイルを認識するためにパターン データベースが使用されます。フォント データベースは、フォントベースの
OCR を使用する前に生成しておく必要があります。文字がシステム フォントとそのスタイルによって正確に再現できる場合にのみ認識できます。アンチエイリアスや ClearType などのフォント スムージング技術が使用されている場合、OCR の結果はあまり期待できません。フォントベースの
OCR 手法は、パフォーマンスとリソース消費の点では最適化されています。
- 言語に密接なあいまい一致 OCR 手法:あいまい一致テキスト認識を使用した手法では、文字と言語の知識ベースを使用してテキスト イメージを分析します。イメージをフォント ビットマップと比較するよりも、あいまい一致 OCR は専用のテキストと言語認識アルゴリズムを使用します。
Citrix TrueLog でのみ、検証および解析の API 呼び出しがメニュー ツリーに表示されます。その他の TrueLog モード(Web、データベースなど)では、新しい API ノードはメニュー ツリーに追加されません。
注: OCR 操作は静的なコンテンツに対して実行する必要があります。ウィンドウ イベントでの同期を行うと、画面の更新がわずかに遅れることがあります。これによって、タイミングに依存した結果が生じます。画面があまりに頻繁に変更される場合は、タイミングがずれて、比較のための正しい画像が選択されないことがあります。したがって、すべての
OCR 検証関数や解析関数の前に、待機、つまり CitrixWaitForScreen 関数の呼び出しをするようにスクリプトを記述する必要があります。