The StringReader step is based on a sophisticated technique that uses geometric features to quickly locate and read text made up of solid characters in images where these characters are well separated from the background and from one another. It handles text strings with a known or unknown number of evenly or proportionally spaced characters. The step accommodates changes in character angle with respect to the string, aspect ratio, scale, and skew, as well as contrast reversal. It accepts strings located across multiple lines and at a slight angle. The step reads from multiple pre-defined or user-defined Latin-based fonts. It supports user-defined constraints, overall and at specific character positions, to further increase recognition rates.