24Label Understanding & DSGVO-Schwärzung
ZplExtract macht aus ZPL strukturierte Daten: jeder Text mit Rolle, jeder Barcode mit den Daten, die ein Scanner liest (GS1-Elemente mit Bezeichnung und Prüfung, Digital Link, MaxiCode- und ISO/IEC-15434-Nachrichten), dazu erkannte Entitäten – Empfänger-, Absender- und Rücksendeadressen, Namen, Telefon, E-Mail, Sendungsnummern mit Prüfziffer (UPS 1Z, UPU S10, DHL, PostNL, USPS …), SSCC, GTIN, Charge, Datum, Gewicht – mit Konfidenz, Fundstelle und Begründung. ZplRedact schreibt dasselbe ZPL mit geschwärzten personenbezogenen Daten: Layout bleibt, Barcodes bleiben lesbar (gültige Platzhalterdaten), auch versteckte Stellen wie ^FX-Kommentare, ^DF/^XF-Daten, ^FN-Vorgaben, ^SN, ^RF und 2D-Carrier-Nachrichten werden erfasst – etwa bevor Etiketten an Support, Dienstleister oder in Tickets gehen.
// using ZplCore.Extraction;
var result = ZplExtract.Run(zpl); // ExtractOptions: Dpi, FieldValues, MinimumConfidence
var label = result.Labels[0];
Console.WriteLine(label.Recipient?.Value); // Jürgen Größmann / Bäckerei Süßwaren GmbH · Tor 3 / …
foreach (var e in label.Entities) // TrackingNumber, Sscc (Prüfziffer ok), Date, Weight …
Console.WriteLine($"{e.Type} {e.Value} {e.Confidence:0.00} {e.CheckDigitValid}");
File.WriteAllText("label.json", result.ToJson());
var r = ZplRedact.Run(zpl, new RedactOptions { Categories = RedactCategories.Default, Mode = RedactMode.Mask });
File.WriteAllText("label-redacted.zpl", r.Zpl); // gleiches Layout, Barcodes bleiben gültig
Console.WriteLine(r.Report.ToText()); // Aktionen + Nachprüfung, nie die entfernten Werte
zplcore extract label.zpl --format json -o label.json [--min-confidence 0.3]
zplcore redact label.zpl -o label-redacted.zpl --report [--categories default|personal|all|names,addresses,…]
[--mode mask|replace|remove] [--terms "Projekt X,4711"] # Exit-Code 1, wenn Werte übrig bleiben
Original

Nach ZplRedact.Run (Standard: Maskieren)


