Files
LabelPrintAgent/README.md
T

1.8 KiB

LabelPrintAgent

Windows-Tray-Anwendung zum Rendern und Drucken von Etiketten aus JSON-Layouts.

Stand

Der erste lauffähige Schritt enthält:

  • .NET-9-Windows-Forms-Projekt mit Tray-Icon
  • Einstellungsdialog mit Tabs für Allgemein, Datenbank, Drucker, Layout und Fehlerjobs
  • lokale Konfiguration unter C:\ProgramData\LabelPrintAgent\settings.json
  • verschlüsselte Passwortspeicherung per Windows DPAPI
  • Druckerauswahl über installierte Windows-Drucker
  • Layout-JSON unter C:\ProgramData\LabelPrintAgent\layouts
  • Beispiel-Layout dymo_57x32_standard
  • Rendering mit 300 dpi als Bitmap
  • Vorschau und Testdruck über PrintDocument
  • Serilog-Dateilogs unter C:\ProgramData\LabelPrintAgent\logs
  • vorbereiteter MySQL-Worker ohne automatischen Retry

Öffnen und Starten

  1. LabelPrintAgent.sln in Visual Studio oder Rider öffnen.
  2. Auf einem Windows-Rechner bauen und starten.
  3. Tray-Symbol anklicken, um die Einstellungen zu öffnen.
  4. Im Tab Drucker den Dymo LabelWriter auswählen.
  5. Im Tab Layout das Beispiel-Layout öffnen, Vorschau klicken und danach Testdruck.

Datenbank

Die Tabelle kann mit folgendem Skript angelegt werden:

sql/create_label_print_queue.sql

Der Worker lädt nur Jobs mit status = 'pending'. Vor dem Druck wird der Job auf printing gesetzt. Bei Erfolg setzt er printed, printed_at und printer_name. Bei Fehlern setzt er error, speichert error_message und erhöht attempts.

Fehlerhafte Jobs werden nicht automatisch wiederholt. Im Tab Fehlerhafte Druckaufträge können sie manuell erneut auf pending gesetzt oder als deleted markiert werden.

Layout-Platzhalter

Text- und QR-Werte unterstützen Platzhalter aus payload_json:

{titel}
{nummer}
{datum:dd.MM.yyyy}
{menge:0.00}

Formatangaben werden über C#-Formatstrings ausgewertet.