Skip to content
    HAQQ
    • Tarifs
    Commencer gratuitement
    Commencer gratuitementRéserver une démo
    Se connecter
    1. Accueil
    2. Blog
    3. Docling Python : guide pratique pour traiter vos fichiers en 2026
    Retour au BlogGuides & Tutoriels

    Docling Python : guide pratique pour traiter vos fichiers en 2026

    Convertissez PDF, Word et documents scannés en Markdown propre avec Docling, la bibliothèque Python open source. Installation, chunking et exemples de code prêts pour le RAG.

    20 mai 2026
    10 min de lecture
    |
    Jad JabbourJad Jabbour
    Docling Python : guide pratique pour traiter vos fichiers en 2026

    Travailler avec des documents dans différents formats est un défi courant lorsqu'on développe des applications d'IA. Qu'il s'agisse de traiter des PDF, des documents Word ou des fichiers HTML, extraire un texte propre et structuré peut s'avérer étonnamment difficile. Docling est une bibliothèque Python qui simplifie considérablement ce processus.

    Ce guide vous présente l'essentiel de l'utilisation de Docling pour traiter des documents, en mettant l'accent sur des exemples pratiques et des bonnes pratiques directement applicables.

    Pourquoi Docling ?

    Docling résout de manière unifiée les problèmes courants de traitement documentaire. Il offre une prise en charge multi-format qui fonctionne aussi bien avec les PDF, les documents Word, les présentations PowerPoint que les fichiers HTML. La bibliothèque intègre des fonctionnalités d'OCR capables d'extraire le texte même à partir de documents scannés ou d'images, ce qui la rend polyvalente pour de nombreux types de documents.

    Ce qui distingue Docling, c'est son découpage intelligent (« chunking ») qui fragmente les documents en portions cohérentes tout en préservant le contexte, plutôt que de couper le texte de manière arbitraire. Le résultat est propre et structuré, que vous ayez besoin d'un format markdown ou de texte brut. Enfin, Docling propose une API simple et intuitive, facile à prendre en main même pour les développeurs découvrant le traitement documentaire.

    Prise en main

    Commencez par installer Docling :

    bash
    pip install docling

    Utilisation de base

    Convertir un document

    La façon la plus simple d'utiliser Docling est de passer par le DocumentConverter :

    python
    from docling.document_converter import DocumentConverter
    
    # Create a converter
    converter = DocumentConverter()
    
    # Convert a document
    result = converter.convert("document.pdf")
    document = result.document
    
    # Export to markdown
    markdown_text = document.export_to_markdown()
    print(markdown_text)

    C'est tout ! Docling détecte automatiquement le format du fichier et le traite en conséquence.

    Travailler avec différentes sources de fichiers

    Docling peut traiter aussi bien des fichiers locaux que des URL distantes :

    python
    from docling.document_converter import DocumentConverter
    import requests
    import tempfile
    
    converter = DocumentConverter()
    
    # Local file
    result = converter.convert("/path/to/document.pdf")
    
    # Remote URL - download first
    url = "https://example.com/document.pdf"
    response = requests.get(url)
    with tempfile.NamedTemporaryFile(suffix='.pdf', delete=False) as tmp:
        tmp.write(response.content)
        tmp_path = tmp.name
    
    result = converter.convert(tmp_path)
    # Don't forget to clean up
    import os
    os.unlink(tmp_path)

    Quels formats sont pris en charge ?

    Docling fonctionne nativement avec de nombreux formats de fichiers courants. Il gère les fichiers PDF, y compris les documents scannés grâce à la technologie OCR. Les formats Microsoft Office comme Word (.docx) et PowerPoint (.pptx) sont entièrement pris en charge, tout comme les formats web tels que HTML. Vous pouvez également traiter des fichiers Markdown, des documents en texte brut et même des fichiers image (.webp, .webp) grâce à ses capacités d'OCR intégrées.

    Le DocumentConverter détecte automatiquement le format du fichier et applique la méthode de traitement appropriée, vous n'avez donc pas besoin de préciser le type de fichier manuellement.

    Découper les documents en chunks

    Pour de nombreuses applications d'IA, il est nécessaire de fragmenter les documents en petites portions (« chunks »). Le HybridChunker de Docling rend cette opération intelligente et simple.

    Découpage de base

    python
    from docling.document_converter import DocumentConverter
    from docling.chunking import HybridChunker
    from transformers import AutoTokenizer
    
    # Convert document
    converter = DocumentConverter()
    result = converter.convert("document.pdf")
    document = result.document
    
    # Set up chunker with your tokenizer
    tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
    chunker = HybridChunker(
        tokenizer=tokenizer,
        max_tokens=512  # Maximum tokens per chunk
    )
    
    # Get chunks
    chunks = list(chunker.chunk(document))
    
    # Process chunks
    for i, chunk in enumerate(chunks):
        print(f"Chunk {i}: {chunk.text[:100]}...")

    Pourquoi utiliser HybridChunker ?

    Le HybridChunker propose un découpage intelligent des documents, bien au-delà d'un simple comptage de caractères ou de mots. Il préserve les structures naturelles du document, comme les paragraphes et les sections, garantissant qu'aucun chunk ne se termine maladroitement en plein milieu d'une phrase. C'est particulièrement important pour préserver le sens sémantique de votre texte.

    • Préserve les structures naturelles du document, comme les paragraphes et les sections
    • Un découpage sensible aux tokens, qui respecte les limites du modèle d'embedding
    • Des tailles de chunk configurables selon vos besoins spécifiques
    • Conserve les métadonnées permettant de retracer l'origine de chaque chunk

    Travailler avec les métadonnées

    Docling extrait des métadonnées utiles des documents :

    python
    from docling.document_converter import DocumentConverter
    
    converter = DocumentConverter()
    result = converter.convert("document.pdf")
    document = result.document
    
    # Access document metadata
    if hasattr(document, 'meta'):
        print(f"Document metadata: {document.meta}")
    
    # Chunk with metadata
    from docling.chunking import HybridChunker
    from transformers import AutoTokenizer
    
    tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
    chunker = HybridChunker(tokenizer=tokenizer, max_tokens=512)
    
    for chunk in chunker.chunk(document):
        print(f"Text: {chunk.text[:50]}...")
        if hasattr(chunk, 'meta'):
            print(f"Metadata: {chunk.meta}")

    Assembler le tout

    Voici un exemple complet qui traite un document et le prépare pour une utilisation dans une application d'IA :

    python
    from docling.document_converter import DocumentConverter
    from docling.chunking import HybridChunker
    from transformers import AutoTokenizer
    
    def process_document(file_path, max_tokens=512):
        """Process a document and return chunks ready for embedding."""
    
        # Step 1: Convert document
        converter = DocumentConverter()
        result = converter.convert(file_path)
        document = result.document
    
        # Step 2: Set up chunker
        tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
        chunker = HybridChunker(
            tokenizer=tokenizer,
            max_tokens=max_tokens
        )
    
        # Step 3: Get chunks
        chunks = []
        for i, chunk in enumerate(chunker.chunk(document)):
            chunks.append({
                'text': chunk.text,
                'index': i,
                'source': file_path
            })
    
        return chunks
    
    # Usage
    chunks = process_document("my_document.pdf")
    print(f"Created {len(chunks)} chunks")
    for chunk in chunks:
        print(f"Chunk {chunk['index']}: {chunk['text'][:50]}...")

    Conseils pratiques

    Traiter plusieurs documents

    python
    import os
    from pathlib import Path
    
    def process_folder(folder_path, max_tokens=512):
        """Process all PDFs in a folder."""
        all_chunks = []
    
        for file_path in Path(folder_path).glob("*.pdf"):
            try:
                chunks = process_document(str(file_path), max_tokens)
                all_chunks.extend(chunks)
                print(f"Processed {file_path.name}: {len(chunks)} chunks")
            except Exception as e:
                print(f"Failed to process {file_path.name}: {e}")
    
        return all_chunks

    Essayer HAQQ AI gratuitement

    Découvrez la rédaction et la recherche juridique par IA

    Exporter vers différents formats

    Docling peut exporter les documents vers différents formats :

    python
    from docling.document_converter import DocumentConverter
    
    converter = DocumentConverter()
    result = converter.convert("document.pdf")
    document = result.document
    
    # Export to markdown
    markdown = document.export_to_markdown()
    with open("output.md", "w", encoding="utf-8") as f:
        f.write(markdown)
    
    # Export to plain text
    text = document.export_to_text()
    with open("output.txt", "w", encoding="utf-8") as f:
        f.write(text)

    Gérer les erreurs correctement

    python
    def safe_process_document(file_path):
        """Process document with error handling."""
        try:
            converter = DocumentConverter()
            result = converter.convert(file_path)
            return result.document
        except FileNotFoundError:
            print(f"File not found: {file_path}")
            return None
        except Exception as e:
            print(f"Error processing {file_path}: {e}")
            return None

    Construire un système de recherche documentaire

    L'un des cas d'usage les plus courants de Docling est la construction de systèmes de recherche documentaire pilotés par l'IA. En combinant le traitement documentaire de Docling avec des modèles d'embedding, vous pouvez créer de puissantes capacités de recherche sémantique.

    python
    from docling.document_converter import DocumentConverter
    from docling.chunking import HybridChunker
    from transformers import AutoTokenizer, AutoModel
    import torch
    
    # Process and embed documents
    def build_document_index(file_paths):
        converter = DocumentConverter()
        tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
        model = AutoModel.from_pretrained("bert-base-uncased")
        chunker = HybridChunker(tokenizer=tokenizer, max_tokens=512)
    
        document_index = []
    
        for file_path in file_paths:
            # Convert and chunk
            result = converter.convert(file_path)
            chunks = list(chunker.chunk(result.document))
    
            # Create embeddings for each chunk
            for chunk in chunks:
                inputs = tokenizer(chunk.text, return_tensors="pt",
                                 truncation=True, max_length=512)
                with torch.no_grad():
                    embedding = model(**inputs).last_hidden_state.mean(dim=1)
    
                document_index.append({
                    'text': chunk.text,
                    'embedding': embedding,
                    'source': file_path
                })
    
        return document_index

    Conseils de performance

    Choisir la bonne taille de chunk

    Adaptez la taille de vos chunks à votre modèle d'embedding :

    python
    # For most sentence transformers (512 token limit)
    chunker = HybridChunker(tokenizer=tokenizer, max_tokens=512)
    
    # For models with larger context windows
    chunker = HybridChunker(tokenizer=tokenizer, max_tokens=2048)

    Traiter les fichiers en parallèle

    python
    from concurrent.futures import ThreadPoolExecutor
    
    def process_multiple_files(file_paths, max_workers=4):
        with ThreadPoolExecutor(max_workers=max_workers) as executor:
            results = list(executor.map(process_document, file_paths))
        return results

    Conclusion

    Docling simplifie considérablement le traitement documentaire en proposant une API simple qui permet de convertir n'importe quel document en quelques lignes de code seulement. Son découpage intelligent fragmente les documents en portions cohérentes qui préservent le contexte et la structure, ce qui en fait un choix idéal pour les applications d'IA.

    Que vous construisiez un système de recherche, un chatbot, un outil d'analyse documentaire ou toute autre application d'IA devant traiter des documents, Docling vous apporte la base nécessaire.

    L'association d'une grande simplicité d'utilisation et de fonctionnalités puissantes en fait un excellent choix, aussi bien pour le prototypage que pour les applications en production. Avec sa prise en charge multi-format des PDF, documents Word, HTML et bien d'autres, ainsi que son OCR intégré pour les documents scannés, Docling absorbe la complexité du traitement documentaire à votre place.

    Ressources

    Vous trouverez le projet Docling sur GitHub, où sont disponibles le code source et une documentation complémentaire. Pour travailler avec les modèles de transformers et les tokenizers, consultez la documentation de Hugging Face Transformers. La documentation de Docling fournit des informations plus détaillées sur les fonctionnalités avancées et les options de configuration.

    • Docling sur GitHub
    • Hugging Face Transformers
    • Documentation Docling

    Pour aller plus loin

    • l'ingénierie du contexte pour une IA juridique fiable
    • la revue documentaire tabulaire pour l'IA juridique
    • le guide de l'ingénierie juridique pour des workflows alimentés par l'IA
    J

    Jad Jabbour

    Tech Lead, AI

    Ressources associées

    Document managementLegal AI ChateFirm practice management

    Articles associés

    Context Engineering pour avocats : le guide 2026 d'une IA juridique fiable

    Context Engineering pour avocats : le guide 2026 d'une IA juridique fiable

    HAQQ Legal AI lance les Espaces de Projet : un seul foyer pour chaque dossier juridique

    HAQQ Legal AI lance les Espaces de Projet : un seul foyer pour chaque dossier juridique

    Traduction juridique IA de l'arabe vers l'anglais : guide pratique

    Traduction juridique IA de l'arabe vers l'anglais : guide pratique

    Questions fréquentes

    What is Docling in Python?

    Docling is an open source Python library from IBM Research that parses PDFs, Word documents, PowerPoint, HTML and images into clean, structured Markdown or JSON. It is widely used as a document preprocessing layer for AI and RAG pipelines.

    How do I install Docling?

    Install Docling with pip: 'pip install docling'. The package ships with default models for layout and OCR, and supports CPU and GPU inference. Python 3.10 or newer is required.

    What file formats does Docling support?

    Docling supports PDF (text and scanned), DOCX, PPTX, HTML, AsciiDoc, Markdown and common image formats (PNG, JPEG, TIFF). It preserves tables, headings, lists and reading order for downstream LLM consumption.

    Docling vs Unstructured vs LlamaParse?

    Docling is fully open source, runs locally and offers strong layout and table parsing. Unstructured is also open source with a broader connector ecosystem. LlamaParse is a hosted commercial service with strong table parsing. For private legal documents, Docling is the strongest default because it keeps data on your infrastructure.

    How does HAQQ use Docling?

    HAQQ uses document parsing technologies in the same family as Docling to ingest client files into private workspaces while preserving structure, tables and citations for legal analysis - without sending document content to public AI services.

    Et ensuite ?

    Essayer HAQQ AI gratuitement

    Découvrez la rédaction et la recherche juridique par IA

    Calculer votre ROI

    Voyez combien HAQQ économise pour votre cabinet

    Parcourir Prompts juridiques

    Prompts prêts à l'emploi pour chaque tâche juridique

    Retour au Blog

    Article précédent

    Avis Legora 2026 : tarifs, alternatives et Legora vs HAQQ

    Article suivant

    ChatGPT pour les avocats en 2026 : ses forces et là où l'IA juridique gagne

    Mettez-le en pratique

    Posez à HAQQ la question que cet article a soulevée pour vous.

    HAQQ across all devices
    HAQQ Legal AI Platform Logo

    Votre Jumeau Juridique IA et Système de Gestion de Cabinet pour la rédaction, la facturation et le succès.

    Download on theApp StoreGet it onGoogle Play

    Documentations

    • Docs s'ouvre dans un nouvel onglet
    • Premiers pas s'ouvre dans un nouvel onglet
    • Presse s'ouvre dans un nouvel onglet
    • Nouveautés produit s'ouvre dans un nouvel onglet
    • Statut s'ouvre dans un nouvel onglet
    • Sécurité
    • FAQ s'ouvre dans un nouvel onglet
    • Communauté s'ouvre dans un nouvel onglet
    • Assistance s'ouvre dans un nouvel onglet

    Academy

    • Cours s'ouvre dans un nouvel onglet
    • Compétences s'ouvre dans un nouvel onglet
    • Clauses s'ouvre dans un nouvel onglet
    • Bibliothèque de prompts s'ouvre dans un nouvel onglet
    • Outils s'ouvre dans un nouvel onglet
    • Pôle recherche s'ouvre dans un nouvel onglet
    • Documents s'ouvre dans un nouvel onglet

    Site web

    • eFirm
    • Chat IA Juridique
    • Application Mobile
    • Moteur Justinien
    • HAQQ eBar
    • HAQQ eWallet
    • Tarifs
    • Comparez-nous
    • Solutions
    • Blog
    • Rencontrer l'équipe
    • Rejoignez-nous s'ouvre dans un nouvel onglet
    Ouvrir l'app
    • Languesar en fr es it de pt
    • Contactinfo@haqq.ai
    • Statutopérationnel·ancré
    • Conditions d'Utilisation
    • Politique de Confidentialité
    • Politique de Cookies
    • Traitement des Données s'ouvre dans un nouvel onglet
    • humans.txt s'ouvre dans un nouvel ongletlawyers.txt s'ouvre dans un nouvel ongletsecurity.txt s'ouvre dans un nouvel onglet
    © 2026 HAQQ Inc. Tous droits réservés.Produit conçu en interne par HAQQ. Site web construit avec des outils web modernes.
    PDF
    DOCX
    HTML
    PPTX

    Markdown

    Clean, structured text

    📄

    PDF

    Including OCR

    📝

    Word

    .docx files

    📊

    PowerPoint

    .pptx slides

    🌐

    HTML

    Web pages

    📃

    Markdown

    .md files

    🖼️

    Images

    OCR support

    ❌ Arbitrary Split

    Context lost between chunks

    ✓ HybridChunker

    Section 1128 tokens
    Section 2256 tokens
    Section 3192 tokens
    Section 4384 tokens

    Preserves semantic meaning

    Extracting...

    Extracted Metadata

    title:Legal Agreement 2024
    author:John Smith
    pages:12
    created:2024-01-15
    Input Folder
    contract.pdf
    memo.docx
    brief.pdf
    report.html

    4

    Files Processed

    ~2.3 seconds

    📝

    Markdown

    📄

    Plain Text

    { }

    JSON

    Export to the format that fits your workflow

    Document
    Docling
    Chunks
    AI Ready

    From raw document to AI-ready embeddings in seconds