How OCR Verification and Parsing Works

String verification through optical character recognition (OCR) is achieved using CitrixVerifyText or CitrixVerifyTextFuzzy API calls. These functions are inserted via TrueLog Explorer during script customization. CitrixVerifyText and CitrixVerifyTextFuzzy functions compare text strings in replay bitmaps to determine if they are identical.

CitrixParseText and CitrixParseTextFuzzy functions are available for parsing text.

Silk Performer offers two distinct OCR techniques:

  1. Font-based OCR approach: The font-based approach compares text bitmaps to bitmaps of system fonts. This approach relies on pattern databases to recognize varying fonts and text styles. Font databases must be generated before font-based OCR can be used. Characters are only recognized if they can be exactly reproduced by a system font and its styles. OCR results may be poor if font smoothing techniques such as anti-aliasing or ClearType are used. The font-based OCR approach is optimized for performance and resource consumption.
  2. Fuzzy OCR with language affinity: Through fuzzy text recognition this approach analyzes text images using a character and language knowledge base. Rather than comparing images to font bitmaps, the fuzzy OCR uses proprietary text and language recognition algorithms.
Only Citrix TrueLogs show verification and parsing API calls in the menu tree. With other TrueLog modes (for example, Web and database), new API nodes are not added to the menu tree.
Note: OCR operations should be performed on static content. When synchronizing on window events it is possible that screen refresh may be slightly delayed, which will result in timing-dependent outcomes. If a screen changes too frequently the correct image may not be selected for comparison if timing is off. Therefore you should script a wait or a CitrixWaitForScreen function call before all OCR verification or parsing functions.