In the preferred embodiment, the index engine 110 operates to extract the data elements from the document, such as the words, sentences, phrases and graphic elements from the document data 103 and following certain indexing rules creates the index tables 128 for the hard copy document.