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
- Homepage
- https://opendataloader.org
- 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
Output formats include Markdown, JSON with bounding boxes, HTML, Tagged PDF, and PDF/UA in the enterprise tier.
The free tier supports bounding boxes for every element, image extraction with coordinates, heading hierarchy detection, and Tagged PDF structure extraction.
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.
The free tier supports AI safety in the form of prompt injection filtering, as well as header, footer, and watermark filtering.
The free tier supports OCR for scanned PDFs, LaTeX formula extraction, and extraction of complex or borderless tables through hybrid mode.
Auto-tagging turns untagged PDFs into Tagged PDFs, free under Apache 2.0.
Getting started
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+.
Hybrid mode combines local Java processing with an AI backend, and that backend runs locally on the user's machine.
The OCR engine is selected with a dedicated engine option, and OCR quality varies with the engine, the language, and the document itself.
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.
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.
pip install -U opendataloader-pdfimport 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"
)pip install -U opendataloader-pdfimport 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"
)pip install -U "opendataloader-pdf[hybrid]"opendataloader-pdf-hybrid --port 5002Who 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.
- GitHub READMEhttps://github.com/opendataloader-project/opendataloader-pdfFetched
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.