docling-local

Converts PDFs to Markdown via a local docling service, preserving LaTeX equations and extracted figures.

1|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/psiagoleal/ai-coding-agent-profiles --skill docling-local-psiagoleal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: docling-local
Source: https://github.com/psiagoleal/ai-coding-agent-profiles/tree/main/skills/dominio/docling-local
Command: npx skills add https://github.com/psiagoleal/ai-coding-agent-profiles --skill docling-local-psiagoleal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pikepdf, requests, and includes scripts (resource) components.

What problem does it solve? Standard tools like pdftotext corrupt subscripts, superscripts, Greek letters, and square roots when extracting text from technical PDFs, producing equations that look correct but are wrong. This Skill converts PDFs (technical standards, papers, manuals, reports) through a local docling service that preserves equations as LaTeX, extracts figures, and records provenance metadata so extracted content can be cited with confidence. ## Core Features & Use Cases - Faithful PDF-to-Markdown conversion: Uses the local docling service with formula enrichment to deliver equations in LaTeX, plus figure extraction via format=zip so image links never break. - Provenance and verification workflow: Writes a provenance header (source, date, flags, losses) and guides a cheap-to-expensive verification order: recalculate structured data, crop regions at 300 dpi, read full pages only when needed, delegate bulk reading to subagents. - Pitfall handling built in: Decrypts encrypted PDFs with pikepdf before upload, keeps LLM enhancement off to avoid silent factual corruption, and selects a figure-description VLM that fits in 8 GB of VRAM. - Use Case: Convert a 124-page scanned engineering standard into Markdown, extract key pages as PNGs, recalculate a table formula to catch a row-shift defect, and produce a verified transcription file alongside the full extraction. ## Quick Start Convert the PDF standard at ~/refs/NORMA.pdf into Markdown with provenance, extracting pages 12, 31, and 57 as images for verification, using the docling-local skill.

Frequently Asked Questions about docling-local

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a PDF to Markdown without losing equations?

Use a local docling service with formula_enrichment enabled, which outputs equations as LaTeX instead of corrupting subscripts and Greek letters like pdftotext does. The included pdf2md.py script handles the conversion, figure extraction, and provenance header in one command.

docling vs pdftotext for extracting technical PDFs?

pdftotext is fast and fine for plain prose, but it loses radicals, indices, exponents, and Greek letters, making it unsafe for standards or papers with equations. Docling costs minutes of GPU time per document but preserves equations as LaTeX and extracts figures.

Why does docling return broken image links in the Markdown?

The default format=json response discards extracted figures: the service writes them to a temporary directory, references them in the Markdown, then deletes the directory. Request format=zip instead, which bundles the Markdown and images together.

Why does docling return HTTP 500 when converting a PDF?

A common cause is an encrypted PDF, which docling cannot open, though the generic error also masks VRAM out-of-memory and pipeline failures. Decrypt the file with pikepdf before uploading, and check the response detail field or docker compose logs for the real cause.

Can docling run on a GPU with 8 GB of VRAM?

Yes, but the granite picture-description model needs over 6.6 GiB free and will fail with CUDA out of memory on an 8 GB card. Use smolvlm-500m, which reads diagram labels in under 1 GiB, or granite-api served by a local Ollama instance.

When should I not use docling for PDF extraction?

Skip it for single-page simple PDFs or quick text searches, where pdftotext resolves in milliseconds. Also avoid it for third-party NDA documents whose extracted Markdown would live in the repository, and for batch jobs where the /convert/batch endpoint fits better.