""" File Processor - Datenmodelle und Enums. Typen fuer Dokumentenverarbeitung: Dateitypen, Modi, Ergebnisse. """ from typing import List, Dict, Any, Tuple from dataclasses import dataclass from enum import Enum class FileType(str, Enum): """Unterstützte Dateitypen.""" PDF = "pdf" IMAGE = "image" DOCX = "docx" DOC = "doc" TXT = "txt" UNKNOWN = "unknown" class ProcessingMode(str, Enum): """Verarbeitungsmodi.""" OCR_HANDWRITING = "ocr_handwriting" # Handschrifterkennung OCR_PRINTED = "ocr_printed" # Gedruckter Text TEXT_EXTRACT = "text_extract" # Textextraktion (PDF/DOCX) MIXED = "mixed" # Kombiniert OCR + Textextraktion @dataclass class ProcessedRegion: """Ein erkannter Textbereich.""" text: str confidence: float bbox: Tuple[int, int, int, int] # x1, y1, x2, y2 page: int = 1 @dataclass class ProcessingResult: """Ergebnis der Dokumentenverarbeitung.""" text: str confidence: float regions: List[ProcessedRegion] page_count: int file_type: FileType processing_mode: ProcessingMode metadata: Dict[str, Any]