The
built-in function, ng:serializationBarcode can help you if you want to
print multiple labels on a ZPL compatible printer, that are all
identical apart from a barcode with contents, which is increased/descreased for each
label.
You can use this to reduce the size of the print data stream and increase print performance.
Prerequisites/limitations:
This function only works for ZPL output. It is also only supported for a
single page output, that is printed in multiple copies. This function
should be the main XPath function used in a barcode element.
If you want to use similar functionality for a text element, then you should
use the ng:serializationData function. This also means that ^FD values setting GS1 codes, codesets and other "inside FD" values must be set in the text. Settings for GS1 codes, codesets and similar settings on the barcode element in the designer are ignored when using ng:serializationBarcode.
The graphics barcode failover for large barcodes is also disabled when using ng:serializationBarcode, meaning that the Zebra printers rule for maximum module width has to be followed.
There might be more limitations (like checksums etc.) and we recommend thorough testing before going into production.
The ng:serializationBarcode can e.g. be called with this command: ng:serializationBarcode(text, mask, incrementString) and here are descriptions of the 3 parameters:
First parameter: Text
The text with the increment(s) to be written in the barcode. (E.g. item-001)
Second parameter: Mask
How the increment is working. (E.g. %%%%%ddd).
The mask is written as:
%: Ignore
d: Decimal number
h: Hex
o: Octal
a: Alphabetic a-z
n: Alphanumeric 0-9, a-z
Third parameter: IncrementString
The increment to use on each label. (e.g. 1)
%: Ignore
0-9: number
a-z: Counts alphabetic as a=0, b=1.. in increments