Here's my attempt. It's not entirely satisfying, but maybe it will help. I've only tried it on one of the fuzzier pages:
i = Import["mL27rU9.jpg"]

First, let us identify connected components:
mc = MorphologicalComponents[Binarize@i, Method -> "Nested"];
Colorize @ mc

Next we shall extract all the bounding boxes:
bb = Round[Last /@ ComponentMeasurements[mc, "BoundingBox"]];
The plan is to classify a region based on the width of the bounding box. Each column has a wide box, then a narrow bow. We can pick these widths with the help of a histogram:
Histogram[#[[2, 1]] - #[[1, 1]] & /@ bb, {140, 230, 2}]

right = Select[bb, 140 < #[[2, 1]] - #[[1, 1]] < 170 &];
left = Select[bb, 170 < #[[2, 1]] - #[[1, 1]] < 220 &];
ImageAssemble @ {{
Colorize@SelectComponents[mc, "BoundingBox", 140 < #[[2, 1]] - #[[1, 1]] < 170 &],
Colorize@SelectComponents[mc, "BoundingBox", 170 < #[[2, 1]] - #[[1, 1]] < 220 &]}}

Once we have them, we can match them up by finding to closest left box to each one of the right boxes.
closest = Table[With[{cr = 0.5 Total@r}, First@SortBy[left, Norm[cr - 0.5 Total@#] &]],
{r, right}];
There are probably better ways to do this, both in the way I've written the code and the conditions for matching, but it's close enough for now.
Now we can clip the image to each bounding box and recognize the text.
rightText = TextRecognize@ImageTake[i, 2592 - {#[[2, 2]] - 5, #[[1, 2]] + 5},
{#[[1, 1]] + 5, #[[2, 1]] - 5}] & /@ right
leftText = TextRecognize@ImageTake[i, 2592 - {#[[2, 2]] - 5, #[[1, 2]] + 5},
{#[[1, 1]] + 5, #[[2, 1]] - 5}] & /@ closest
Here we have reduced the bounding box to avoid the border, and flipped the rows because image coordinates are always backwards. Now we can get some actual points, ignoring everything that doesn't convert to a number.
points = Select[Thread[{leftText, rightText}] /.
s_String :> With[{e = Quiet@ToExpression[s]}, If[NumberQ@e, e, 0]],
Times @@ # != 0 &]
Finally, we can graph the points:
ListPlot@points

A rather disappointing scatter :-(
ImageData[]
commandimg=Import["ExampleData/lena.tif"]; data=ImageData[img];
$\endgroup$