Repolode
opendataloader-project

opendataloader-project/opendataloader-pdf

Open-source PDF parser that turns PDFs into Markdown, JSON with bounding boxes, and HTML for AI pipelines, and auto-tags untagged PDFs into Tagged PDFs.

Open-source alternative to:Adobe Acrobat

Stars
29,752
Forks
2,825
Open issues
90
Last commit
15 hours ago

What is it?

OpenDataLoader PDF extracts structured content from PDF files, including text in reading order, headings, lists, tables, images, and formulas, and outputs Markdown, JSON with bounding boxes for each element, HTML, or annotated PDFs. It is aimed at feeding documents into RAG and LLM pipelines. A deterministic local mode runs on the Java core with no GPU, and an optional hybrid mode routes complex pages such as borderless tables and scanned pages to an AI backend with OCR.

The project also addresses PDF accessibility. Its layout analysis can auto-tag untagged PDFs into Tagged PDFs, which is the first step toward PDF/UA compliance. Export to PDF/UA-1 and PDF/UA-2, along with a visual accessibility editor, is offered as an enterprise add-on. Official SDKs exist for Python, Node.js, and Java, and a LangChain document loader is available.

Key features

  • 01Extracts text in correct reading order, including multi-column layouts.
  • 02Outputs Markdown, JSON with bounding boxes, HTML, and annotated PDF.
  • 03Runs locally on CPU without a GPU in its default mode.
  • 04Hybrid mode adds table, OCR, formula, and picture-description processing for complex pages.
  • 05Auto-tags untagged PDFs into Tagged PDFs under Apache 2.0.
  • 06Provides a prompt-injection filter and optional sensitive-data sanitization.

Use cases

  • Preparing PDF documents as chunks with source coordinates for a RAG system.
  • Converting research papers or reports to Markdown for LLM context windows.
  • Batch-tagging existing PDF archives to improve screen-reader accessibility.
  • Extracting tables and formulas from scientific PDFs into structured JSON.

Quick start

  1. 1

    Check Java 11+ is installed (java -version)

    java -version
  2. 2

    Install the Python package

    pip install -U opendataloader-pdf
  3. 3

    Convert PDFs to Markdown and JSON in Python

    python -c "import opendataloader_pdf; opendataloader_pdf.convert(input_path=['file1.pdf'], output_dir='output/', format='markdown,json')"

Things to know

  • Java 11+ must be installed, since each conversion spawns a JVM process.
  • Word, Excel and PowerPoint files are not supported.
  • Complex tables, OCR and formulas need the hybrid mode with a separate backend server.
  • PDF/UA export is an enterprise add-on, not part of the Apache-2.0 core.

Topics

FAQ

What is opendataloader-pdf?
Open-source PDF parser that turns PDFs into Markdown, JSON with bounding boxes, and HTML for AI pipelines, and auto-tags untagged PDFs into Tagged PDFs. OpenDataLoader PDF extracts structured content from PDF files, including text in reading order, headings, lists, tables, images, and formulas, and outputs Markdown, JSON with bounding boxes for each element, HTML, or annotated PDFs. It is aimed at feeding documents into RAG and LLM pipelines. A deterministic local mode runs on the Java core with no GPU, and an optional hybrid mode routes complex pages such as borderless tables and scanned pages to an AI backend with OCR.
Is opendataloader-pdf free to use? What license does it have?
opendataloader-pdf is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is opendataloader-pdf still maintained?
Actively maintained. The last commit to opendataloader-pdf was on Oct 20, 2026.
What can I use opendataloader-pdf for?
Preparing PDF documents as chunks with source coordinates for a RAG system. Converting research papers or reports to Markdown for LLM context windows. Batch-tagging existing PDF archives to improve screen-reader accessibility. Extracting tables and formulas from scientific PDFs into structured JSON.
How do I install opendataloader-pdf?
Check Java 11+ is installed (java -version): java -version Install the Python package: pip install -U opendataloader-pdf Convert PDFs to Markdown and JSON in Python: python -c "import opendataloader_pdf; opendataloader_pdf.convert(input_path=['file1.pdf'], output_dir='output/', format='markdown,json')"
Where can I get opendataloader-pdf?
The source code and installation instructions are on GitHub: https://github.com/opendataloader-project/opendataloader-pdf

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects