Vibeleaderboard
Index / tool
Visit github.com
Category
AI Tools
Rank
No. 1680Tools index

Previous survey · No. 1696 ·

Pricing
Open Source
Type
TOOL
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 fileExtracted text content

  • Convert PDF content for RAG pipeline integration

    PDF fileLlamaIndex-compatible data structure

  • Process PDF documents locally without external services

    PDF fileProcessed document data

  • Load PDF data into LlamaIndex reader format

    PDF fileLlamaIndex reader object

  • Parse PDF structure and content for retrieval applications

    PDF fileStructured document data for retrieval

Tags

pdfragllamaindexextraction

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.