Exemples pratiques Docling

Des recettes courtes orientées tâches avec commande CLI, équivalent Python, sortie attendue et erreur fréquente. Chaque recette renvoie à la source officielle.

PDF vers Markdown

PDF et conversion

Du Markdown propre et lisible depuis n'importe quel PDF numérique.

Quand l'utiliser : Quand vous avez besoin d'un Markdown propre et lisible à partir d'un PDF numérique ou mixte.

CLI

docling convert report.pdf --to md

Python

from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("report.pdf")
print(result.document.export_to_markdown())

Options utilisées

  • --to md SĂ©lectionne la sortie Markdown.

Sortie attendue

# Annual Report

## Revenue

| Year | Revenue |
|---|---:|
| 2025 | $12M |
| 2026 | $15M |

Variantes

Ignorer l'OCR pour la vitesse

docling convert report.pdf --to md --no-ocr

Erreur fréquente : Traiter un PDF scanné et obtenir un texte vide. Si le PDF n'a pas de couche de texte, utilisez l'OCR (--ocr-mode full_page).

Documentation officielle · PDF vers JSON

PDF vers JSON

PDF et conversion

La structure DoclingDocument complète pour vos pipelines.

Quand l'utiliser : Quand vous avez besoin de la structure sans perte DoclingDocument, y compris les bounding boxes et les métadonnées de mise en page.

CLI

docling convert report.pdf --to json

Python

import json
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("report.pdf")
print(json.dumps(result.document.export_to_dict(), indent=2))

Options utilisées

  • --to json Exporte la reprĂ©sentation JSON sans perte.

Sortie attendue

{
  "schema_name": "DoclingDocument",
  "texts": [ ... ],
  "tables": [ ... ]
}

Variantes

Ignorer l'OCR pour la vitesse

docling convert report.pdf --to json --no-ocr

Erreur fréquente : Attendre que le JSON de la CLI et export_to_dict() soient identiques octet pour octet ; ce sont des représentations équivalentes du même document.

Documentation officielle · PDF vers Markdown

URL vers Markdown

PDF et conversion

Convertir un document directement depuis une URL HTTP.

Quand l'utiliser : Quand le document est en ligne et que vous ne voulez pas le télécharger d'abord.

CLI

docling convert https://arxiv.org/pdf/2408.09869 --to md

Python

from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("https://arxiv.org/pdf/2408.09869")
print(result.document.export_to_markdown())

Sortie attendue

## Docling Technical Report

...

Variantes

Exporter du JSON Ă  la place

docling convert https://arxiv.org/pdf/2408.09869 --to json

Erreur fréquente : Supposer que n'importe quelle URL fonctionne. La source doit être un format de document pris en charge et accessible en HTTP.

Documentation officielle · Formats pris en charge

PDF scanné avec OCR

OCR et scans

Récupérer le texte de pages uniquement image.

Quand l'utiliser : Quand les pages sont des images et ne contiennent pas de texte sélectionnable.

CLI

docling convert scan.pdf --ocr-mode full_page

Python

from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions

pipeline_options = PdfPipelineOptions()
pipeline_options.do_ocr = True

converter = DocumentConverter(
    format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
)
result = converter.convert("scan.pdf")
print(result.document.export_to_markdown())

Options utilisées

  • --ocr-mode full_page Applique l'OCR Ă  toutes les pages, mĂŞme avec du texte.

Sortie attendue

Text reconstructed from the scanned page image.

Variantes

Choisir un autre moteur

docling convert scan.pdf --ocr-mode full_page --ocr-engine rapidocr

Erreur fréquente : Laisser l'OCR activé sur des PDF numériques fait perdre du temps. Activez-le seulement si la couche de texte manque.

Documentation officielle · Comparer les moteurs OCR

Désactiver l'OCR pour les PDF numériques

OCR et scans

Conversion bien plus rapide pour les PDF numériques.

Quand l'utiliser : Quand le PDF possède déjà une couche de texte et que vous voulez la conversion la plus rapide.

CLI

docling convert report.pdf --no-ocr --to md

Python

from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions

pipeline_options = PdfPipelineOptions()
pipeline_options.do_ocr = False

converter = DocumentConverter(
    format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
)
result = converter.convert("report.pdf")
print(result.document.export_to_markdown())

Options utilisées

  • --no-ocr Ignore complètement l'Ă©tape OCR.

Sortie attendue

Markdown produced without running OCR.

Variantes

Tableaux rapides aussi

docling convert report.pdf --no-ocr --table-mode fast

Erreur fréquente : Désactiver l'OCR sur un PDF scanné donne peu ou pas de texte.

Documentation officielle · Toutes les commandes

Extraire les tableaux

Tableaux

Transformer les tableaux en matrices Markdown ou HTML.

Quand l'utiliser : Quand le document contient des tableaux que vous voulez en matrices Markdown ou HTML.

CLI

docling convert report.pdf --to md

Python

from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions

pipeline_options = PdfPipelineOptions()
pipeline_options.do_table_structure = True

converter = DocumentConverter(
    format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
)
result = converter.convert("report.pdf")
print(result.document.export_to_markdown())

Options utilisées

  • --table-mode accurate Utilise TableFormer pour les tableaux complexes Ă  cellules fusionnĂ©es.

Sortie attendue

| Region | Q1 | Q2 |
|---|---:|---:|
| EMEA | 4.2 | 4.8 |

Variantes

Tableaux rapides et approximatifs

docling convert report.pdf --to md --table-mode fast

Erreur fréquente : Supposer que chaque tableau est parfait. Les cellules fusionnées et les tableaux sans bordures peuvent nécessiter une relecture ; essayez --table-mode accurate.

Documentation officielle · CrĂ©er une commande

Extraire formules et code

Formules et code

Capturer les équations et le code en LaTeX.

Quand l'utiliser : Pour les documents scientifiques ou techniques contenant des équations ou des blocs de code.

CLI

docling convert paper.pdf --enrich-code --enrich-formula

Python

from docling.document_converter import DocumentConverter, PdfFormatOption
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions

pipeline_options = PdfPipelineOptions()
pipeline_options.do_code_enrichment = True
pipeline_options.do_formula_enrichment = True

converter = DocumentConverter(
    format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
)
result = converter.convert("paper.pdf")
print(result.document.export_to_markdown())

Options utilisées

  • --enrich-code DĂ©tecte les blocs de code.
  • --enrich-formula Extrait les formules LaTeX.

Sortie attendue

$$ E = mc^2 $$

Variantes

Ajouter l'extraction des graphiques

docling convert paper.pdf --enrich-code --enrich-formula --enrich-chart-extraction

Erreur fréquente : Activer l'enrichissement sur des documents sans formules ni code ajoute du temps de traitement sans bénéfice.

Documentation officielle · CrĂ©er une commande

Chunking RAG avec HybridChunker

RAG

Des chunks structurés prêts pour une base vectorielle.

Quand l'utiliser : Quand vous voulez des chunks qui préservent titres, tableaux et métadonnées de page pour une base vectorielle.

CLI

docling convert report.pdf --to chunks --chunks-type hybrid

Python

from docling.document_converter import DocumentConverter
from docling.chunking import HybridChunker

converter = DocumentConverter()
result = converter.convert("report.pdf")

chunker = HybridChunker()
for chunk in chunker.chunk(result.document):
    print(chunk.text)

Options utilisées

  • --to chunks Produit une sortie dĂ©coupĂ©e.
  • --chunks-type hybrid Utilise HybridChunker.

Sortie attendue

Chunks split on document structure rather than raw character counts.

Variantes

Inspecter l'export brut

docling convert report.pdf --to json

Erreur fréquente : Utiliser un découpage naïf par caractères au lieu d'un chunking conscient de la structure, qui casse tableaux et titres.

Documentation officielle · Guide RAG

Intégration LangChain

Intégrations

Charger des documents analysés dans un pipeline LangChain.

Quand l'utiliser : Quand vous chargez des documents analysés dans un pipeline LangChain.

CLI

pip install langchain-docling

Python

from langchain_docling import DoclingLoader

loader = DoclingLoader(file_path="report.pdf")
docs = loader.load()
print(docs[0].page_content[:200])

Sortie attendue

LangChain Document objects with parsed page content and metadata.

Variantes

Puis convertir un fichier

docling convert report.pdf --to md

Erreur fréquente : Oublier d'installer le paquet d'intégration séparément de docling.

Documentation officielle · Recette LlamaIndex

Intégration LlamaIndex

Intégrations

Créer des nœuds LlamaIndex à partir de fichiers analysés.

Quand l'utiliser : Quand vous construisez des nœuds de document LlamaIndex à partir de fichiers analysés.

CLI

pip install llama-index-readers-docling

Python

from llama_index.readers.docling import DoclingReader

reader = DoclingReader()
documents = reader.load_data(file_path="report.pdf")
print(documents[0].text[:200])

Sortie attendue

LlamaIndex documents ready for indexing.

Variantes

Puis convertir un fichier

docling convert report.pdf --to md

Erreur fréquente : Mélanger les versions de docling et du paquet reader ; gardez les deux à jour.

Documentation officielle · Recette LangChain

1
?tape 1

Comment utiliser ces exemples

Dix recettes prêtes à copier pour les tâches Docling les plus courantes. Chacune contient une commande CLI, l'équivalent Python, les flags utilisés, la sortie attendue et l'erreur à éviter.

Parcourez chaque recette de haut en bas.

  1. Trouvez votre tâche Filtrez par catégorie ou recherchez un flag ou un mot-clé.
  2. Copiez la commande Utilisez le bouton Copier du bloc CLI ou copiez l'équivalent Python.
  3. Exécutez-la Les commandes écrivent le fichier converti à côté de la source par défaut.
  4. Vérifiez la sortie Comparez-la à la sortie attendue indiquée dans la recette.
  5. Adaptez-la Ajoutez des flags de la recette ou créez une commande sur mesure dans le générateur.
2
?tape 2

Avant de commencer

Chaque exemple suppose que Docling est installé et que vous avez un document d'exemple.

  • Python 3.10 ou une version ultĂ©rieure est requis.
  • Les exemples OCR nĂ©cessitent un moteur OCR ; RapidOCR est un bon choix pour le CPU.
  • Les exemples d'intĂ©gration installent un paquet sĂ©parĂ©.
pip install docling
docling --help
3
?tape 3

Quel exemple utiliser ?

Choisissez la ligne la plus proche de votre tâche.

Je veux…ExempleOption clé
Obtenir du texte lisiblePDF vers Markdown--to md
Obtenir des données structuréesPDF vers JSON--to json
Convertir une URLURL vers Markdownargument URL
Lire un scan ou une photoPDF scanné avec OCR--ocr-mode full_page
Accélérer les PDF numériquesDésactiver l'OCR--no-ocr
Extraire des tableauxExtraire les tableaux--table-mode
Obtenir formules et codeExtraire formules et code--enrich-*
Découper pour le RAGDécoupage RAG--to chunks
Utiliser LangChainIntégration LangChainpaquet d'intégration
Utiliser LlamaIndexIntégration LlamaIndexpaquet d'intégration
4
?tape 4

Comment adapter une recette

Adaptez une recette avec quelques changements.

  • Remplacez le nom de fichier ou l'URL par votre source.
  • Ajoutez --no-ocr pour les PDF numĂ©riques et --ocr-mode full_page pour les scans.
  • Changez la sortie avec --to md, --to json, --to html ou --to doctags.
  • Ajoutez --device cuda et --num-threads pour les gros lots.
  • Construisez la commande complète dans le gĂ©nĂ©rateur de configuration.
5
?tape 5

CLI ou Python ?

Utilisez la CLI pour les conversions ponctuelles et l'API Python pour post-traiter le document, traiter de nombreux fichiers ou intégrer une autre bibliothèque.

  • CLI : rapide, scriptable, sans code.
  • Python : accès complet Ă  DoclingDocument, aux chunks et aux options du pipeline.
6
?tape 6

Pour aller plus loin

Outils et références associés.

7
?tape 7

Questions fréquentes

Ces exemples fonctionnent-ils tels quels ?
Oui, une fois Docling installé. Remplacez le nom de fichier d'exemple (report.pdf, scan.pdf, paper.pdf) par le vôtre.
Où le fichier converti est-il écrit ?
À côté du fichier source par défaut, avec une extension correspondant au format de sortie.
Puis-je traiter plusieurs fichiers Ă  la fois ?
Oui. Passez plusieurs chemins Ă  la CLI ou parcourez les fichiers en Python.
Comment choisir entre CLI et Python ?
Utilisez la CLI pour les conversions rapides et Python pour traiter le résultat par programmation.
Pourquoi mon PDF scanné est-il vide ?
Il n'a pas de couche de texte. Utilisez la recette OCR avec --ocr-mode full_page.
Comment obtenir des chunks pour une base vectorielle ?
Utilisez la recette de découpage RAG, puis transmettez les chunks à votre base vectorielle. Voir le guide RAG.