1. A method of searching electronic documents, comprising, using one or more computer processors: (a) ripping data from each of a plurality of documents, wherein the ripped data includes text from a respective body of each document; (b) from the ripped data, detecting embedded objects in each document; (c) converting data from content within the detected embedded objects to text; (d) in a buffer, storing a representation of each document including: (1) the text of the respective body of each document and (2) the text obtained from conversion of the content of the detected embedded objects in the respective body of each document, wherein the storing includes storing the spatial relationship between (1) and (2) according to the original locations where the embedded objects appear in each of the respective bodies of the documents; (e) receiving search criteria including a plurality of search terms provided by a user and a proximity of the plurality of search terms; and (f) searching the stored information based on the search criteria and identifying a document that contains matching occurrences of at least a first of the search terms in text obtained from conversion of an embedded object in the document and at least a second of the search terms in text of the respective body of the document and having the proximity between the matching occurrences of at least the first of the search terms and the second of the search terms.