1. A method, comprising: receiving a scanned image corresponding to a page of text; analyzing the scanned image to identify a set of characters (Ci) and corresponding positions (Pi) of each character of Ci on the page; applying natural language processing (NPL) and an analytic analysis algorithm to determine a semantic analysis relationship of phrases formed within Ci and to determine meanings for the phrases; generating annotation data for each phrase based upon the meanings; generating a plurality of annotations (Ai), each Ai corresponding to a corresponding phrase and the corresponding phrase's annotation data, wherein each annotation of Ai is assigned a corresponding position Qi on the page based upon the Pi of the corresponding characters on the page; storing, in a non-transitory computer-readable medium, the scanned image in conjunction with the plurality of annotations, annotation data and the corresponding Qi; and displaying the scanned page in conjunction with the annotations, wherein each annotation is displayed at the corresponding position.