OpenDataLoader PDF

OpenDataLoader PDF covers PDF data extraction and PDF accessibility automation.

Verified

Core facts

Read by a script from the official API, not rewritten by a model.

License
Apache-2.0
Languages
Java
Maintainer
opendataloader-project
Verified

What it is

OpenDataLoader PDF covers both PDF data extraction and PDF accessibility automation. The project is licensed under Apache-2.0. It provides SDKs for Python, Node.js, and Java. Its input is PDF files, including digital, scanned, and tagged PDFs.

Main features

  1. Output formats include Markdown, JSON with bounding boxes, HTML, Tagged PDF, and PDF/UA in the enterprise tier.

  2. The free tier supports bounding boxes for every element, image extraction with coordinates, heading hierarchy detection, and Tagged PDF structure extraction.

  3. It uses XY-Cut++ reading order analysis to sequence text across multi-column pages, sidebars, and mixed layouts, and detects tables using border analysis and text clustering while preserving row and column structure.

  4. The free tier supports AI safety in the form of prompt injection filtering, as well as header, footer, and watermark filtering.

  5. The free tier supports OCR for scanned PDFs, LaTeX formula extraction, and extraction of complex or borderless tables through hybrid mode.

  6. Auto-tagging turns untagged PDFs into Tagged PDFs, free under Apache 2.0.

Getting started

  1. The examples below require Java 11+ and Python 3.11+; before you start, check the Java version in a terminal, and if Java is not found, install JDK 11+.

  2. Hybrid mode combines local Java processing with an AI backend, and that backend runs locally on the user's machine.

  3. The OCR engine is selected with a dedicated engine option, and OCR quality varies with the engine, the language, and the document itself.

  4. Mathematical formulas can be extracted from scientific PDFs as LaTeX, and formula and picture description enrichments require the full hybrid mode option on the client side.

  5. If both the structure-tree option and the hybrid option are set on a tagged PDF, the structure tree is used and the hybrid backend is not called.

From the README · bash
pip install -U opendataloader-pdf
From the README · python
import opendataloader_pdf

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)
From the README · bash
pip install -U opendataloader-pdf
From the README · python
import opendataloader_pdf

# Batch all files in one call — each convert() spawns a JVM process, so repeated calls are slow
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)
From the README · bash
pip install -U "opendataloader-pdf[hybrid]"
From the README · bash
opendataloader-pdf-hybrid --port 5002

Who it is for

The project does not process Word, Excel, or PPT files. It does not require a GPU. The project says local mode processes 60+ pages per second on CPU (0.02s per page), benchmarked on Apple M4.

Converting Tagged PDF to PDF/UA-1 or PDF/UA-2 is an enterprise add-on. The heading hierarchy option infers heading depth from the PDF outline first, then section numbering, and levels are capped at H6. Sanitizing sensitive data, with emails, URLs, and phone numbers replaced by placeholders, must be enabled explicitly.

Auto-tagging follows the PDF Association's Well-Tagged PDF specification and is validated using veraPDF. Pre-2.0 versions remain under MPL 2.0, and users can continue using them. The project offers a LangChain integration.

Sources

This page is written from the official sources below. Open them to check the original text.

Verified ·

This page is written by AI from the official sources above and checked automatically. This site has not tested it. Found a mistake? Tell us.