A PDF is not a document
What the file actually contains, the three things it does not, and why every word and table has to be inferred from geometry.
So to read one, you have to think like a printer.
Notes from building the retrieval engine — what we measured, what broke quietly, and what the numbers changed our minds about.
What the file actually contains, the three things it does not, and why every word and table has to be inferred from geometry.
Advance widths, the fourteen fonts every reader is assumed to know, descenders, and the three namespaces between a byte and a character.
A table is never stored — it is reconstructed. Two strategies, two failure modes, and the geometry that makes citations clickable.
The architecture, the API, and why matching pdfplumber exactly was a better decision than improving on it.
Five silent corruptions, including eight thousandths of a point that flipped the sign of a number in an annual report.
Benchmarks, a harness that measured itself twice, and the number that redirected the whole project.
The gaps, the models worth deploying, the ones that are not, and three lessons that are not PDF-specific.