Six approaches to the same PDF
Text extraction, Markdown conversion and layout-aware parsing solve different problems. Every row below is measured on the same fixtures, ranked by table score.
| Parser | Output | OCR | Licence | Table | Reading order | Heading |
|---|---|---|---|---|---|---|
| pdf-inspector | markdown | none | MIT | |||
| LiteParse | markdown | builtin | Apache-2.0 | |||
| OpenDataLoader PDF | markdown | builtin | Apache-2.0 | |||
| @opendocsg/pdf2md | markdown | none | MIT | |||
| unpdf | text | none | MIT | |||
| pdf-parse | text | none | MIT |
No parser in this roster currently reads the scanned fixture (0 of 6) — anything recovered there would require optical character recognition applied to a full-page image, which none of these adapters do. Table score is cell-weighted across the fixtures that carry a text layer; reading order and heading are averaged.