Praktische Docling-Beispiele

Kurze, aufgabenorientierte Rezepte mit CLI-Befehl, Python-Äquivalent, erwarteter Ausgabe und dem häufigen Fehler. Jedes Rezept verlinkt die offizielle Quelle.

PDF zu Markdown

PDF & Konvertierung

Sauberes, lesbares Markdown aus jeder digitalen PDF.

Wann verwenden: Wenn Sie sauberes, lesbares Markdown aus einer digitalen oder gemischten PDF benötigen.

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())

Verwendete Flags

  • --to md Wählt die Markdown-Ausgabe.

Erwartete Ausgabe

# Annual Report

## Revenue

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

Varianten

Für Tempo OCR überspringen

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

Häufiger Fehler: Eine gescannte PDF verarbeiten und leeren Text erhalten. Hat die PDF keine Textebene, OCR verwenden (--ocr-mode full_page).

Offizielle Dokumentation · PDF zu JSON

PDF zu JSON

PDF & Konvertierung

Die vollständige DoclingDocument-Struktur für eigene Pipelines.

Wann verwenden: Wenn Sie die verlustfreie DoclingDocument-Struktur inklusive Bounding Boxes und Layout-Metadaten benötigen.

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))

Verwendete Flags

  • --to json Exportiert die verlustfreie JSON-Darstellung.

Erwartete Ausgabe

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

Varianten

Für Tempo OCR überspringen

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

Häufiger Fehler: Erwarten, dass CLI-JSON und export_to_dict() byte-identisch sind; es sind gleichwertige Darstellungen desselben Dokuments.

Offizielle Dokumentation · PDF zu Markdown

URL zu Markdown

PDF & Konvertierung

Ein Dokument direkt von einer HTTP-URL konvertieren.

Wann verwenden: Wenn das Dokument online liegt und Sie es nicht zuerst herunterladen möchten.

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())

Erwartete Ausgabe

## Docling Technical Report

...

Varianten

Stattdessen JSON exportieren

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

Häufiger Fehler: Annehmen, dass jede URL funktioniert. Die Quelle muss ein unterstütztes Dokumentformat sein, das über HTTP erreichbar ist.

Offizielle Dokumentation · Unterstützte Formate

Gescanntes PDF mit OCR

OCR & Scans

Text aus reinen Bildseiten zurückgewinnen.

Wann verwenden: Wenn Seiten Bilder sind und keinen auswählbaren Text enthalten.

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())

Verwendete Flags

  • --ocr-mode full_page Führt OCR auf jeder Seite aus, auch bei vorhandenem Text.

Erwartete Ausgabe

Text reconstructed from the scanned page image.

Varianten

Andere Engine wählen

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

Häufiger Fehler: OCR bei digitalen PDFs eingeschaltet lassen kostet Zeit. Nur aktivieren, wenn die Textebene fehlt.

Offizielle Dokumentation · OCR-Engines vergleichen

OCR für digitale PDFs deaktivieren

OCR & Scans

Deutlich schnellere Konvertierung für digitale PDFs.

Wann verwenden: Wenn die PDF bereits eine Textebene hat und Sie die schnellste Konvertierung möchten.

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())

Verwendete Flags

  • --no-ocr Überspringt die OCR-Stufe vollständig.

Erwartete Ausgabe

Markdown produced without running OCR.

Varianten

Auch schnelle Tabellen

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

Häufiger Fehler: OCR bei einer gescannten PDF zu deaktivieren führt zu wenig oder keinem Text.

Offizielle Dokumentation · Alle Befehle

Tabellen extrahieren

Tabellen

Tabellen in Markdown- oder HTML-Matrizen umwandeln.

Wann verwenden: Wenn das Dokument Tabellen enthält, die Sie als Markdown- oder HTML-Matrizen möchten.

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())

Verwendete Flags

  • --table-mode accurate Verwendet TableFormer für komplexe, verbundene Zellen.

Erwartete Ausgabe

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

Varianten

Schnellere, ungefähre Tabellen

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

Häufiger Fehler: Annehmen, dass jede Tabelle perfekt ist. Verbundene Zellen und rahmenlose Tabellen brauchen ggf. Prüfung; --table-mode accurate versuchen.

Offizielle Dokumentation · Eigenen Befehl bauen

Formeln und Code extrahieren

Formeln & Code

Gleichungen und Codeblöcke als LaTeX erfassen.

Wann verwenden: Für wissenschaftliche oder technische Dokumente mit Gleichungen oder Codeblöcken.

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())

Verwendete Flags

  • --enrich-code Erkennt Codeblöcke.
  • --enrich-formula Extrahiert LaTeX-Formeln.

Erwartete Ausgabe

$$ E = mc^2 $$

Varianten

Diagrammextraktion hinzufügen

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

Häufiger Fehler: Anreicherung bei Dokumenten ohne Formeln oder Code zu aktivieren kostet Verarbeitungszeit ohne Nutzen.

Offizielle Dokumentation · Eigenen Befehl bauen

RAG-Chunking mit HybridChunker

RAG

Strukturbewusste Chunks für eine Vektordatenbank.

Wann verwenden: Wenn Sie Chunks möchten, die Überschriften, Tabellen und Seiten-Metadaten für einen Vektor-Store erhalten.

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)

Verwendete Flags

  • --to chunks Gibt gechunkte Ausgabe aus.
  • --chunks-type hybrid Verwendet HybridChunker.

Erwartete Ausgabe

Chunks split on document structure rather than raw character counts.

Varianten

Rohexport prüfen

docling convert report.pdf --to json

Häufiger Fehler: Einen naiven Zeichen-Splitter statt strukturbewusstem Chunking verwenden, wodurch Tabellen und Überschriften brechen.

Offizielle Dokumentation · RAG-Anleitung

LangChain-Integration

Integrationen

Geparste Dokumente in eine LangChain-Pipeline laden.

Wann verwenden: Wenn Sie geparste Dokumente in eine LangChain-Pipeline laden.

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])

Erwartete Ausgabe

LangChain Document objects with parsed page content and metadata.

Varianten

Dann eine Datei konvertieren

docling convert report.pdf --to md

Häufiger Fehler: Vergessen, das Integrationspaket getrennt von docling zu installieren.

Offizielle Dokumentation · LlamaIndex-Rezept

LlamaIndex-Integration

Integrationen

LlamaIndex-Knoten aus geparsten Dateien erstellen.

Wann verwenden: Wenn Sie LlamaIndex-Dokumentknoten aus geparsten Dateien erstellen.

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])

Erwartete Ausgabe

LlamaIndex documents ready for indexing.

Varianten

Dann eine Datei konvertieren

docling convert report.pdf --to md

Häufiger Fehler: Versionen von docling und dem Reader-Paket mischen; halten Sie beide aktuell.

Offizielle Dokumentation · LangChain-Rezept

1
Schritt 1

So verwenden Sie diese Beispiele

Zehn kopierfertige Rezepte für die häufigsten Docling-Aufgaben. Jedes enthält einen CLI-Befehl, das Python-Äquivalent, die verwendeten Flags, die erwartete Ausgabe und den häufigen Fehler.

Arbeiten Sie ein Rezept von oben nach unten durch.

  1. Aufgabe finden Nach Kategorie filtern oder nach Flag oder Stichwort suchen.
  2. Befehl kopieren Nutzen Sie die Kopier-Schaltfläche am CLI-Block oder kopieren Sie das Python-Äquivalent.
  3. Ausführen Befehle schreiben die konvertierte Datei standardmäßig neben die Quelldatei.
  4. Ausgabe prüfen Vergleichen Sie mit der im Rezept gezeigten erwarteten Ausgabe.
  5. Anpassen Fügen Sie Flags aus dem Rezept hinzu oder bauen Sie einen eigenen Befehl im Konfigurator.
2
Schritt 2

Bevor Sie starten

Jedes Beispiel setzt voraus, dass Docling installiert ist und eine Beispieldatei bereitliegt.

  • Python 3.10 oder neuer ist erforderlich.
  • OCR-Beispiele benötigen eine OCR-Engine; RapidOCR ist ein guter CPU-Standard.
  • Die Integrationsbeispiele installieren ein separates Paket.
pip install docling
docling --help
3
Schritt 3

Welches Beispiel soll ich verwenden?

Wählen Sie die Zeile, die Ihrer Aufgabe am nächsten kommt.

Ich möchte…BeispielWichtige Option
Lesbaren Text erhaltenPDF zu Markdown--to md
Strukturierte Daten erhaltenPDF zu JSON--to json
Eine URL konvertierenURL zu MarkdownURL-Argument
Scan oder Foto lesenGescanntes PDF mit OCR--ocr-mode full_page
Digitale PDFs beschleunigenOCR deaktivieren--no-ocr
Tabellen extrahierenTabellen extrahieren--table-mode
Formeln und Code erhaltenFormeln und Code extrahieren--enrich-*
Für RAG chunkenRAG-Chunking--to chunks
LangChain nutzenLangChain-IntegrationIntegrationspaket
LlamaIndex nutzenLlamaIndex-IntegrationIntegrationspaket
4
Schritt 4

Ein Rezept anpassen

Passen Sie ein Rezept mit wenigen Änderungen an.

  • Ändern Sie den Dateinamen oder die URL auf Ihre Quelle.
  • Fügen Sie --no-ocr für digitale PDFs und --ocr-mode full_page für Scans hinzu.
  • Wechseln Sie die Ausgabe mit --to md, --to json, --to html oder --to doctags.
  • Fügen Sie --device cuda und --num-threads für große Stapel hinzu.
  • Bauen Sie den vollständigen Befehl im Konfigurator.
5
Schritt 5

CLI oder Python?

Nutzen Sie die CLI für einzelne Konvertierungen und die Python-API, wenn Sie das Dokument nachbearbeiten, viele Dateien verarbeiten oder eine andere Bibliothek integrieren möchten.

  • CLI: schnell, skriptfähig, kein Code nötig.
  • Python: voller Zugriff auf DoclingDocument, Chunks und Pipeline-Optionen.
6
Schritt 6

Weiter erkunden

Verwandte Werkzeuge und Referenzen.

7
Schritt 7

Häufig gestellte Fragen

Funktionieren diese Beispiele direkt?
Ja, sobald Docling installiert ist. Ersetzen Sie den Beispiel-Dateinamen (report.pdf, scan.pdf, paper.pdf) durch Ihre eigene Datei.
Wohin wird die konvertierte Datei geschrieben?
Standardmäßig neben die Quelldatei, mit einer zum Ausgabeformat passenden Endung.
Kann ich mehrere Dateien gleichzeitig verarbeiten?
Ja. Übergeben Sie mehrere Pfade an die CLI oder iterieren Sie in Python über die Dateien.
Wie wähle ich zwischen CLI und Python?
Nutzen Sie die CLI für schnelle Konvertierungen und Python, wenn Sie das Ergebnis programmatisch weiterverarbeiten möchten.
Warum ist mein gescanntes PDF leer?
Es hat keine Textebene. Verwenden Sie das OCR-Rezept mit --ocr-mode full_page.
Wie erhalte ich Chunks für eine Vektordatenbank?
Nutzen Sie das RAG-Chunking-Rezept und übergeben Sie die Chunks an Ihre Vektordatenbank. Siehe RAG-Anleitung.