opendataloader-project

opendataloader-pdf: Extract Structured Data and Add Accessibility Tags to PDFs

OpenDataLoader PDF turns digital, scanned, and tagged PDFs into structured formats for AI and RAG workflows, and can auto-tag untagged PDFs. It offers Java, Python, and Node.js SDKs, with local and hybrid processing modes.

ActiveJavaApache-2.0PDFData ExtractionRAG
View on GitHub Compare
Stars
29.5k
Forks
2.8k
Stars, last 30 days
+734
Last commit
5 days ago
Contributors
27

Our take

Activeregular commits and releases

Health score

67/100

How it is scored
Activity
85
Community
54
Issues
55
Pull requests
75

+734 stars in the last 30 days

  • Releases more often than 87% of the projects we track
  • Merges more pull requests than 79% of the projects we track

This is an actively maintained, Apache-2.0 PDF tool with broad extraction and tagging capabilities, suited to teams willing to account for its Java-based core and optional hybrid setup.

Good fit if

  • You need structured PDF output, including element coordinates, for search, RAG, or downstream processing.
  • You want an open-source workflow for generating Tagged PDFs from untagged files.
  • You can use Java 11+ for the core workflow and, for the Node.js SDK, meet its Node.js 22.13+ requirement.

Look elsewhere if

  • You need to process Word, Excel, or PowerPoint files, which the project does not support.
  • Your workflow requires PDF/UA export or a visual accessibility editor as part of the open-source core.
  • You need a PDF tool that does not depend on a JVM for its core processing.
All health signals
Last commit2026-10-05 (5 days ago)
Commits, last 90 days100+
Releases, last 12 months51 (latest v2.5.12, 2026-10-01)
Contributors27 (top contributor: 66% of commits)
Issues closed, last 90 days14+ (typically closed in 11 days)
Pull requests merged, last 90 days65 (typically merged in 0 days)
Project age17 months

Checked on 2026-10-11 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

30,247

Forks

2,894

Change since Nov 8, 2026: +30 stars·+3 forks

Overview

OpenDataLoader PDF is a PDF parser and accessibility tool. It extracts document content into Markdown, JSON, and HTML, preserving layout information such as reading order and element coordinates for downstream applications.

It also generates Tagged PDFs from untagged files, giving teams a way to automate part of PDF accessibility remediation. The core project is Apache-2.0 licensed; PDF/UA export and a visual accessibility editor are described as enterprise features.

Key Features

  • Convert PDFs to Markdown, JSON, HTML, text, and annotated PDF output.
  • Include page numbers, semantic element types, and bounding boxes in structured output.
  • Extract headings, lists, tables, images, and document reading order.
  • Use an optional hybrid mode for complex layouts, OCR, formula extraction, and image descriptions.
  • Generate Tagged PDFs from untagged documents.
  • Process files through Java, Python, or Node.js interfaces, with a command-line option.
  • Filter certain hidden or suspicious PDF text to reduce prompt-injection risks in AI workflows.

Use Cases

  • RAG developers can preserve headings, tables, and page coordinates when preparing PDF content for retrieval and citations.
  • Document-processing teams can batch-extract structured data from digital PDFs without building a parser from scratch.
  • Accessibility teams can automatically generate Tagged PDFs as an initial remediation step for untagged documents.
  • Teams handling scanned or layout-heavy PDFs can try hybrid processing with OCR when local extraction is insufficient.

What you need

Detected in the repository

  • Node.js >=22.13 (from package.json)
  • Automated checks on GitHub Actions

License in plain words

Apache-2.0permissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license, the NOTICE file and a note of your changes
  • Share your changes: no
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

For Python, install the package and convert a PDF:

pip install -U opendataloader-pdf
import opendataloader_pdf

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

See the README for Java and Node.js setup, hybrid mode, and additional options.

Alternatives

  • text-extract-api: It exposes document extraction as a self-hostable API using OCR and Ollama, while OpenDataLoader PDF offers Java, Python, and Node.js SDKs and hybrid processing.
  • unstructured: It parses many document types into structured elements through a Python library, while OpenDataLoader PDF focuses on PDFs and also supports PDF auto-tagging.
  • marker: It converts PDFs and other documents to Markdown, JSON, HTML, or chunks using local models, while OpenDataLoader PDF offers multiple SDKs and hybrid processing.
  • docling: It handles PDFs alongside Office, image, and audio formats, while OpenDataLoader PDF focuses on PDFs and includes automatic tagging for accessibility.
ProjectLanguageLicenseStarsStatus
opendataloader-pdfJavaApache-2.029.5kActive
text-extract-apiPythonMIT3.2kQuiet
unstructuredHTMLApache-2.015.5kActive
markerPythonApache-2.040.2kActive
doclingPythonMIT69.8kActive

Considerations

The Python quick start requires Java 11 or later in addition to Python. The Node.js package requires Node.js 22.13 or later. Hybrid processing adds a separately installed backend and may require additional OCR engines or language data depending on the setup. The project reports regular commits and releases and ongoing issue and pull-request activity, but benchmark figures in the README are project-published results and may not reflect every document collection. The README also distinguishes free Tagged PDF generation from enterprise PDF/UA export and visual editing.

Found this useful?

Share it with someone who would like opendataloader-pdf.

Comparisons