OpenDataLoader PDF converts PDFs into structured data for RAG and LLM workflows and auto-tags untagged PDFs for accessibility. Every extracted element (heading, paragraph, list, table, image) carries a bounding box and a semantic type, so answers can cite the exact location in the source page. It ships Python, Node.js, and Java SDKs on a Java core and runs locally without a GPU.
The default local mode is deterministic and orders text with the XY-Cut++ reading-order algorithm. Hybrid mode keeps simple pages local and routes complex pages to an AI backend built on Docling, which adds borderless table extraction, OCR for scanned PDFs in more than 80 languages, LaTeX formula extraction, and chart and image descriptions from the SmolVLM vision model. When a PDF already carries structure tags, it can extract the author's tagged layout directly.
On the project's benchmark of 200 real-world PDFs (scores normalized to 0–1, speed in seconds per page):
| Engine | Overall | Reading order | Table | Heading | Speed |
|---|---|---|---|---|---|
| opendataloader [hybrid] | 0.907 | 0.934 | 0.928 | 0.821 | 0.463 |
| docling | 0.882 | 0.898 | 0.887 | 0.824 | 0.762 |
| marker | 0.861 | 0.890 | 0.808 | 0.796 | 53.932 |
| opendataloader | 0.831 | 0.902 | 0.489 | 0.739 | 0.015 |
| mineru | 0.831 | 0.857 | 0.873 | 0.743 | 5.962 |
| pymupdf4llm | 0.732 | 0.885 | 0.401 | 0.412 | 0.091 |
For accessibility, auto-tagging turns an untagged PDF into a Tagged PDF that follows the Well-Tagged PDF specification and is validated with veraPDF, built with the veraPDF developers. Exporting to PDF/UA-1 or PDF/UA-2 and a visual accessibility editor are paid add-ons. It does not process Word, Excel, or PowerPoint files.
Features
- Output formats: JSON with bounding boxes and semantic types, Markdown, HTML, plain text, annotated PDF for visual debugging, and Tagged PDF
- Reading order: XY-Cut++ ordering handles multi-column layouts and scientific papers
- Document structure: heading hierarchy, numbered and nested lists, simple tables, and images with coordinates in local mode
- Hybrid mode: routes complex pages to a Docling-based AI backend for borderless tables, formulas, and chart descriptions
- OCR engines: EasyOCR, RapidOCR, Tesseract, Apple Vision, and NVIDIA Nemotron OCR for scanned PDFs, selectable per run
- Chart and image descriptions: a small vision model writes descriptions usable for RAG search and alt text
- Tagged PDF extraction: reads an existing structure tree to keep the author's headings, lists, tables, and reading order
- Prompt-injection filtering: drops hidden text, off-page content, and invisible layers, with optional masking of emails, URLs, and phone numbers
- Header and footer filtering: removes headers, footers, and watermarks from extracted text
- Accessibility auto-tagging: converts untagged PDFs into Tagged PDFs validated with veraPDF
- LangChain loader: a document loader package for LangChain pipelines


