Skip to main content

Создание шаблона для офисного принтера.

Шаблон должен находиться в папке "PrinterOffice", иметь расширение .json и название соответствующее шаблону переменных-vars.

Настраиваем принтер в Л2.

Для нового принтера выбираем тип "USB" (не имеет отношения к тому, как принтер подключен на самом деле). И модель "Office". 

image.png

Далее в списке адресов выбираем драйвер нужного нам принтера.

image.png

Для теста полезно выбрать 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
}
}
}

image.png

В 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
}
}
}

image.png

Пример 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
}
}
}

image.png

______________________________________________________________________________________________________________________________________________

Параметры элементов:

Каждый элемент имеет ряд параметров. Для каждого присущи параметры "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
}
}
}

image.png

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
}
}
}

image.png

Пример 2 (не указан underlineNumbersRatio)

image.png

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"
}
}
}

image.png

Пример 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"
}
}
}

image.png