# OpenDataLoader PDF > Open-source PDF parser that converts PDFs to Markdown, JSON (with bounding boxes), and HTML for RAG and LLM pipelines. #1 in benchmarks (0.90 overall accuracy). 100% local, no GPU required. Also accelerates PDF accessibility remediation via auto-tagging to Tagged PDF (foundation for PDF/UA workflows). Apache-2.0 licensed. OpenDataLoader PDF is designed for two use cases: (1) AI data extraction — converting PDFs to structured formats optimized for retrieval-augmented generation, and (2) PDF accessibility automation — generating Tagged PDFs from untagged documents for EAA, ADA Section 508, and PDF/UA compliance. Key facts: - Benchmark #1 overall accuracy: 0.90 (hybrid mode). Reading order: 0.94, Table: 0.93, Heading: 0.83 - Local mode: 0.05s per page on CPU (20+ pages/sec), no GPU required - Bounding boxes for every element — enables source citations in RAG answers - XY-Cut++ algorithm for correct multi-column reading order - Built-in AI safety filters against prompt injection in PDFs - SDKs: Python (`pip install opendataloader-pdf`), Node.js (`npm install @opendataloader/pdf`), Java (Maven Central) - First open-source tool to generate Tagged PDFs end-to-end (auto-tagging available, Apache-2.0, `--format tagged-pdf`) - Based on PDF Association specifications and best practice guides, developed with Hancom and Dual Lab (veraPDF developers) Compared to alternatives: docling (0.86 overall, no bounding boxes), marker (0.83, requires GPU, 100x slower), pymupdf4llm (0.57, poor table/heading accuracy). OpenDataLoader is the only parser combining deterministic local extraction, bounding boxes, and prompt injection protection. ## Quick Start - [Quick Start — Python](https://opendataloader.org/docs/quick-start-python): Install and extract text, tables, headings from PDFs. Requires Java 11+ and Python 3.10+ - [Quick Start — Node.js](https://opendataloader.org/docs/quick-start-nodejs): Convert PDFs to Markdown or JSON with TypeScript/JavaScript. Requires Java 11+ and Node.js 20+ - [Quick Start — Java](https://opendataloader.org/docs/quick-start-java): Integrate as a JVM dependency or CLI ## Core Documentation - [RAG Integration Guide](https://opendataloader.org/docs/rag-integration): Chunking strategies, bounding box citations, and LangChain integration - [Hybrid Mode](https://opendataloader.org/docs/hybrid-mode): Route complex pages to AI backends for OCR, formulas, and chart descriptions - [JSON Schema](https://opendataloader.org/docs/reference/json-schema): Output structure with element types, bounding boxes, and metadata - [CLI Options Reference](https://opendataloader.org/docs/reference/cli-options): Complete reference for all CLI and SDK options - [AI Safety](https://opendataloader.org/docs/ai-safety): Prompt injection filtering and data sanitization ## PDF Accessibility - [Accessibility Compliance Guide](https://opendataloader.org/docs/accessibility-compliance): EAA, ADA, Section 508, and PDF/UA requirements - [Tagged PDF](https://opendataloader.org/docs/tagged-pdf): Using native PDF structure tags for accurate extraction - [Tagged PDF for RAG](https://opendataloader.org/docs/tagged-pdf-rag): Leverage structure tags for higher-quality RAG extraction - [Tagged PDF Collaboration](https://opendataloader.org/docs/tagged-pdf-collaboration): Based on PDF Association specifications, developed with Hancom, Dual Lab, and veraPDF ## Benchmarks - [Benchmark Overview](https://opendataloader.org/docs/benchmark): Methodology and overall results across 200 real-world PDFs - [Reading Order (NID)](https://opendataloader.org/docs/benchmark/nid): Text sequence accuracy measurement - [Table Structure (TEDS)](https://opendataloader.org/docs/benchmark/teds): Table reconstruction accuracy - [Heading Levels (MHS)](https://opendataloader.org/docs/benchmark/mhs): Document structure preservation ## Links - [Website](https://opendataloader.org) - [Full Documentation (LLM-readable)](https://opendataloader.org/llms-full.txt) - [GitHub](https://github.com/opendataloader-project/opendataloader-pdf) - [PyPI](https://pypi.org/project/opendataloader-pdf/) - [npm](https://www.npmjs.com/package/@opendataloader/pdf) - [Maven Central](https://search.maven.org/artifact/org.opendataloader/opendataloader-pdf-core) - [LangChain Integration](https://pypi.org/project/langchain-opendataloader-pdf/) - [Benchmark Repository](https://github.com/opendataloader-project/opendataloader-bench) ## Optional - [Reading Order & XY-Cut++](https://opendataloader.org/docs/reading-order): Multi-column layout handling details - [FAQ](https://opendataloader.org/docs/faq): Common questions about PDF parsing for RAG, LLM, and accessibility - [Accessibility Glossary](https://opendataloader.org/docs/accessibility-glossary): Key terms for PDF accessibility and PDF/UA - [Roadmap](https://opendataloader.org/docs/upcoming-roadmap): Upcoming features and priorities - [Python Convert Options](https://opendataloader.org/docs/reference/python-convert-options): Full Python API reference - [Node.js Convert Options](https://opendataloader.org/docs/reference/node-convert-options): Full Node.js API reference - [Contributing](https://opendataloader.org/docs/contributing): Contribution guidelines - [License](https://opendataloader.org/docs/license): Apache-2.0 (v2.0+), MPL-2.0 (pre-2.0)