Docling
Docling is an open-source document processing library that parses diverse formats, including advanced PDF understanding, and integrates with generative AI workflows. It supports structured representations and local execution.
Visit docling-project/doclingOverview
Docling simplifies document processing by parsing diverse formats, including advanced PDF understanding, and providing seamless integrations with the generative AI ecosystem. It offers a unified DoclingDocument representation and export formats such as Markdown, HTML, and lossless JSON.
Key Features
- Parses multiple document formats including PDF, DOCX, PPTX, XLSX, HTML, EPUB, Apple Pages, WAV, MP3, WebVTT, Box Notes, email formats, images, LaTeX, DocLang, and plain text.
- Advanced PDF understanding including page layout, reading order, table structure, code, formulas, and image classification.
- Unified DoclingDocument representation with export formats including Markdown, HTML, WebVTT, DocLang, DocTags, and lossless JSON.
- Local execution for sensitive data and air-gapped environments.
- Plug-and-play integrations with LangChain, LlamaIndex, Crew AI, and Haystack, plus MCP server and API server support.
- Extensive OCR support, Visual Language Models, and Automatic Speech Recognition for audio.
Use Cases
- Convert documents into structured Markdown or JSON for generative AI and RAG pipelines.
- Build RAG applications with integrations such as Haystack, LangChain, and LlamaIndex.
- Extract information from PDFs, office files, emails, EPUB, and images with OCR.
- Run document processing locally for sensitive or air-gapped environments.
Getting Started
- Install Docling with pip install docling.
- Use the Docling CLI to convert a document and generate a Markdown file with structured content.
- Use the Python DocumentConverter to convert a source and export the document to Markdown.
- Detailed installation and usage documentation is available.
Deployment & Requirements
- Python 3.10 or higher is required; Python 3.9 support was dropped in docling version 2.70.0.
- Works on macOS, Linux, and Windows for x86_64 and arm64 architectures.
- Local execution is available for sensitive data and air-gapped environments.
- Can run as a service with the API server (docling-serve).
Before You Adopt
- License: MIT. Review its terms before using, modifying, or distributing the project.
- Python 3.9 support was dropped in docling version 2.70.0, so deployments should use Python 3.10 or higher.
- Metadata extraction is listed as coming soon, indicating it is not currently supported.
- Local execution is available for sensitive data and air-gapped environments.