2. September 2010 23:38
Hallo,
also wenn ich einen Zebra mit ZPL ansteuern soll, benötige ich normalerweise einen Zebra-Drucker, der als "Generic Text"- Drucker mit möglichst breitem Papier eingerichtet ist. Außerdem benötigt man einen Report, der aus etwa 40 bis 50 Zeilen Code (im wesentlichen ein CASE- Statement) besteht. Da ihr solche Etiketten wahrscheinlich nicht jeden Tag neu designt, reicht ein fest programmierter Report meistens volkommen aus. Einzige Ausnahme könnte eine komplizierte Grafik sein, die an den Drucker gesendet werden soll.
Wenn dein Webservice dir ZPL zurück gibt, schau dir die Daten an und lade dir vorher die ZPL-Referenz- PDFs von Zebra herunter, dann wirst du erkennen, wie einfach ZPL gestrickt ist.
Wenn du z.B. ein Artikeletikett mit Nr., Beschreibung und Beschreibung 2 ausgeben willst, benötigst du einen Report der Item als Basis und eine Integer-Subsection. Der Report gibt nur eine lange Textvariable TextVar aus, die mit der integer-Section verbunden ist. Die Integer-Section sollte auf Anzahl der Zeilen im Case-Statement gefiltert werden. Der Code des Integer- OnAfterGetRecord sieht in etwa folgendermaßen aus (ich hab gerade kein ZPL-Handbuch zur Hand):
- Code:
Case Integer of
1: TextVar := Initsequenz (Etiketteformat, Starposition des Etiketts,...);
2: Textvar := Drucksequenz (Font,Position,Größe,..)+Item."No.";
3: Textvar := Drucksequenz (Font,Position,Größe,..)+Item.Description;
4: Textvar := Drucksequenz (Font,Position,Größe,..)+Item."Description 2";
5: Textvar := Anzahl der Etiketten setzen+ Kommando zum Etikettendruck;
end;
Da bastelt man vielleicht ein paar Stunden an dem ersten Rahmen rum. Wenn du das aber erst mal verstanden hast, kannst du Etiketten per so einem Report schneller erstellen, als mit irgend einem Designer.
Gruß, Fiddi