zplCore.comzplCore.com

23ZPL → editierbares Label-Modell

Holt bestehendes ZPL – ERP-Ausgaben, Exporte aus Label-Designern, Carrier-Vorlagen – zurück ins Label-Modell: Label.FromZpl liefert typisierte Text-, Barcode-, Form-, Bild- und RFID-Elemente in mm, ^FN-Felder als Datenfelder und ^DF-Formate als Vorlagen. Jedes Element wird einzeln gegen das Original gerendert und nur typisiert, wenn es pixelgleich druckt; sonst bleibt es exaktes Roh-ZPL. Die Rundreise wird gemessen.

var import = Label.FromZpl(zpl);                         // ImportOptions: Dpi, Unit, Fallback, IncludeImages …
foreach (var l in import.Labels)                         // 0: fidelity 1,0000, 38 typed / 0 raw
    Console.WriteLine($"{l.Index}: fidelity {l.Fidelity:0.0000}, {l.TypedItems} typed / {l.RawItems} raw");
foreach (var w in import.Warnings) Console.WriteLine(w); // Info: Resolution detected as 203 dpi …
File.WriteAllText("label.json", import.Label.ToJson());  // editierbares Label-Modell (JSON-Schema v3)
string again = import.Label.ToZpl(import.Dpi);           // druckt wie das Original
zplcore import legacy.zpl -o label.json --report [--dpi n] [--unit mm] [--diff diff.png]

Ergebnis über den gesamten Korpus (Labelary-Referenzen, Doku, Beispiele, Vorlagen): alle 318 Dateien kommen pixelgleich zurück, 98,9 % der Elemente typisiert. Auflösung wird aus ^MU oder der Etikettenbreite erkannt; Warnungen nennen Zeile und Spalte.

Grenzen: Uhr-Einstellungen (^SO/^ST/^SL), ^CW-Aliase und ~DB-Schriften bleiben Roh-ZPL; ^MC N, ^IL, ^IS, ^JM werden als nicht unterstützt gemeldet; ein RawZplItem lässt sich im Editor nicht verschieben (das ZPL hat absolute Positionen). Die Treue wird gegen den zplCore-Renderer gemessen – zur Druckergenauigkeit siehe Genauigkeit.