In the first stage, we create a 2D array where non-zero values represent the bounding boxes of text tokens in the PDF, then analyze this array for blocks.
it is important to maintain the visual alignment of text elements when projecting coordinate-positioned text in a variable-width font to columns in a monospaced plain-text file.