docling-parse
Simple package to extract text with coordinates from programmatic PDFs
What it is and what it does
Docling Parse is a Python wrapper around a C++ PDF parser that extracts structured text, geometric coordinates, and images from programmatic PDFs. It splits parsing into two phases: a fixed `DecodeConfig` applied at document open time (controlling sanitization and glyph handling) and a per-page `ContentConfig` that determines what to compute and materialize (character cells, word cells, line cells, shapes, bitmaps). This separation allows cheap initial loading and selective enrichment on demand—if you request richer output later, the page is re-decoded automatically.
The package supports both sequential parsing (one PDF at a time) and parallel multi-threaded parsing with backpressure control. It includes a CLI for single-file processing and integrates with the broader Docling PDF conversion ecosystem. The library is actively maintained, supports Python 3.10–3.14 across major platforms, and provides performance benchmarks against other PDF packages.
Use it for:
- Extract word-level bounding boxes and text from PDFs for document layout analysis or OCR validation.
- Batch-process multiple PDFs in parallel with configurable thread pools and result backpressure.
- Render pages as images with overlaid cell boundaries (character, word, or line level) for debugging or visualization.
- Selectively materialize only the content levels needed per page to optimize memory and CPU in large-scale workflows.
- Integrate PDF parsing into document conversion pipelines that require both text and spatial metadata.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts text, coordinates, and bitmap images from programmatic PDFs with support for character, word, and line-level granularity, offering both sequential and multi-threaded parsing modes.
Yes. Docling Parse is actively maintained, permissively licensed, and offers a well-designed API for structured PDF extraction with multi-threaded support. Install friction is moderate due to compiled components, but pre-built wheels cover all major platforms and Python versions. Suitable for production document processing workflows.
Install
docling-parse on PyPI
pip
pip install docling-parseuv
uv add docling-parsepoetry
poetry add docling-parseInstalling docling-parse
Before you install
Medium install friction due to compiled C++ components with pre-built wheels for Python 3.10–3.14 across macOS, Linux, and Windows. Active maintenance with a release on 2026-08-14 and 326 repository stars.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects.
Quickstart
pip install docling-parse
from docling_parse.pdf_parser import DoclingPdfParser, DecodeConfig, ContentConfig, ContentLevel
parser = DoclingPdfParser(loglevel="fatal")
pdf_doc = parser.load(
path_or_stream="file.pdf",
decode_config=DecodeConfig(do_sanitization=True),
content_config=ContentConfig(
word_cells_content_level=ContentLevel.COMPUTE_AND_MATERIALIZE,
),
)
for page_no, page in pdf_doc.iterate_pages():
for word in page.iterate_cells():
print(word.rect, word.text)
Requires Python >=3.10; compiled wheels depend on system C++ runtime libraries.
Verify before relying
- Whether the package handles encrypted or password-protected PDFs beyond what the CLI suggests.
- Performance characteristics on very large PDFs or batch workloads compared to alternatives.
- Memory footprint when materializing all cell levels for high-page-count documents.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 4 — pillow, pydantic, docling-core, pywin32 |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,605,553/month — #2,275 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: docling_parse-7.13.0-cp310-cp310-macosx_14_0_arm64.whl; docling_parse-7.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; docling_parse-7.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; docling_parse-7.13.0-cp310-cp310-win_amd64.whl; docling_parse-7.13.0-cp310-cp310-win_arm64.whl; docling_parse-7.13.0-cp311-cp311-macosx_14_0_arm64.whl; docling_parse-7.13.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; docling_parse-7.13.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; docling_parse-7.13.0-cp311-cp311-win_amd64.whl; docling_parse-7.13.0-cp311-cp311-win_arm64.whl; docling_parse-7.13.0-cp312-cp312-macosx_14_0_arm64.whl; docling_parse-7.13.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; docling_parse-7.13.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; docling_parse-7.13.0-cp312-cp312-win_amd64.whl; docling_parse-7.13.0-cp312-cp312-win_arm64.whl; docling_parse-7.13.0-cp313-cp313-macosx_14_0_arm64.whl; docling_parse-7.13.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; docling_parse-7.13.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; docling_parse-7.13.0-cp313-cp313-win_amd64.whl; docling_parse-7.13.0-cp313-cp313-win_arm64.whl
Keywords: docling, pdf, parser
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
doclingDocling parses diverse document formats—PDF,…
permissive · top 5,000 on PyPI
textractExtracts text from documents in multiple…
permissive · top 15,000 on PyPI
docling-coreDocling Core defines the foundational…
permissive · top 5,000 on PyPI
unPDFExtracts individual characters and metadata…
permissive · top 15,000 on PyPI
docling-slimDocling Slim is a lightweight, modular SDK for…
permissive · top 5,000 on PyPI
marker-pdfMarker converts PDFs, images, and other…
permissive · top 15,000 on PyPI
pdftotextExtracts text from PDF files, including…
permissive · top 15,000 on PyPI
pdftextExtracts plain text or structured blocks,…
permissive · top 15,000 on PyPI
docling-ibm-modelsProvides AI models for table structure…
permissive · top 5,000 on PyPI
langchain-doclingIntegrates Docling document conversion with…
permissive · top 15,000 on PyPI