1. A computer implemented method comprising: accessing a document, wherein the document comprises a plurality of words; calculating a threshold horizontal gap between words based only on the average vertical height of the plurality of words, wherein horizontal and vertical are orthogonal directions within the document; creating a plurality of text lines from the plurality of words based on the threshold horizontal gap between words based on the average vertical height of the plurality of words, wherein each text line in the plurality of text lines comprises one or more words in the plurality of words; and creating a plurality of text blocks derived from the plurality of text lines.
1. A computer implemented method comprising: accessing a document, wherein the document comprises a plurality of words; calculating a threshold horizontal gap between words based only on the average vertical height of the plurality of words, wherein horizontal and vertical are orthogonal directions within the document; creating a plurality of text lines from the plurality of words based on the threshold horizontal gap between words based on the average vertical height of the plurality of words, wherein each text line in the plurality of text lines comprises one or more words in the plurality of words; and creating a plurality of text blocks derived from the plurality of text lines. 2. The method of claim 1 , further comprising: repairing interfering text blocks in the plurality of text blocks by merging text blocks when a first text block comprises a second text block; and identifying justification alignment of each text block in the plurality of text blocks.