OCR Vollanalyse
Der Service Task „OCR Vollanalyse" kombiniert Text-Extraktion und Struktur-Analyse in einem einzigen Verarbeitungsschritt. Neben dem vollständigen Fließtext werden gleichzeitig Tabellen, Überschriften und Layoutbereiche erkannt.
Damit eignet sich dieser Service besonders für Dokumente, die sowohl Textabschnitte als auch tabellarische Inhalte enthalten – z. B. Rechnungen mit Positionslisten, Lieferscheine oder Formulare mit Freitextfeldern.
Input-Parameter
Die folgenden Felder werden als Eingabe für den Task benötigt:
{
"pdf": {
"referenceId": "...",
"filename": "lieferschein.pdf"
},
"enableHandwriting": true,
"outputFormat": "json"
}
Erläuterung:
pdf.referenceId: Referenz auf die hochgeladene Datei (PDF oder Bild). Die Datei muss alsfileReferencevorliegen.pdf.filename: Der Dateiname inkl. Endung. Unterstützte Formate: PDF, JPG, PNG, BMP, TIFF.enableHandwriting: Optional (true/false, Standard:true). Aktiviert die Handschrift-Erkennung und automatische Dokumenten-Entzerrung.outputFormat: Optional (jsonodermarkdown, Standard:json). Beimarkdownwird das Ergebnis als strukturierter Markdown-Text zurückgegeben.
Output
JSON-Format (Standard)
Bei outputFormat: "json" wird das Ergebnis seitenweise mit Text und Strukturdaten zurückgegeben:
{
"metadata": {
"source_file": "lieferschein.pdf",
"total_pages": 1,
"total_text_blocks": 49,
"total_tables": 1
},
"pages": [
{
"page_number": 0,
"text": "Lieferschein Nr. 7208166\nDatum: 19.03.2025",
"text_blocks": [
{
"text": "Lieferschein Nr. 7208166",
"confidence": 0.98,
"bbox": { "x_min": 50, "y_min": 30, "x_max": 400, "y_max": 60 }
}
],
"tables": [
{
"index": 0,
"html": "<table><tr><td>Pos</td><td>Menge</td><td>Artikel</td></tr><tr><td>1</td><td>50</td><td>Schraube M8</td></tr></table>"
}
]
}
],
"full_text": "Lieferschein Nr. 7208166\nDatum: 19.03.2025\nKunde: Muster GmbH"
}
Markdown-Format
Bei outputFormat: "markdown" wird das Ergebnis als kombinierter Markdown-Text zurückgegeben:
{
"markdown": "## Lieferschein Nr. 7208166\n\nDatum: 19.03.2025\n\n| Pos | Menge | Artikel |\n|-----|-------|---------|\n| 1 | 50 | Schraube M8 |",
"ocr_text": "Lieferschein Nr. 7208166\nDatum: 19.03.2025\nPos Menge Artikel\n1 50 Schraube M8"
}
Erläuterung:
text_blocks: Einzelne Textblöcke mit Position und Konfidenzwert — für präzise Textlokalisierung.tables: Erkannte Tabellen als HTML-Darstellung.full_text: Der gesamte Text aller Seiten als Fließtext — ideal als Eingabe für KI-Services.markdown: Strukturierter Markdown-Text mit Tabellen und Absätzen (nur beioutputFormat: "markdown").ocr_text: Zusätzlicher Fließtext unabhängig von der Strukturanalyse (nur beioutputFormat: "markdown").
JSONata-Beispiele
// Datei aus einem Upload-Schritt referenzieren
{
"pdf": {
"referenceId": uploadResult.referenceId,
"filename": uploadResult.filename
},
"enableHandwriting": true,
"outputFormat": "json"
}
// Erkannten Text und Tabellen an KI-Service weiterleiten
{
"text": ocrResult.full_text,
"prompt": "Extrahiere die Rechnungsnummer, das Datum und den Gesamtbetrag."
}
// Prüfen ob Tabellen erkannt wurden (Gateway-Bedingung)
ocrResult.metadata.total_tables > 0
Hinweise
- Die Verarbeitungszeit beträgt je nach Dokumentgröße ca. 30–180 Sekunden, da sowohl Text- als auch Strukturerkennung durchgeführt werden.
- Wenn nur der Fließtext benötigt wird (ohne Tabellen), ist der Service Task „OCR Text-Extraktion" schneller und ressourcenschonender.
- Wenn nur die Tabellenstruktur relevant ist, kann der Service Task „OCR Struktur-Analyse" verwendet werden.
- Alle drei OCR-Varianten unterstützen neben PDF auch Bilddateien (JPG, PNG, BMP, TIFF) — fotografierte Dokumente können direkt verarbeitet werden.
Tipp
Das Markdown-Format (outputFormat: "markdown") eignet sich hervorragend als Eingabe für KI-Services. Der strukturierte Text mit Tabellenformatierung ermöglicht es der KI, Positionen, Mengen und Beträge zuverlässiger zu erkennen als bei reinem Fließtext.