producer retained for this page; Analysis.report.path is 'mixed'
when the document has more than one page producer.
Flat, page-relative source items; AnalysisBlock.wordIndexes indexes
into it. OCR boxes are normalized [0,1]. Text-run boxes are page
fractions and may extend outside that range when the PDF run extends past
the viewport. Both use a bottom-left origin with y up.
One page's flat words plus its structural blocks.