вот вам кусок боевого примера, чтобы вы понимали логику:
Код: Выделить всё
{
"IdCommand":"***",
"Command":"PrintLabels",
"NumDevice":"5",
"PackageStatus":"last",
"LabelFormattings":{
"Width":101,"Height":50,"Fields":[ /* шаблон задаёт позиции и размеры блоков, типы блоков; если одинаковый для всех, то указываете Static=true и заполняете Value */
{"Type":"Barcode","FieldName":"f6244882","TypeBarCode":"Qrcode","PrintHRI":false,"CheckSymbol":false,"Top":14,"Left":26,"Width":21,"Height":21,"Orientation":0,"FontSize":2,"Static":false,"Value":" "},
{"Type":"Barcode","FieldName":"f6315212","TypeBarCode":"Datamatrix","PrintHRI":false,"CheckSymbol":false,"Top":42,"Left":39,"Width":7,"Height":7,"Orientation":0,"FontSize":2,"Static":false,"Value":" "},
{"Type":"Text","FieldName":"f6244679","Top":47,"Left":89,"Width":2,"Height":2,"Orientation":0,"FontSize":5,"Static":true,"Value":"+"},
]
},
"Labels":[ /* сами этикетки: по FieldName мы понимаем какой блок, в Value изменяемый текст/штрих/иллюстрация; статические блоки (одинаковые) уже заданы в шаблоне выше, их здесь повторять не нужно */
{
"Quantity":1,"Fields":[
{"FieldName":"f6244882","Value":"t=20200103T105900&s=260.00&fn=8711000100002200&i=24358&fp=373380839&n=1"},
{"FieldName":"f6315212","Value":"2020065585203"},
]
},
{
"Quantity":1,"Fields":[
{"FieldName":"f6244882","Value":"t=20200103T105900&s=260.00&fn=8711000100002200&i=24358&fp=373380839&n=1"},
{"FieldName":"f6315212","Value":"2020064830311"},
]
}
]
,"KeySubLicensing":"***"
}
В примере: размер этикетки 101х50, печатается 2 бланка по одной копии, в каждом 3 блока (блоки по позиции и по размеру должны влазить в вашу этикетку) - один текстовый "статический" с "плюсиком" (в Labels его соотв. нет) и два штрих-кода - QR и Datamatrix.
Отстраивайте позиционирование печати/бумаги/обрезки на принтере с помощью драйверного теста ДО экспериментов с Unitserver, иначе вам потом, скорее всего, придется всё передвигать.
LabelFormattings - шаблон, задаёте структуру для всех,
Labels - динамика по шаблону, здесь указываете все этикетки.
Теперь по вашей задаче:
если вам нужно напечатать по одному шаблону разные штрихи, то в LabelFormattings вы задаете все блоки, а в Labels только меняете Value.