
OpenDataLoader PDF for LlamaIndex
https://github.com/opendataloader-project/opendataloader-pdf-llamaindex- Category
- AI Tools
- Rank
- No. 1680Tools index
Previous survey · No. 1696 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- opendataloader-project
- GitHub
- 5 stars
- Latest release
- v0.0.3
- Date
About
LlamaIndex reader for OpenDataLoader PDF — fast, accurate, local PDF extraction for RAG pipelines.
What it does
It wraps the OpenDataLoader extraction engine as a LlamaIndex reader. PDFs become document records in text, Markdown, HTML, or structured JSON, optionally split by page with source, format, and page metadata.
Why it's ranked here
This is a focused connector with unusually broad extraction controls. It preserves tables and reading order, supports tagged PDFs and sanitization, and includes both mocked unit tests and Java-backed integration coverage. The required Java runtime and separate hybrid backend narrow its fit.
What's good
Page-level records make citation and chunking workflows straightforward. Markdown retains headings, lists, and tables, while JSON carries bounding boxes for grounding. It accepts multiple PDFs, merges custom metadata, filters hidden or invisible content, handles encrypted files, and can select specific pages.
Tradeoffs
Java 11 or newer must be installed on the system path, despite the Python packaging. The optional higher-accuracy mode needs a running external backend. Formula extraction, OCR, benchmarks, and accessibility belong to the core engine documentation, not this connector. Experimental strikethrough detection also signals uneven maturity across options.
How to use it well
Choose it for LlamaIndex ingestion where page provenance, table structure, reading order, or local document handling matter. Use Markdown for structure-aware chunking and JSON when citations need coordinates. It supplies extraction and reader integration, not the embeddings, vector store, retrieval strategy, or hybrid backend.
Technical notes+
pyproject.toml uses Hatchling, requires Python >=3.10,<4.0, and depends on llama-index-core plus opendataloader-pdf. llama_index/readers/opendataloader_pdf/base.py defines OpenDataLoaderPDFReader over BasePydanticReader, validates formats and inputs, probes Java through subprocess, calls opendataloader_pdf.convert(), writes conversion output to a temporary directory, and yields LlamaIndex Document objects. Text, Markdown, and HTML pages are separated with an injected marker; JSON pages are grouped from the top-level kids collection by page number. Non-hybrid conversion exceptions are logged and produce no documents, while hybrid failures are raised. tests/test_integration.py exercises all four formats, page splitting, metadata, multiple inputs, and selected options against the Java engine.
Observed
- License
- Apache-2.0
- Primary language
- Python
- Packaging
- PyPI package built with Hatchling and installed with pip
- Interface
- LlamaIndex reader library implementing BasePydanticReader
- Runtime support
- Python 3.10 through 3.13 are classified; Java 11 or newer is required
- Output formats
- Text, Markdown, JSON with bounding boxes, and HTML
- Test structure
- Repository includes mocked unit tests and Java-backed integration tests
Read from README.md, pyproject.toml, llama_index/readers/opendataloader_pdf/base.py, llama_index/readers/opendataloader_pdf/__init__.py, tests/conftest.py, tests/test_integration.py, tests/test_readers_opendataloader_pdf.py, LICENSE, CHANGELOG.md, .github/CODEOWNERS, .github/SECURITY.md, .github/dependabot.yml, .github/PULL_REQUEST_TEMPLATE.md, docs/OpenDataLoaderPDFReaderDemo.ipynb.
What it can do
Extract text from PDF documents
PDF file → Extracted text content
Convert PDF content for RAG pipeline integration
PDF file → LlamaIndex-compatible data structure
Process PDF documents locally without external services
PDF file → Processed document data
Load PDF data into LlamaIndex reader format
PDF file → LlamaIndex reader object
Parse PDF structure and content for retrieval applications
PDF file → Structured document data for retrieval
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.