Most people assume AI misreads documents when the scan is bad — a crooked photocopy, a faxed page, coffee on the corner. So a clean PDF exported straight from software feels safe. It usually is, for paragraphs. It frequently isn't for tables.

We hit this on a real contract review: a rate table where the AI returned a tidy list of numbers, correctly transcribed, attached to the wrong rows. Read literally, it would have turned a change-order markup into a five-thousand-dollar error on a single job. Nothing about the output looked suspicious. That's the problem.

What a "text layer" actually is

A PDF is not a document in the way a Word file is. It's closer to a set of drawing instructions: put this character at this coordinate, then this one here. Underneath the picture, most PDFs carry a text layer — a stream of characters with positions attached.

For a paragraph, that stream reads in the same order a human would. For a table, it depends entirely on how the generating software emitted it. Sometimes it walks across rows. Sometimes it walks down entire columns first. Sometimes it does something in between because a cell wrapped to two lines.

A model reading that stream sees numbers in an order and infers a grid from it. When the emitted order doesn't match the visual grid, it infers a grid that is wrong — and then answers your question fluently from that wrong grid.

Why this is worse than a garbled scan

Bad OCR produces obvious garbage. You see "5OOO" and you know to look. A column-order misread produces plausible, well-formatted, entirely wrong numbers. There is no visible signal. The failure is silent, which is exactly the kind you should design against.

The instruction that fixes it

Modern assistants can look at the page as an image, not just parse its text. So split the job: use the text layer to find things, and the page image to read them.

In practice: "Find the page containing the rate schedule using the document text. Then read that table from the page image and give me each row as label plus value. Quote the page number." You are asking it to look at the picture the way you would — where rows and columns are visually unambiguous.

Then spot-check. Pick two rows at random, open the PDF yourself, and confirm. Two checks take a minute and tell you whether to trust the other forty.

The caveat

Reading from the image isn't free of error either — dense tables, merged cells, and tiny type all cause trouble, and image reading costs more per page. It trades a silent failure mode for a noisier one, which is the trade you want on anything with money in it.

The takeaway

Any time an AI pulls numbers out of a grid — bids, rate schedules, invoices, rent rolls, insurance limits — tell it to read from the page image and cite the page. Clean-looking is not the same as correctly parsed.