Команды NiceLabel используются в командных файлах для управления печатью этикеток. NiceLabel Automation выполняет команды в командных файлах по порядку сверху вниз. Дополнительную информацию см. в разделе Спецификации командных файлов.
Вы можете использовать определенную пользовательскую команду, если она доступна в продукте NiceLabel Automation как действие.
Пример 96. Пример
Например, вы можете использовать команду SETPRINTPARAM, если можно выбрать действие Задать параметр печати (доступное для уровней продукта Pro и Enterprise).
Спецификация команд NiceLabel
COMMENT
;
При создании командных файлов рекомендуется добавлять комментарии к командам. Это поможет определить, что делает сценарий, если вам потребуется проанализировать код по прошествии некоторого времени. Используйте точку с запятой (;
) в начале строки. Весь текст за точкой с запятой рассматривается как комментарий и не обрабатывается.
CLEARVARIABLEVALUES
CLEARVARIABLEVALUES
Эта команда сбрасывает значения переменных до значений по умолчанию.
CREATEFILE
CREATEFILE <имя_файла> [, <содержимое>]
Эта команда создает текстовый файл. Используйте текстовый файл для сообщения стороннему приложению о начале или завершении процесса печати в зависимости от того, куда вы поместили команду. Используйте синтаксис UNC для сетевых ресурсов. Дополнительные сведения см. в разделе Доступ к сетевым общим ресурсам.
DELETEFILE
DELETEFILE <имя_файла>
Удаляет указанный файл. Используйте синтаксис UNC для сетевых ресурсов. Дополнительные сведения см. в разделе Доступ к сетевым общим ресурсам.
EXPORTLABEL
EXPORTLABEL ExportFileName [, ExportVariant]
Эта команда автоматизирует команду «Экспорт в принтер», доступную в конструкторе этикеток. Этикетка экспортируется напрямую в принтер и сохраняется в памяти принтера для автономной печати. Пользователь вызывает этикетку с помощью клавиатуры принтера или путем отправки командного файла на принтер. Это же можно сделать с помощью действия Сохранить этикетку в память принтера.
Примечание
Чтобы указать этикетку для экспорта, сначала используйте команду LABEL.
-
ExportFileName: Это обязательный параметр, который задает имя файла для сгенерированных команд принтера.
-
ExportVariant: Некоторые принтеры поддерживают несколько вариантов экспорта. При экспорте вручную пользователь может выбрать вариант экспорта в диалоговом окне. При использовании команды EXPORTLABEL необходимо указать, какой вариант экспорта нужно использовать. Варианты отображаются в конструкторе этикеток после включения режима печати с сохранением и восстановлением информации.
Первый вариант в списке имеет значение 0. Второй вариант имеет значение 1 и т. д.
Если не указать ни одного варианта, по умолчанию используется значение 0.
Дополнительные сведения об автономной печати см. в разделе Использование режима печати с сохранением и восстановлением.
IGNOREERROR
IGNOREERROR <on> [,<off>]
Эта команда указывает, что следующие ошибки в файле JOB не должны приводить к завершению процесса печати:
-
Использовано неверное имя переменной.
-
В переменную передано неверное значение.
-
Этикетка не существует или недоступна.
-
Принтер не существует или недоступен.
LABEL
LABEL <имя_этикетки> [,<имя_принтера>]
Эта команда открывает этикетку для печати. Если этикетка уже загружена, повторное открытие не выполняется. Имя может включать путь. Заключите имя этикетки в двойные кавычки, если имя или путь содержит пробелы. Используйте синтаксис UNC для сетевых ресурсов. Дополнительные сведения см. в разделе Доступ к сетевым общим ресурсам.
Необязательное имя_принтера
указывает принтер, для которого открывается этикетка. Используйте этот параметр, если нужно переопределить имя принтера, сохраненное в шаблоне этикетки. Если драйвер для указанного имени принтера не установлен или недоступен, команда выдает ошибку.
MESSAGEBOX
MESSAGEBOX <сообщение> [,<заголовок>]
Эта команда сохраняет пользовательское сообщение
в журнале триггера. Если сообщение содержит пробелы или запятые, заключите текст в двойные кавычки ("
).
PORT
PORT <имя_файла> [, APPEND]
Эта команда переопределяет порт, заданный в драйвере принтера, и перенаправляет печать в файл. Если путь или имя файла содержит пробелы, заключите значение в двойные кавычки ("
). Используйте синтаксис UNC для сетевых ресурсов. Дополнительные сведения см. в разделе Доступ к сетевым общим ресурсам.
Параметр APPEND
является необязательным. По умолчанию файл перезаписывается. Используйте этот параметр, чтобы добавить данные в существующий файл.
После использования команды PORT в файле JOB она действует до следующей команды PORT или до конца файла (в зависимости от того, что наступит раньше). Если использовать команду PRINTER после выполнения команды PORT, настройка PORT перезапишет порт, заданный для выбранного принтера. Чтобы использовать именно тот порт, который был задан для выбранного принтера, необходимо использовать другую команду PORT с пустым значением: PORT = ""
.
PRINT <количество> [,<пропустить> [,<идентичные копии этикетки> [,число наборов этикеток]]]
Эта команда запускает процесс печати.
-
Количество. Задает количество этикеток для печати.
-
<число>. Будет напечатано указанное число этикеток.
-
VARIABLE. Указывает на то, что переменная этикетки определена как переменное количество и содержит количество этикеток для печати. Количество напечатанных этикеток задается этикеткой.
-
UNLIMITED. Если для получения значений объектов используется база данных, то при выборе этого варианта (неограниченная печать) количество напечатанных этикеток будет равно количеству записей в базе данных. Если база данных не используется, будет напечатано максимальное количество этикеток, которые вмещает термопринтер.
-
-
Skip. Задает количество этикеток, которое следует пропустить на первой странице. Параметр используется для печати этикеток на листах бумаги. Если часть листа уже занята, можно повторно использовать этот лист, изменив начальное положение первой этикетки.
-
И дентичные копии этикетки. Задает количество копий одной и той же этикетки, которые нужно напечатать.
-
Число наборов этикеток. Задает количество повторений всего процесса печати.
Примечание
Значения количества должны быть представлены числовыми значениями, а не строковыми значениями. Не заключайте значение в двойные кавычки.
PRINTER
PRINTER <имя_принтера>
Эта команда переопределяет принтер, заданный в файле этикетки. Если имя принтера содержит пробелы, заключите его в двойные кавычки ("
).
Используйте имя принтера, отображаемое в строке состояния конструктора этикеток. Имена принтеров обычно совпадают с именами в разделе «Принтеры и факсы» на панели управления, но иногда это не так. При использовании сетевого принтера его имя может иметь вид \\server\share
.
PRINTJOBNAME
PRINTJOBNAME
Эта команда указывает имя задания печати, отображаемое в диспетчере очереди печати Windows. Если имя содержит пробелы или запятые, заключите значение в двойные кавычки ("
).
SESSIONEND
SESSIONEND
Эта команда закрывает поток печати. Также см. SESSIONSTART.
Примечание
SESSIONEND
должна быть отправлена как единственный элемент в действии «Послать пользовательские команды». Если вы хотите отправить дополнительные команды, используйте отдельные действия «Послать пользовательские команды».
SESSIONPRINT
SESSIONPRINT <количество> [,<пропустить>]
Эта команда печатает текущую указанную этикетку и добавляет ее в текущий открытый поток сеансовой печати. Можно использовать несколько команд SESSIONPRINT одну за другой и объединить указанные этикетки в одном потоке печати. Поток не будет закрыт, пока вы не закроете его с помощью команды SESSIONEND. Значение параметров количества и пропуска такое же, как в NiceCommand PRINT. Также см. команду SESSIONSTART.
-
Количество. Задает количество этикеток для печати.
-
Skip. Задает количество этикеток, которое следует пропустить на первой странице. Параметр используется для печати этикеток на листах бумаги. Если часть листа уже занята, можно повторно использовать этот лист, изменив начальное положение первой этикетки.
SESSIONSTART
SESSIONSTART
Эта команда запускает сеансовый тип печати.
Три команды сеансовой печати ( SESSIONSTART, SESSIONPRINT, SESSIONEND) используются вместе. При использовании команды PRINT данные для каждой этикетки передаются на принтер в виде отдельного задания печати. Чтобы объединить данные для нескольких этикеток в один поток печати, используйте команды сеансовой печати. Для этого введите команду SESSIONSTART, а затем требуемое количество команд SESSIONPRINT. Последовательность завершается командой SESSIONEND.
Используйте эти команды для оптимизации процесса печати этикеток. Печать этикеток из одного задания печати выполняется намного быстрее, чем печать этикеток из нескольких заданий печати.
Следуйте приведенным ниже правилам, чтобы не допускать прерывания сеансовой печати.
-
Нельзя изменять этикетку в рамках сеанса.
-
Нельзя изменять принтер в рамках сеанса.
-
Необходимо задать значения для всех переменных из этикетки в рамках сеанса, даже если некоторые переменные имеют пустые значения.
SET
SET <имя>=<значение> [,<шаг> [,<количество повторений>]]
Эта команда назначает переменной с данным именем
указанное значение
. Переменная должна быть задана в этикетке, иначе выдается ошибка. Если в этикетке нет указанной переменной, возникает ошибка. Параметры шаг
и количество повторений
применяются для счетчиков. Эти параметры задают значение приращения счетчика и количество этикеток, после печати которых должно изменяться значение счетчика.
Если значение содержит пробелы или запятые, заключите текст в двойные кавычки ("
). Также см. TEXTQUALIFIER.
Чтобы присвоить многострочное значение, используйте \r\n
для кодирования символа новой строки. \r
заменяется CR (возврат каретки), а \n
заменяется LF (перевод строки).
При присваивании значений переменным, которые предоставляют данные для изображений на этикетке, необходимо соблюдать осторожность, поскольку символы обратной косой черты могут быть заменены другими символами.
Пример 97. Пример
Если присвоить переменной значение «c:\My Pictures\raw.jpg», фрагмент «\r» будет заменен символом CR.
SETPRINTPARAM
SETPRINTPARAM <имя_параметра> = <значение>
Эта команда позволяет более точно настроить параметры принтера непосредственно перед печатью. Можно настроить следующие параметры ( имя_параметра
):
-
PAPERBIN. Задает лоток, где находится носитель для печати этикеток. Если принтер оснащен несколькими лотками для бумаги/этикеток, можно указать, какой из них будет использоваться для печати. Имя лотка необходимо взять в драйвере принтера.
-
PRINTSPEED. Задает скорость печати. Допустимые значения зависят от принтера. Точные диапазоны значений см. в руководствах принтера.
-
PRINTDARKNESS. Задает плотность печати/контрастность принтера. Допустимые значения зависят от принтера. Точные диапазоны значений см. в руководствах принтера.
-
PRINTOFFSETX. Задает смещение слева для всех печатаемых объектов. Значение параметра должно быть положительным или отрицательным числом и указывается в точках.
-
PRINTOFFSETY. Задает смещение сверху для всех печатаемых объектов. Значение параметра должно быть положительным или отрицательным числом и указывается в точках.
-
PRINTERSETTINGS. Указывает пользовательские настройки принтера, которые нужно применить к заданию печати. Параметру требуется полная структура DEVMODE для целевого принтера, закодированная в виде строки Base64. DEVMODE содержит все параметры из драйвера принтера (скорость, плотность, смещения и т. д.). Дополнительные сведения см. в разделе Описание настроек принтера и структуры DEVMODE.
Примечание
Строка в кодировке Base64 должна быть заключена в двойные кавычки (").
TEXTQUALIFIER
TEXTQUALIFIER <символ>
Ограничитель текста — это символ, который встраивает значение данных, назначенное переменной. Если значение данных содержит пробелы, оно должно быть заключено в ограничители текста. Ограничителем текста по умолчанию является символ двойной кавычки ("
). Поскольку двойная кавычка также используется для обозначения дюймов, иногда бывает трудно передать данные со знаком дюймов через файлы JOB. Можно использовать две двойные кавычки для кодирования одной двойной кавычки или использовать TEXTQUALIFIER.
Пример
TEXTQUALIFIER %
SET Variable = %EPAK 12"X10 7/32"%