19GS1 Digital Link & Sunrise-2027-Migration
Für den Umstieg auf 2D-Codes an der Kasse („Sunrise 2027“): Gs1DigitalLink baut, prüft und zerlegt GS1-Digital-Link-URIs nach URI Syntax 1.7.0 (Element-String ⇄ URI, eigene Domain, kanonische URI). ZplGs1Migration ergänzt bestehende ZPL-Etiketten automatisch um einen QR-Code mit Digital-Link-URI oder eine GS1 DataMatrix – im freien Platz neben dem EAN/UPC, mit Ruhezone und Abstand, gemessen am gerenderten Etikett – und prüft das Ergebnis mit dem Sunrise-Paket.
Online ausprobieren auf zplCloud.com: Sunrise-2027-Migration
Mehr dazu auf zplCloud.com: Blog: GS1 Sunrise 2027: 2D-Codes an der Kasse · Blog: GS1 QR Code und Digitaler Produktpass · Guide: GS1-AI-Datenbank · Vorlage: GS1 QR Code mit Digitalem Produktpass
// using ZplCore.Barcodes; using ZplCore.Tools;
string uri = Gs1DigitalLink.Build("(01)09520123456788(17)280426(10)ABC1(21)12345");
// https://id.gs1.org/01/09520123456788/10/ABC1/21/12345?17=280426
var parsed = Gs1DigitalLink.Parse("https://id.gs1.org/01/09520123456788/10/ABC1?17=280426");
Console.WriteLine($"{parsed.IsValid} {parsed.ToElementString()}"); // True (01)09520123456788(17)280426(10)ABC1
var migration = ZplGs1Migration.Migrate(zpl, new Gs1MigrationOptions
{
Carrier = Gs1MigrationCarrier.QrCodeDigitalLink, // oder DataMatrixElementString
DigitalLinkStem = "https://brand.example.com", // eigene Domain, sonst https://id.gs1.org
});
File.WriteAllText("label-2d.zpl", migration.MigratedZpl); // QR-Code neben dem EAN-13, mit Ruhezone
Console.WriteLine(migration.ToText()); // Platzierung + Sunrise-Pre-Check des Ergebnisses
zplcore gs1 link "(01)09520123456788(10)ABC1" [--domain https://brand.example.com] zplcore gs1 parse "https://id.gs1.org/01/09520123456788/10/ABC1" [--format json] zplcore gs1 migrate retail-ean13.zpl --domain https://brand.example.com -o retail-2d.zpl [--carrier qr|datamatrix] [--preview out.png]
Vorher: nur EAN-13

Nachher: EAN-13 + QR mit GS1 Digital Link

Ein Assistent und Pre-Check, keine Zertifizierung: gedruckte Etiketten mit einem Prüfgerät prüfen und mit der GS1-Länderorganisation oder dem Händler abstimmen. ^BQ kann kein FNC1 kodieren – ein GS1-QR-Code mit Element-Strings ist in ZPL daher nicht möglich, der QR-Code trägt die Digital-Link-URI. Alte komprimierte Digital-Link-URIs werden nur gelesen. GS1, GS1 DataMatrix und GS1 Digital Link sind Marken von GS1 AISBL.

