skillfed

opendataloader-pdf

A Python wrapper for the opendataloader-pdf Java CLI.

opendataloader-pdf v2.5.0 184.2K downloads/30d#10,044 on PyPI28,406
Permissive license Apache-2.0 Active released

What it is and what it does

OpenDataLoader PDF is a Python wrapper around a Java-based PDF parser that extracts text, tables, images, and structural metadata from PDFs into multiple formats (Markdown, JSON with bounding boxes, HTML). It offers two modes: a deterministic local mode for standard digital PDFs, and a hybrid mode that routes complex pages (nested tables, scanned documents, formulas, charts) to an AI backend. The package also includes auto-tagging functionality to convert untagged PDFs into Tagged PDF format, which is the foundation for PDF accessibility compliance.

The tool is designed for two main workflows: building AI-ready datasets for RAG and LLM pipelines (with structured output and source citations via bounding boxes), and automating PDF accessibility remediation at scale. It requires Java 11+ as a system dependency but has no Python runtime dependencies, making installation straightforward. The core extraction and auto-tagging features are open-source under Apache-2.0; PDF/UA export and visual editing tools are enterprise add-ons.

Use it for:

  • Extract structured Markdown and JSON from PDFs for RAG pipelines, with bounding boxes for source citation and retrieval.
  • Auto-tag untagged PDFs into screen-reader-ready Tagged PDF format to meet accessibility regulations (EAA, ADA, Section 508) at scale.
  • Parse complex or scanned PDFs (tables, formulas, charts, poor-quality scans) using hybrid mode for accurate structured output.
  • Build document processing workflows that preserve reading order, heading hierarchy, and list structure for downstream NLP tasks.
  • Extract tables and images with precise coordinates for document layout reconstruction or visual document analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Extracts structured data (Markdown, JSON, HTML) from PDFs with bounding boxes and semantic tagging, and auto-tags untagged PDFs into Tagged PDF format for accessibility compliance.

Yes. Active, well-maintained project with strong benchmark performance (0.907 overall accuracy, 0.928 table extraction), no security vulnerabilities, and low install friction. Apache-2.0 license covers core features. Java 11+ system dependency is the only real prerequisite. Suitable for production RAG pipelines and accessibility automation workflows; hybrid mode adds cost (API calls) but handles complex documents well.

Install

opendataloader-pdf on PyPI

pip

pip install opendataloader-pdf

uv

uv add opendataloader-pdf

poetry

poetry add opendataloader-pdf

Installing opendataloader-pdf

Before you install

Low friction: pure Python wheel with no runtime dependencies. Active maintenance (last commit 2026-08-13, 28406 stars) and recent releases. Requires Java 11+ as a system prerequisite, not a Python dependency.

License in practice

Apache-2.0 permissive license. Core extraction and auto-tagging are free and open-source; PDF/UA export and accessibility studio are enterprise add-ons.

Quickstart

pip install opendataloader-pdf

import opendataloader_pdf

opendataloader_pdf.convert(
    input_path=["file.pdf"],
    output_dir="output/",
    format="markdown,json"
)

Requires Java 11+ installed and available on PATH before running Python code.

Verify before relying

  • Whether the hybrid mode (AI-assisted extraction for complex tables and scanned PDFs) requires external API calls or runs locally.
  • Performance characteristics and resource usage when processing large batches or high-volume PDF collections.
  • Whether OCR in hybrid mode supports all 80+ claimed languages equally or has language-specific accuracy variations.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 31 days since the last release
Last repo commit
First released
Downloads 184,207/month — #10,044 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: opendataloader_pdf-2.5.0-py3-none-any.whl

Operating System :: OS IndependentProgramming Language :: Python :: 3

Tags

pdf to markdown json extractionpdf data extraction for ragpdf accessibility auto-taggingpdf parser with bounding boxespdf to structured datatagged pdf generationpdf layout analysis
pdf-extractionrag-pipelineaccessibility

More Text Processing packages