How this tool computes its result
Text extraction runs entirely client-side via pdfjs-dist. For each page it pulls textContent.items, buckets each text fragment by its rounded y-coordinate (transform[5]) to approximate a "line," sorts fragments within a line by x-coordinate left to right, and joins lines top to bottom by sorting line keys descending (PDF y-coordinates increase upward). Pages are joined with a blank line between them, and runs of 3+ newlines are collapsed to 2. This is positional-heuristic extraction, not real layout/structure analysis — there is no heading, list, or table detection.
