OCR Struktur-Analyse
Der Service Task „OCR Struktur-Analyse" erkennt automatisch die Layoutstruktur eines Dokuments – einschließlich Tabellen, Überschriften, Textbereiche und anderer visueller Elemente. Im Gegensatz zur reinen Text-Extraktion wird hier die räumliche Anordnung des Dokuments analysiert.
So können tabellarische Inhalte wie Positionslisten auf Lieferscheinen, Rechnungspositionen oder strukturierte Formulare automatisch erfasst und weiterverarbeitet werden.
Input-Parameter
Die folgenden Felder werden als Eingabe für den Task benötigt:
{
"pdf": {
"referenceId": "...",
"filename": "rechnung.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 die erkannte Struktur als Markdown-Text zurückgegeben — besonders geeignet für die Weiterverarbeitung durch KI-Services.
Output
JSON-Format (Standard)
Bei outputFormat: "json" wird die erkannte Struktur seitenweise zurückgegeben:
{
"metadata": {
"source_file": "rechnung.pdf",
"total_pages": 1,
"total_text_blocks": 0,
"total_tables": 1
},
"pages": [
{
"page_number": 0,
"text": "Pos | Menge | Artikel | Preis",
"tables": [
{
"index": 0,
"html": "<table><tr><td>Pos</td><td>Menge</td><td>Artikel</td><td>Preis</td></tr><tr><td>1</td><td>50</td><td>Schraube M8</td><td>0,12 €</td></tr></table>"
}
]
}
],
"full_text": "Pos | Menge | Artikel | Preis"
}
Markdown-Format
Bei outputFormat: "markdown" wird das Ergebnis als Markdown zurückgegeben:
{
"markdown": "## Rechnung\n\n| Pos | Menge | Artikel | Preis |\n|-----|-------|---------|-------|\n| 1 | 50 | Schraube M8 | 0,12 € |",
"ocr_text": "Rechnung\nPos Menge Artikel Preis\n1 50 Schraube M8 0,12 €"
}
Erläuterung:
tables: Erkannte Tabellen als HTML-Darstellung — können direkt in nachfolgenden Schritten geparst werden.markdown: Strukturierter Markdown-Text, der Tabellen, Überschriften und Absätze beibehält.ocr_text: Zusätzlich extrahierter Fließtext (im Markdown-Format enthalten), der auch Textbereiche außerhalb von Tabellen erfasst.
JSONata-Beispiele
// Datei aus einem vorherigen Schritt referenzieren
{
"pdf": {
"referenceId": uploadResult.referenceId,
"filename": uploadResult.filename
},
"outputFormat": "markdown"
}
// Anzahl erkannter Tabellen als Gateway-Bedingung
$count(ocrResult.pages[0].tables) > 0
Hinweise
- Die Verarbeitungszeit beträgt je nach Dokumentgröße ca. 20–120 Sekunden und ist damit etwas länger als die reine Text-Extraktion.
- Das Markdown-Format eignet sich besonders gut als Eingabe für KI-Services wie „KI: Strukturierte Daten extrahieren" oder „KI: JSON-Inhalt abfragen".
- Tabellen werden als HTML zurückgegeben, was die programmatische Weiterverarbeitung erleichtert.
Tipp
Für Dokumente, bei denen sowohl der Fließtext als auch die Tabellenstruktur benötigt wird, bietet sich der Service Task „OCR Vollanalyse" an — dieser kombiniert Text-Extraktion und Strukturanalyse in einem Durchlauf.