# LabelPrintAgent Windows-Tray-Anwendung für den späteren Etikettendruck aus JSON-Layouts. ## Etappe 1 Die erste Etappe enthält das lauffähige Grundgerüst: - .NET-9-Windows-Forms-Projekt - Tray-Icon mit Kontextmenü - Einstellungsdialog mit Tabs: - Allgemein - Datenbank - Drucker - Layout - Fehlerhafte Druckaufträge - lokale Konfiguration unter `C:\ProgramData\LabelPrintAgent\settings.json` - automatische Anlage von `C:\ProgramData\LabelPrintAgent` - Layout-Ordner unter `C:\ProgramData\LabelPrintAgent\layouts` - Log-Ordner unter `C:\ProgramData\LabelPrintAgent\logs` - verschlüsselte Passwortspeicherung per Windows DPAPI - Auflistung installierter Windows-Drucker - Beispiel-Layout `dymo_57x32_standard` - Layout-JSON laden und speichern ## Etappe 2 Die zweite Etappe ergänzt das Layoutmodell und die JSON-Validierung: - typisierte Layoutklassen für Text, Linie, Rechteck und QR-Code - JSON-Deserialisierung anhand der Element-Eigenschaft `type` - Validierung des Layoutkopfs und aller Elemente - Sammlung aller Validierungsfehler statt Abbruch beim ersten Fehler - Anzeige der Validierungsfehler im Layout-Tab - Speichern nur bei gültigem Layout - formatierte Speicherung des Layout-JSON ## Etappe 3 Die dritte Etappe ergänzt die Rendering-Engine und die Vorschau im Layout-Tab: - Bitmap-Rendering mit 300 dpi - Text, Linien, Rechtecke und QR-Codes - Platzhalterersetzung wie `{titel}`, `{datum:dd.MM.yyyy}` und `{menge:0.00}` - automatische Beispiel-Daten für Vorschauen - AutoShrink für Textfelder - Warnungen, wenn Platzhalter fehlen oder Text nicht vollständig passt Eine Vorschau erzeugst du im Tab `Layout` mit dem Button `Vorschau`. Zuerst wird das JSON validiert, dann wird das Etikett mit folgenden Beispiel-Daten gerendert: ```json { "titel": "Beleg privat", "beschreibung": "Dokument 2026-000123", "nummer": "2026-000123", "datum": "2026-05-07", "menge": 42.5, "qr": "bjoernprivat 0000123" } ``` Noch nicht enthalten sind MySQL-Worker und echtes Drucken. ## Startanleitung 1. `LabelPrintAgent.sln` in Visual Studio oder Rider öffnen. 2. Auf einem Windows-Rechner bauen und starten. 3. Das Tray-Symbol anklicken oder per Kontextmenü `Einstellungen` öffnen. 4. Im Tab `Drucker` einen installierten Windows-Drucker auswählen und speichern. 5. Im Tab `Layout` das Beispiel-Layout prüfen, bearbeiten und speichern. Beim ersten Start werden die Programmdatenordner und das Beispiel-Layout automatisch angelegt. ## Spätere Etappen Die SQL-Datei für die spätere Druckwarteschlange liegt bereits unter: ```text sql/create_label_print_queue.sql ```