Создание шаблона для офисного принтера.
Шаблон должен находиться в папке "PrinterOffice", иметь расширение .json и название соответствующее шаблону переменных-vars.
Настраиваем принтер в Л2.
Для нового принтера выбираем тип "USB" (не имеет отношения к тому, как принтер подключен на самом деле). И модель "Office".
Далее в списке адресов выбираем драйвер нужного нам принтера.
Для теста полезно выбрать Print to PDF. Данный драйвер будет просто запрашивать сохранения листа в .pdf файле, вместо печати физического принтера на реальной бумаге.
______________________________________________________________________________________________________________________________________________
Шаблон состоит из доп. переменных / элементов шаблона.
Базовая структура шаблона:
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
}
}
В additionalSettings можно указать кол-во кол-во origins (исходных точек) для отпечатков. На каждую исходную точку будет создан отпечаток с началом в соответствующей координате.
Пример:
{
"variables" : {
"<code_128>" : {
"type" : "CODE_128"
}
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
},
{
"x" : 60.0,
"y" : 100.0
}
]
},
"additionalVariables" :{
"<code_128>" : {
"x" : 0,
"y" : 100,
"height" : 30,
"fontSize" : 12,
"innerSpace" : 10
}
}
}
В additionalVariables указываются элементы шаблона.
Каждый элемент имеет тип (те же типы, что и у переменных-vars) и значение. Есть несколько путей передачи в элемент типа.
1. Элемент назван так же, как и переменная-vars. Тип унаследуется от переменной-vars.
2. Тип указан в поле "type". Указанный тип всегда будет приоритетней унаследованного.
Также есть несколько путей передачи в элемент значения.
1. Элемент назван так же, как и переменная-vars. Значение унаследуется от переменной-vars.
2. В поле элемента "value" указано название нужной переменной-vars. В этом поле также можно указать несколько переменных-vars или любой другой текст. Вместо названий будут подставлены значения переменных-vars, так же, как и в других принтерах. Указанное значение всегда будет приоритетней унаследованного.
Пример 1 (тип и значение указаны вручную):
{
"variables" : {
"<gtin>" : {
"type" : "GTIN"
},
"<total_capacity>" : {
"type" : "TOTAL_CAPACITY"
},
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"code_128" : {
"x" : 0,
"y" : 100,
"height" : 30,
"fontSize" : 12,
"type" : "CODE_128",
"value" : "02<gtin>10<total_capacity>",
"innerSpace" : 10
}
}
}
Пример 2 (тип и значения наследуются от переменной-vars):
{
"variables" : {
"<code_128>" : {
"type" : "CODE_128"
}
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"<code_128>" : {
"x" : 0,
"y" : 100,
"height" : 30,
"fontSize" : 12,
"innerSpace" : 10
}
}
}
______________________________________________________________________________________________________________________________________________
Параметры элементов:
Каждый элемент имеет ряд параметров. Для каждого присущи параметры "x" и "y" - это координаты.
Если не указать числовой параметр, то он будет равен 0.
(ВАЖНО) Все параметры длины, ширины, отступов и тд указываются в миллиметрах.
(Размер текста в типографских пунктах)
Список типов элементов шаблона:
DATAMATRIX_GS, DATAMATRIX_NON_GS
width - ширина
height - высота
Пример:
{
"variables" : {
"dm" : {
"type" : "DATAMATRIX_GS",
"index" : 1
}
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"dm" : {
"x": 30,
"y" : 100,
"width" : 100,
"height": 100
}
}
}
GTIN ( фактически печатается как EAN-13)
Берётся необрезанный код 14ти единиц длиной, и обрезается слева до 13ти.
width - ширина
height - высота
underlineNumbersRatio - (Вещественное число с точкой) Соотношение высоты внутреннего отступа EAN-13
ко всей высоте кода. При отсутствии значения или значении "нуль" отступа у кода не будет, как и нижних чисел.
Пример 1 (указан underlineNumbersRatio):
{
"variables" : {
"<gtin>" : {
"type" : "GTIN"
}
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"<gtin>" : {
"x": 30,
"y" : 100,
"width" : 100,
"height": 30,
"underlineNumbersRatio" : 0.2
}
}
}
Пример 2 (не указан underlineNumbersRatio)
CODE_128 (code 128 / gs1 128)
Если в коде указан FNC символ (то есть код - gs1 128), то коды Application Identifiers (AI) при генерации человеко-читаемого кода будут браться в кавычки (см. пример).
width - ширина
height - высота
fontSize - размер шрифта
innerSpace - вертикальный интервал между нижней границей кода и началом текста.
Пример 1 (без FNC - code 128):
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"<code_128>" : {
"x" : 0,
"y" : 100,
"height" : 30,
"fontSize" : 12,
"innerSpace" : 5
}
}
}
{
"variables" : {
"<code_128>" : {
"type" : "CODE_128"
}
}
}
Пример 2 (указан FNC - gs1 128)
{
"variables" : {
"<code_128>" : {
"type" : "CODE_128"
}
}
}
{
"additionalSettings": {
"origins" : [
{
"x" : 0.0,
"y" : 0.0
}
]
},
"additionalVariables" :{
"<code_128>" : {
"x" : 0,
"y" : 100,
"height" : 30,
"fontSize" : 12,
"innerSpace" : 5,
"value" : "\u00F10105412345000013\u001D17251231\u001D10ABC123\u001D21DEF456789"
}
}
}









