Change max_pages_to_sample from 5 to u32::MAX so every page is analyzed. This prevents misclassifying Mixed PDFs as TextBased when scanned pages fall outside the old 5-page sample window. Add early-exit: stop scanning as soon as a non-text page is found, since the PDF can't be purely TextBased. A 492-page mixed PDF exits after 2 pages instead of scanning all 492. Also add title and confidence fields to PdfProcessResult for downstream consumers (NAPI wrapper, feature-flag gating). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>