Как распечатать матрицу данных GS1 по прямому протоколу, как добавить FNC1?

Мне нужно отправить GS1-Datamatrix (значение кода является динамическим) на термопринтер (intermec) через последовательный порт с использованием прямого протокола. GS1 DataMatrix — это стандартная матрица данных, но она должна начинаться с FNC1 (код функции один).

GS1 DataMatrix формируется путем добавления кодового слова FNC1 в первую позицию Data Matrix версии ECC 200.

Пример этикетки со стандартной матрицей данных:

<xpml><page quantity='0' pitch='110.1 mm'></xpml>'Seagull:2.1:DP
INPUT OFF
VERBOFF
INPUT ON
SYSVAR(48) = 0
ERROR 15,"FONT NOT FOUND"
ERROR 18,"DISK FULL"
ERROR 26,"PARAMETER TOO LARGE"
ERROR 27,"PARAMETER TOO SMALL"
ERROR 37,"CUTTER DEVICE NOT FOUND"
ERROR 1003,"FIELD OUT OF LABEL"
SYSVAR(35)=0
OPEN "tmp:setup.sys" FOR OUTPUT AS #1
PRINT#1,"Printing,Media,Print Area,Media Margin (X),0"
PRINT#1,"Printing,Media,Print Method,No Ribbon (DT)"
PRINT#1,"Printing,Media,Media Type,Continuous Var Len"
PRINT#1,"Printing,Media,Start Adjust,0"
PRINT#1,"Printing,Media,Stop Adjust,240"
PRINT#1,"Printing,Media,Print Area,Media Width,779"
PRINT#1,"Printing,Media,Print Area,Media Length,881"
PRINT#1,"Printing,Print Quality,Darkness,75"
PRINT#1,"Printing,Print Quality,Print Speed,100"
PRINT#1,"Printing,Media,Media Calibration Mode,Fast"
PRINT#1,"Printing,Media,Length (Slow Mode),0"
PRINT#1,"Printing,Media,Clip Default,On"
CLOSE #1
SETUP "tmp:setup.sys"
KILL "tmp:setup.sys"
LTS& OFF
<xpml></page></xpml><xpml><page quantity='1' pitch='110.1 mm'></xpml>CLL
OPTIMIZE "BATCH" ON
PP318,533:AN7
BARSET "DATAMATRIX",1,1,8,144,0,5
PB "010000012300001710ABC123"
PP150,389:NASC 8
FT "Andale Mono",12,0,99
PT "010000012300001710ABC123"
LAYOUT RUN ""
PF
PRINT KEY OFF
<xpml></page></xpml><xpml><end/></xpml>

Как я могу добавить PB "010000012300001710ABC123" к коду FNC1?

Я пытался:

  1. Добавление CHR$(128); при использовании кода EAN-128 при печати GS1-128, см. Справочное руководство программиста Intermec Direct Protocol v8.60.

  2. Использование Bartender-ultralite для создания GS1-Datamatrix с последующей печатью на файл с помощью драйвера прямого протокола. Однако это создает изображение в файле, поэтому я не могу динамически изменять код.


person Petter Friberg    schedule 23.03.2018    source источник


Ответы (1)


Я не знаю Intermec, но для большинства принтеров, которые я видел, люди, использующие их для чего-то эквивалентного, делали это: - Создайте маску с помощью программного обеспечения NiceLabel (не уверен, что это обязательно, возможно, ваш делает то же самое) - Эта маска содержит переменную, используемую для серийного кода, который вы можете изменить перед каждой печатью. У вас должна быть команда в протоколе для установки этой переменной при необходимости.

Затем в переменной вам просто нужно отформатировать, как ожидается на вашей стороне, с правильным разделителем FNC1 (я не знаю, какой он для Intermec, я слышал, что это может зависеть от принтера...)

person Mikitori    schedule 10.09.2018