bash
# Basic (CPU, ~20 pages/sec)
pip install -U opendataloader-pdf
# Hybrid mode (AI-enhanced, for complex docs, ~2 pages/sec)
pip install -U "opendataloader-pdf[hybrid]"
# LangChain integration
pip install langchain-opendataloader-pdf
Requirements: Java 11+ (for hybrid mode), Python 3.10+
python
from opendataloader_pdf import convert
convert(
input_path=["file1.pdf", "folder/"],
output_dir="output/",
format="markdown" # clean text, LLM-ready
)
python
convert(
input_path=["report.pdf"],
output_dir="output/",
format="json", # structured data + coordinates
image_output="embedded" # "off" | "embedded" | "external"
)
python
from langchain_opendataloader_pdf import OpenDataLoaderPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
loader = OpenDataLoaderPDFLoader(file_path="document.pdf", format="text")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = splitter.split_documents(docs)
# → embed → vector store → RAG
bash
# Basic: single file or folder
opendataloader-pdf file1.pdf file2.pdf folder/
# Complex tables / nested structure (hybrid mode)
opendataloader-pdf --hybrid docling-fast file1.pdf
# Start hybrid backend first, then:
opendataloader-pdf-hybrid --port 5002
# (in another terminal)
opendataloader-pdf --hybrid docling-fast file1.pdf
# OCR for scanned PDFs
opendataloader-pdf-hybrid --port 5002 --force-ocr file1.pdf
# Math formula extraction (LaTeX)
opendataloader-pdf-hybrid --enrich-formula
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf
# Chart/image AI description
opendataloader-pdf-hybrid --enrich-picture-description
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf
# Security: sanitize prompt injection
opendataloader-pdf file1.pdf --sanitize
Document TypeRecommended FormatModeStandard digital PDFmarkdownBasicComplex/nested tablesjsonHybridScanned PDFsany + --force-ocrHybridMath formulasmarkdown + --enrich-formulaHybridCharts needing descriptionmarkdown + --enrich-picture-descriptionHybridMedical reports (cite-able)jsonHybridRAG knowledge basemarkdownBasic or Hybrid
MetricScoreOverall Accuracy0.90Reading Order0.94Table Accuracy0.93Heading Accuracy0.83
License: Apache 2.0 | GitHub: opendataloader-project/opendataloader-pdf