Получить консультацию

Edit Template

Компоненты распознавания и печати штрих-кодов

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах.

Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA.

Работа с камерой реализована с применением технологии DirectX и требует установленного в системе DirectX, а также поддержку web-камерой этой технологии (практически все современные камеры, в том числе бюджетные, поддерживают DirectX).

Комплектация ПО:

  • ActiveX-компонент для печати штрих-кодов
  • Внешняя компонента захвата видео с камеры и распознавания штрих-кодов
  • Инструкция по эксплуатации
  • Пример внешней обработки для 1С 8.2

Программа предоставляется в виде программы-установщика, весь процесс установки происходит в мастере установки автоматически, с запросом параметров установки у пользователя. Установка может быть осуществлена как для одного пользователя, так и для всей системы.

В разработке использованы следующие свободно распространяемые библиотеки:

Zint – библиотека отображения штрих-кодов http://sourceforge.net/projects/zint/
Zbar – библиотека распознавания штрих-кодов http://zbar.sourceforge.net/
Fork библиотеки функций Zint для Delphi http://theunknownones.net

Использование ActiveX-компонента barcontrol.ocx

Программа отображения и печати штрих-кодов является элементом управления ActiveX со всеми вытекающими из этого последствиями. Это означает, что Вы можете использовать данный компонент для встраивания в любое приложение, поддерживающее интеграцию ActiveX компонентов, например, Microsoft Word, Microsoft Excel, другие продукты из состава Microsoft Office. Можно встраивать компонент в документ, а также располагать его на формах приложений VBA. Но всё же основное назначение компонента – встраивание в шаблоны печатных форм системы 1С-предприятие версий 7.* и 8.*.

Встраивание в шаблон 1С 7.7

1С 7.7 не поддерживает встраивание элементов управления напрямую из меню конфигуратора. Для того, чтобы встроить элемент управления в макет печатной формы 1С 7.7, вставьте его сначала в Microsoft Word или любое другое приложение, поддерживающее встраивание ActiveX-элементов. Затем выделите элемент кнопкой мыши и скопируйте его в буфер обмена (Ctrl+C). После этого перейдите на форму редактирования макета в конфигураторе 1С и вставьте элемент из буфера в выбранное место (Ctrl+V).

Встраивание в шаблон 1С 8.2

Для встраивания элемента в макет табличного документа 1С 8.2 последовательно выберите пункты меню «Таблица/Рисунки/Вставить объект» из главного меню конфигуратора. Щелкните в нужном месте макета указателем мыши, и выделите область, в которой будет располагаться элемент. После того, как Вы закончили выделение, на экране появится стандартное окно вставки объектов системы Windows. Выберите из списка «CBarGenerator control». После нажатия кнопки «Ok» элемент появится в обозначенной области.

Рис.1: Окно вставки элемента управления

Настройка свойств объекта из конфигуратора

Выделите указателем мыши элемент «CBarGenerator» в шаблоне печатной формы в конфигураторе, и щелкните правой кнопкой. В появившемся меню выберите пункт «CBarGenerator Control/Properties». В появившемся окне (рис. 3, 4) Вы можете изменять тип штрих-кода, данные, цвет, шрифт текста, отступы и т.д. (значения доступных для изменения свойств описаны в разделе «Программный интерфейс приложения»).

Рис. 3: Вкладка основных настроек элемента управления

При изменении какого-либо из пунктов настроек становится доступной кнопка «Применить», с
помощью которых Вы можете просмотреть результирующие изменения, не закрывая окна настроек. При нажатии кнопки «Ok» все сделанные изменения применяются к объекту, а окно настроек закрывается.

Рис. 4: Вкладка настройки размеров элемента управления

Программное управление свойствами объекта из 1С 7.7

Выделите указателем мыши элемент «CBarGenerator» в шаблоне печатной формы в конфигураторе
«1С-Предприятие» 7.7, и щелкните правой кнопкой. В появившемся меню выберите пункт «Свойства» (рис. 5).

Рис.5: Свойства встроенного элемента управления

В поле «Расшифровка» поместите имя функции, которая будет вызываться для события получения
расшифровки. При вызове данной функции свойство шаблона «ТекущийОбъект» будет указывать на
наш элемент управления, поэтому здесь можно изменять любые свойства, описанные в разделе «Программный интерфейс приложения». Пример программного кода:

				
					Процедура ПечатьДокумента()
    Таб = СоздатьОбъект("Таблица");
    ПечКод = "012345678934";
    ПечТип = 34;
    Таб.ВывестиСекцию("СекцияШтрихКода");
...
    Таб.Показать("Штрих-коды");
КонецПроцедуры

Функция ПолучитьРасшифровку()
    Таб.ТекущийОбъект.BarType = ПечТип;
    Таб.ТекущийОбъект.BarData = ПечКод;
КонецФункции
				
			

Программное управление свойствами объекта из 1С 8.2

Выделите указателем мыши элемент «CBarGenerator» в макете табличного документа в
конфигураторе, перейдите во вкладку «Свойства рисунка» и задайте ему имя (рис.6).

Рис.6: Задание имени рисунка

Теперь Вы можете обращаться к объекту из программного кода по указанному имени. Предварительно необходимо вывести макет в результирующий табличный документ. Пример
программного кода:

				
					Процедура ПечатьДокумента()
    ТабДокумент = ЭлементыФормы.ПолеТабличногоДокумента;
    ТабДокумент.Очистить();
    ТабДокумент.ИмяПараметровПечати = "Параметры_Штрихкодирования";
    Макет = ПолучитьМакет("Макет");
    ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
    ТабДокумент.Вывести(ОбластьШапки);
    ТабДокумент.Рисунки.DBarCode.Объект.BarType = ТипКода;
    ТабДокумент.Рисунки.DBarCode.Объект.BarData = СтрокаДанные;
КонецПроцедуры
				
			

Программный интерфейс приложения

Свойcтва объекта

BackColor
Чтение и запись. Тип – числовой. Установка и получение цвета фона штрих-кода. Устанавливается 24-битным целым числом, в котором каждый из трёх байтов отвечает за свою цветовую составляющую (RGB). Например, $FF0000 (десятичное 16711680) соответствует красному цвету.
BarColor
Чтение и запись. Тип – числовой. Установка и получение цвета штрихов штрих-кода. Установка аналогична параметру BackColor.
BarData
Чтение и запись. Тип – строковой. Установка и чтение строки данных для преобразования в штрих-код (подробнее в разделе «Формат штрих-кодов»).
BarType
Чтение и запись. Тип – числовой (в VBA использовать перечисление Symbology). Установка и чтение типа штрих-кода (подробнее в разделе «Формат штрих-кодов»). Соответствие типов штрих-кодов числовым кодам приведено в таблице:

Наименование типа Числовое значение
CODE11 0
C25MATRIX 1
C25INTER 2
C25IATA 3
C25LOGIC 4
C25IND 5
CODE39 6
EXCODE39 7
EANX 8
EAN128 9
CODABAR 10
CODE128 11
DPLEIT 12
DPIDENT 13
CODE16K 14
CODE49 15
CODE93 16
FLAT 17
RSS14 18
RSS_LTD 19
RSS_EXP 20
TELEPEN 21
UPCA 22
UPCE 23
POSTNET 24
MSI_PLESSEY 25
FIM 26
LOGMARS 27
PHARMA 28
PZN 29
PHARMA_TWO 30
PDF417 31
PDF417TRUNC 32
MAXICODE 33
QRCODE 34
CODE128B 35
AUSPOST 36
AUSREPLY 37
AUSROUTE 38
AUSREDIRECT 39
ISBNX 40
RM4SCC 41
DATAMATRIX 42
EAN14 43
CODABLOCKF 44
NVE18 45
JAPANPOST 46
KOREAPOST 47
RSS14STACK 48
RSS14STACK_OMNI 49
RSS_EXPSTACK 50
PLANET 51
MICROPDF417 52
ONECODE 53
PLESSEY 54
TELEPEN_NUM 55
ITF14 56
KIX 57
AZTEC 58
DAFT 59
MICROQR 60
HIBC_128 61
HIBC_39 62
HIBC_DM 63
HIBC_QR 64
HIBC_PDF 65
HIBC_MICPDF 66
HIBC_BLOCKF 67
HIBC_AZTEC 68
AZRUNE 69
CODE32 70
EANX_CC 71
EAN128_CC 72
RSS14_CC 73
RSS_LTD_CC 74
RSS_EXP_CC 75
UPCA_CC 76
UPCE_CC 77
RSS14STACK_CC 78
RSS14_OMNI_CC 79
RSS_EXPSTACK_CC 80
CHANNEL 81
CODEONE 82
GRIDMATRIX 83

Для уточнения типа штрих-кода в некоторых случаях требуется установка дополнительных параметров Option1, Option2, Option3. Для составных кодов может потребоваться установка свойства Primary (описано в разделе «Формат штрих-кодов»).
BorderWidth
Чтение и запись. Тип – числовой. Установка и чтение толщины рамки вокруг штрих-кода (0 – рамка не используется).
Font
Чтение и запись. Тип – OleFont. В системах «1С-Рредприятие» любых версий установка данного параметра невозможна. Установка и получение шрифта человекочитаемой текстовой метки, выводимой вместе с штрих-кодом.
MarginLeft, MarginTop, MarginRight, MarginBottom, PaddingLeft, PaddingRight, PaddingBottom,
SpacingLeft, SpacingTop, SpacingRight, SpacingBottom
Чтение и запись. Тип – числовой. Отвечает за размеры отступов. Соответствие параметров показано на рисунке 7.
Option1, Option2, Option3
Чтение и запись. Тип – числовой. Дополнительные опции, требующиеся для некоторых типов штрих-кодов. Подробное описание данных опций в разделе «Формат штрих-кодов».
Primary
Чтение и запись. Тип – строковой. Дополнительные данные для составных штрих-кодов. Подробнее в разделе «Формат штрих-кодов».
ShowText
Чтение и запись. Тип – булево (в 1С 7.7 – целое число ). Флаг отображения человекочитаемой метки,
выводимой вместе с некоторыми типами штрих-кодов. Значение True (1) – выводить текст, False (0) –скрыть текст.
TextColor
Чтение и запись. Тип – числовой. Установка и получение цвета шрифта человекочитаемой текстовой метки, выводимой вместе с штрих-кодом. Установка аналогична параметру BackColor.

Рис.7: Значение параметров размеров отступов.

Работа с компонентом распознавания

Компонент распознавания штрих-кодов реализован с использованием DirectX для захвата
видеопотока с камеры. Поток разбивается на отдельные кадры, которые затем анализируются на
предмет наличия одного или нескольких изображений символов штрих-кодов. При обнаружении
символов, они выделяются в окне сканирования яркой линией, а информация о распознанных
символах, такая, как расшифрованные данные, тип штрих-кодирования, угол, при повороте на
который было произведено успешное распознавание, передается при помощи внешнего события в
систему «1С-Предприятие».

Использование в программах 1С 7.7, 8.2

Компонент распознавания оформлен в виде внешней компоненты для систем 1С, и может быть
встроен в программу стандартным для 1С способом:
В глобальном модуле:

				
					Перем СканерОбъект Экспорт;

Процедура ПриНачалеРаботыСистемы()
   СканерОбъект = Null;
   Попытка
      ПодключитьВнешнююКомпоненту("AddIn.OBRScannerVK");
      СканерОбъект = Новый("AddIn.OBRScannerVK");
   Исключение
      Сообщить("Не удалось загрузить компоненту!", СтатусСообщения.Важное);
      Сообщить("1. Проверьте, все ли файлы компоненты скопированы в каталог "
            + КаталогПрограммы(), СтатусСообщения.Внимание);
      Сообщить("2. Проверьте, не установлен ли на компьютере Firewall,
            блокирующий загрузку компоненты!", СтатусСообщения.Внимание);
      Сообщить(ОписаниеОшибки(), СтатусСообщения.Внимание);
   КонецПопытки;
КонецПроцедуры
				
			

Для вызова окна сканирования и запуска процедуры сканирования служит функция
«ПоказатьОкноСканирования()»:

				
					Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если СканерОбъект <> Null Тогда
       СканерОбъект.ПоказатьОкноСканирования();
    КонецЕсли;
КонецПроцедуры
				
			

После того, как программа распознала штрих-код, она отправляет в 1С строку, в которой зашифрованы распознанные данные, тип штрих-кода, доп. опции, угол поворота, при котором
произошло распознавание. Строка данных закодирована алгоритмом Base64. Для раскодирования
воспользуйтесь функцией компоненты»ДекодироватьBase64″ (англ. «DecodeBase64»).

				
					Процедура ВнешнееСобытие(Источник, Событие, Данные)
    СтрокаДанные = "";
    Токены = СтрЗаменить(Данные,";", Символы.ПС);
    ТипКода = 1;
    Угол = 0;
    Для Сч=1 По СтрЧислоСтрок(Токены) Цикл
        СтрТокен = СтрПолучитьСтроку(Токены, Сч);
        Индекс = Найти(СтрТокен,":");
        Если Индекс > 1 Тогда
            ИмяТокена = Лев(СтрТокен, Индекс-1);
            ЗначТокена = Сред(СтрТокен, Индекс+1);
            Если ИмяТокена = "data" Тогда
                СтрокаДанные = СканерОбъект.ДекодироватьBase64(ЗначТокена);
            ИначеЕсли ИмяТокена = "angle" Тогда
                Угол = Число(ЗначТокена);
            ИначеЕсли ИмяТокена = "symbol" Тогда
                СтрТипБарКод = НРег(ЗначТокена);
                Если СтрТипБарКод = "ean-13" Тогда
                    ТипКода = 21;
                ИначеЕсли СтрТипБарКод = "ean-8" Тогда
                    ТипКода = 21;
                ИначеЕсли СтрТипБарКод = "upc-e" Тогда
                    ТипКода = 23;
                ИначеЕсли СтрТипБарКод = "upc-a" Тогда
                    ТипКода = 22;
                ИначеЕсли СтрТипБарКод = "isbn-13" Тогда
                    ТипКода = 40;
                ИначеЕсли СтрТипБарКод = "i2/5" Тогда
                    ТипКода = 2;
                ИначеЕсли СтрТипБарКод = "code-39" Тогда
                    ТипКода = 7;
                ИначеЕсли СтрТипБарКод = "code-128" Тогда
                    ТипКода = 11;
                ИначеЕсли СтрТипБарКод = "pdf417" Тогда
                    ТипКода = 31; 
                ИначеЕсли СтрТипБарКод = "qr-code" Тогда
                    ТипКода = 34;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
				
			

Настройка параметров распознавания в системе 1С

После загрузки компоненты в системе 1С в панели настроек появляется новая вкладка, на которой
Вы можете настроить следующие параметры:

  • Устройство захвата видео — позволяет выбрать используемое для считывания видеоустройство, если их в системе несколько.
  • Вращать изображение — позволяет добиться более точного качества распознавания на достаточно мощных компьютерах, вращая изображение по 15% до 90% до тех пор, пока символ штрих-кода не найден на снимке.
  • Типы бар-кодов — выбор типов бар-кодов, наличие которых на снимке будет пытаться определить программа. Программа может распознавать следующие типы бар-кодов: EAN-8, EAN-13, UPC-A, UPC-E, ISBN-10, ISBN-13, Code-39, PDF-417, Qr-Code, Code 128, Interleaved 2 of 5.
  • Разрешение камеры — настройка точности распознавания;
  • Проверять корректность данных — проверять соответствие стандарту распознанных данных для определённого типа кода;
  • Останавливать сканирование после распознавания — после распознавания символа остановить процесс сканирования;
  • Закрывать окно после распознавания — закрыть окно сканирования после распознавания символа.

Программный интерфейс компоненты распознавания

Свойства:

Картинка(Picture)— чтение, запись. Установка картинки для распознавания. Возможно два варианта установки данного свойства:

1: В качестве значения свойства устанавливается имя файла изображения. При этом компонента пытается загрузить файл изображения с диска по указанному пути, и определить тип его содержимого. Доступные типы графических файлов – JPEG, PNG, GIF, BMP.

2. В качестве значения свойства устанавливается строка, содержащая закодированные алгоритмом Base64 двоичные данные, полученные из картинки 1С:

				
					СканерОбъект.Картинка = Base64Строка(Картинка.ПолучитьДвоичныеДанные());
				
			

При считывании значения из данного свойства, компонент всегда возвращает двоичные данные текущей картинки, загруженной с диска или захваченной с камеры, закодированные алгоритмом Base64. Получить готовую картинку 1С можно следующим образом:

				
					Картинка1С = Новый Картинка(Base64Значение(Сканер.Картинка));
				
			

ТипыСимволов(SymbolTypes)– чтение, запись. Установка/считывание доступных для использования типов штрих-кодов. В качестве значения передаётся строка, содержащая символьные наименования типов штрих- кодов, разделённые запятой. Возможные значения следующие: «ean-13», «ean-8», «upc-e», «upc-a», «isbn-10», «isbn-13», «i2/5», «code-39», «code-128», «pdf417», «qr-code».

ПоворачиватьКартинку(RotateBitmap)– чтение, запись. Содержит логическое значение – истина или ложь. В случае установки значения Истина, для наиболее качественного распознавания изображение будет поворачиваться с приращением 15 градусов, до 90 градусов.

ГоризонтальноеРазрешение(DensityX)– чтение, запись. Позволяет задать горизонтальное разрешение камеры, устанавливается число от 1 до 10. Самое мелкое разрешение – 1.

ВертикальноеРазрешение(DensityY)– чтение, запись. Позволяет задать вертикальное разрешение камеры, устанавливается число от 1 до 10. Самое мелкое разрешение – 1.

Методы:

ПоказатьОкноСканирования(ShowScanWindow)– Показать окно сканирования, включить получение данных с видеокамеры и начать процесс распознавания символов штрих-кодов.

ДекодироватьBase64(DecodeBase64)– Декодирование зашифрованной алгоритмом Base64 строки данных, переданной из внешней компоненты в обработчик внешнего события.

КодироватьBase64(EncodeBase64)– Кодирование строки данных 1С алгоритмом Base64. Для использования в следующих версиях компоненты.

СканироватьРисунок(ScanPicture)– Сканирование рисунка, переданного компоненте в свойстве

«Картинка», на предмет наличия штрих-кодов. Декодированные данные возвращаются в программу в виде строки. Расшифровка строки возможна при помощи следующего кода 1С:

				
					Функция ПолучитьДанныеИзСтроки(СтрКоды)
   МассивДанных = Новый Массив;
   Для Ит = 1 По СтрЧислоСтрок(СтрКоды) Цикл ТипКода = 0;
      СтрокаДанные = "";
      УголПоворота = 0;
      СтрТипБарКод = "";

      Данные = СтрПолучитьСтроку(СтрКоды, Ит);
      Токены = СтрЗаменить(Данные, ";", Символы.ПС);

      Для Сч = 1 По СтрЧислоСтрок(Токены) Цикл
         СтрТокен = СтрПолучитьСтроку(Токены, Сч);
         Индекс = Найти(СтрТокен,":");
         Если Индекс > 1 Тогда
             ИмяТокена = Лев(СтрТокен, Индекс-1);
             ЗначТокена = Сред(СтрТокен, Индекс+1);
             Если ИмяТокена = "data" Тогда
                 СтрокаДанные = СканерОбъект.ДекодироватьBase64(ЗначТокена);
             ИначеЕсли ИмяТокена = "angle" Тогда
                 УголПоворота = Число(ЗначТокена);
             ИначеЕсли ИмяТокена = "symbol" Тогда
                 СтрТипБарКод = НРег(ЗначТокена);
             КонецЕсли;
         КонецЕсли;
      КонецЦикла;
      СтрРезультат = Новый Структура("ТипКодаСтр,Угол,Данные", СтрТипБарКод, УголПоворота, СтрокаДанные);
      МассивДанных.Добавить(СтрРезультат); 
   КонецЦикла;
   Возврат МассивДанных;
КонецФункции
				
			

ПолучитьФрагмент (GetFragment) –
возвращает фрагмент исходного рисунка, содержащий обнаруженный символ штрих-кода. Рисунок возвращается в виде строки, закодированной алгоритмом Base64 (метод расшифровки дан в описании свойства «Картинка»). В качестве параметра в функцию передается порядковый номер обнаруженного символа, первый фрагмент обозначается единицей.

Форматы штрихкодов

Если формируемый Вами штрихкод включает контрольную цифру то внимательно читайте руководство по конкретному формату штрихкода — надо ли подавать на вход barcontrol код, включающий контрольную цифру, или без нее.

Одномерные штрих-коды

Именно одномерные штрих-коды большинство людей ассоциирует с термином «штрих-код». Они состоят из ряда полосок и пробелов разной ширины.

Code 11

Разработанный Intermec в 1977 году Код 11 похож на Code 2 of 5 Matrix и используется в основном в области телекоммуникации. Могут кодироваться в строки любой длины. Допустимы цифры 0..9 и символ ‘-‘. Используется одна контрольная цифра (алгоритм modulo-11).

Code 2 of 5

Код 2 из 5 представляет собой семейство одномерных штрих-кодов, 8 из которых поддерживается Barcontrol. Обратите внимание, что эти штрих-коды в разных местах могут называться по разному, поэтому перед использованием этих штрих-кодов вам следует убедиться, что вы используете верный формат.

Standard Code 2 of 5

Стандартный Code 2 of 5, также известный как Code 2 of 5 Matrix, это код, обеспечивающий самоконтоль, используемый в промышленности и разработке фотографий. С помощью стандартного Code 2 of 5 можно кодировать числовые данные любой длины (цифры: 0 – 9).

IATA Code 2 of 5

Используется Международным агентством воздушного транспорта (IATA) в авиационных перевозках для обработки багажа. C помощью этого самоконтролируемого кода также кодировать числовые входные данные любой длины (цифры: 0 – 9). Контрольной цифры нет.

Industrial Code 2 of 5

Промышленный Code 2 of 5 также может кодировать числовые входные данные любой длины (цифры: 0 – 9). Контрольной цифры нет.

Interleaved Code 2 of 5

С помощью этого самоконтролируемого форматы кодируют пары чисел, и поэтому можно кодировать только четное число цифр (0 – 9). Если введено нечетное число цифр, Barcontrol добавляет в начала кода цифру 0. Контрольная цифра не добавляется.

Code 2 of 5 Data Logic

Data Logic также не включает контрольную цифру; с его помощью можно кодировать числовые входные данные любой длины (цифры: 0 – 9).

ITF-14

ITF-14, также известный как штрих-код UPC Shipping Container или Case Code основан на Interleaved Code 2 of 5 и требует входные данные из 13 цифр (цифры: 0 – 9). Рассчитывается контрольная цифра (modulo-10).

Deutsche Post Leitcode

Leitcode основан на Interleaved Code 2 из 5 и используется немецкой почтой. Кодируется строка из 13 цифр и включает контрольную цифру.

Deutsche Post Identcode

Identcode также основан на Interleaved Code 2 из 5 и также используется немецкой почтой. Кодируется строка из 11 цифр и включает контрольную цифру.

Universal Product Code (EN 797)

UPC-A

UPC-A используется в США в розничной торговле. Для формирования штрихкода укажите 11 цифр. Контрольная цифра вычисляется Barcontrol. Кроме того, дополнительные коды EAN-2 и EAN-5 могут быть добавлены с помощью знака «+». К примеру, чтобы сформировать UPC-A штрих-код с данными 72527270270 и с надстройкой EAN-5, отображающей данные 12345, закодируйте строку данных, включив знак «+»:

BarCtl.BarType = 22;

BarCtl.BarData = «72527270270+12345»;

UPC-E

UPC-E представляет собой сжатую версию UPC-A, разработанную для небольших упаковок. Для формирования штрихкода укажите 6 цифр. Контрольная цифра вычисляется Barcontrol. Дополнительные коды EAN-2 и EAN-5 могут быть добавлены использованием знака «+», как и в UPC-A. Кроме того, Barcontrol поддерживает Number System 1. Для этого укажите 7 цифр, начиная с

Например:

BarCtl.BarType = 23;

BarCtl.BarData = «1123456»;

EuropeanArticleNumber(EN 797)

EAN-2, EAN-5, EAN-8 и EAN-13

EAN используется в розничной торговле в Европе и включает стандарты для кодов EAN-8 и EAN-13. Для их формирования укажите 7 или 12 значное число. (Прим. перев.: если Вы используете Ocvita Barcode ActiveX, то можно указать также 8 или 13 значное число, т.е. включая контрольную цифру). Также могут формироваться дополнительные коды EAN-2, EAN-5. (2, 5 значные числа соответственно). Barcontrol решает самостоятельно, какой формат будет использован, в соответствии с длиной входных данных. Для добавления дополнительных штрих-коды EAN-2 и EAN-5 используется знак «+», как и в формате UPC. Например:

BarCtl.BarType = 13;

BarCtl.BarData = «54321»;

будет отдельно кодировать EAN-5, в то время как

BarCtl.BarType = 13;

BarCtl.BarData = «7432365+54321»;

Все штрих-коды EAN включают контрольные данные, которые добавляются Barcontrol.

SBN, ISBN и ISBN-13

Штрих-коды EAN-13 (также известные как Bookland EAN-13) также могут быть сформированы из входных данных длиной 9 (SBN), 10 (ISBN) или 13 (ISBN-13) знаков. Входные данные должны включать контрольную. цифру (она будет проверена Barcontrol) Кроме того, дополнительные штрих- коды EAN-2 и EAN-5 могут быть добавлены с помощью знака «+», как и в формате UPC.

Plessey

Также известный как Plessey Code, этот формат был разработан Plessey Company Ltd в Великобритании. С помощью этого штрих-кода можно кодировать данные любой длины, состоящие из цифр от 0 до 9 или букв от A до F и включающие контрольную цифру (CRC).

MSI Plessey

Разработан MSE Data Corporation на основе Plessey. Может кодировать числовые данные любой длины. Доступны следующие варианты использования контрольной цифры (выбирается установкой свойства Option2):

Значение Option2 Контрольная цифра
0 Не используется
1 Modulo-10
2 Modulo-10 & Modulo-10
3 Modulo-11
4 Modulo-11 & Modulo-10

Telepen

Telepen Alpha

Telepen Alpha был разработан SB Electronic Systems Limited; с его помощью можно кодировать текстовые входные данные формата ASCII любой длины.

Telepen включает контрольную цифру modulo-127.

Telepen Numeric

Telepen Numeric позволяет сжимать числовые данные в штрих-код Telepen. Данные могут состоять из пар чисел или пар, состоящих из чисел, следующих за символом X. Например: 466333 и 466X33 – допустимые коды, а 46X333 – нет (пара цифр “X3” не допустима). Включает контрольную цифру modulo-127.

Code 39

Standard Code 39 (ISO 16388)

Стандартный Code 39 был разработан в 1974 году компанией Intermec. Входные данные могут быть любой длины и могут содержать следующие символы: цифры ( 0 – 9), буквы (A – Z), тире (-), точка (.),пробел, звездочка (*), доллар ($), косая черта (/) и плюс (+). Код не требует контрольных цифр, тем не менее контрольная цифра modulo-43 может быть добавлена, если это необходимо, с помощью установки Option2 = 1.

Extended Code 39

Также известный как Code 39e и Code39+, этот формат расширяет возможности стандартного Code 39: поддерживает все символы ASCII. Код не требует контрольных цифр, тем не менее контрольная цифра modulo-43 может быть добавлена, если это необходимо, с помощью установки Option2 = 1.

Code 93

Вариация Extended Code 39, Code 93 также поддерживает все символы ASCII. Две контрольные цифры добавляются Barcontrol.

PZN

PZN представляет собой формат, основанный на Code 39 и используемый в фармацевтической промышленности в Германии. PZN кодирует 6-значное число и включает контрольную цифру (алгоритм modulo-10).

LOGMARS

LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) — Логистические Приложения Автоматической Маркировки и Считывания Штрих-кодов) является разновидностью формата Code 39, используемой Министерством обороны США. С помощью LOGMARS может быть закодирован тот же набор символов, что и Standard Code 39 + добавляется контрольную цифру modulo-43.

Code 32

Разновидность Code 39, используемая в Министерстве здравоохранения Италии для кодирования фармацевтической продукции. Требует числовых входных данных длиной не более 8 цифр. Контрольная цифра добавляется Barcontrol.

HIBC Code 39

Используется в медицинской промышленности. Аналогичен Standard Code 39, но добавляет знак «+» в начало и контрольная цифру modulo-49 в конец.

Codabar (EN 798)

Также известный как NW-7, Monarch, ABC Codabar, USD-4, Ames Code и Code 27, этот формат был разработан в 1972 компанией Monarch Marketing Systems для розничной торговли. В 1977 году Американская комиссия крови приняла Codabar в качестве стандартного формата идентификации крови. С помощью Codabar можно кодировать строку любой длины, начинающуюся и заканчивающуюся буквами A-D, между которыми могут находиться: цифры от 1 до 9, тире (-), доллар ($), двоеточие (:), косую черту (/), точку (.) и знак (+). Контрольные цифры не создаются.

Pharmacode

Pharmacode, разработанный Laetus, используется для идентификации фармацевтических препаратов. С помощью данного формата можно кодировать целые числа от 3 до 131070.

Code 128

Standard Code 128 (ISO 15417)

Один из самых распространенных форматов одномерных штрих-кодов, Code 128 был разработан в 1981 компанией Computer Identics. Этот формат полностью поддерживает ASCII текст и использует три варианта сжатия текста для уменьшения размера штрих-код. Barcontrol автоматически выбирает режимы и добавляет контрольную цифру modulo-103. Code 128 является форматом, который Barcontrol использует по умолчанию. Кроме того, Barcontrol поддерживает кодировку символов Latin- 1 (не английских) в Code 128. Кодировка Latin-1 приведена в приложении A.

Code 128 Subset (подмножеств) B

Используется, если надо закодировать данные состоящие лишь из цифр но в режиме формате Code 128B (если установить просто Code 128, то Barcontrol в таком случае будет использовать Code 128C).

GS1-128

Разновидность Code 128, также известная как UCC/EAN-128, этот формат определяется в Основной спецификации GS1 (GS1 General Specification). Идентификаторы применения должны быть введены в [квадратных скобках]. Они будут преобразованы в удобочитаемый текст в (круглых скобках). Это позволяет использовать круглые скобки к кодируемой строке данных. Данные с фиксированной длиной должны быть введены с соответствующей длиной для правильного кодирования (см. приложение С). GS1-128 не поддерживает расширенные символы ASCII. Контрольные цифры для данных GTIN (AI 01) не создаются и должны быть включены во входные данные. Ниже приведен пример правильных входных данных для GS1-128:

BarCtl.BarType = 16;

BarCtl.BarData = «[01]98898765432106[3202]012345[15]991231»;

EAN-14

Сокращенный вариант GS1-128, с помощью которого можно кодировать только GTIN данные. На вход подается строка из 13 цифр. Контрольная цифра GTIN и AI (01) добавляются Barcontrol.

NVE-18

Разновидность Code 128 формата Nummber der Versandeinheit включает контрольные цифры как modulo-10, так и modulo-103. На вход подается строка из 17 цифр.

HIBC Code 128

Эта опция добавляет знак «+» в начало и контрольную цифру modulo-49 в конец стандартного Code 128 в соответствии с требованиями штрих-кодов, использующихся в медицинской промышленности.

GS1 DataBar (ISO 24724)

Также известен как RSS (Reduced Space Symbology — символика сокращенного размера). Эти штрих- коды начиная с 2010 года должны постепенно заменять штрихкоды GS1-128. Если штрих-код GS1 DataBar должен печататься с 2D-компонентом, как указано в ISO 24723, следует установить Option1 =

(См.раздел настоящего руководства, чтобы узнать, как создать штрих-код DataBar с 2D- компонентом)

DataBar-14 and DataBar-14 Truncated

Также известен как RSS-14. С помощью этого штрих-кода можно закодировать 13-значное число. Контрольная цифра и идентификатор применения (01) добавляются Barcontrol. Обратите внимание, что для полного соответствия стандарту высота штрих-кода должна быть больше или равна 33 модулям. Для сокращенного DataBar-14 установленная высота штрих-кода должна быть не менее 13.

DataBar Limited

Также известен как RSS Limited. Также как и DataBar-14 , данный формат позволяет кодировать 13- значное число. Однако первой цифрой должно быть 0 или 1 (т.е. числа в диапазоне от 0 до 1999999999999). Контрольная цифра и идентификатор применения (01) также добавляются Barcontrol.

DataBar Expanded

Также известен как RSS Expanded. Длина входных данных переменная. Позволяет кодировать данные нескольких идентификаторов применения в один штрих-код. В исходных данных идентификаторы применения должны быть заключены в [квадратные скобки]. В последствие они будут преобразованы в (круглые скобки), и в таком виде будут отбражены в тексте выводимом рядом со штрих-кодом. В кодируемых данных могут присутствовать круглые скобки. Данные GTIN (идентификатор применения 01) должны также включать в себя контрольную цифру, так как они не вычисляются Barcontrol при кодировании данного формата. Данные с фиксированной длиной должны быть введены с соответствующей длиной для правильного кодирования (см. приложение С). Ниже приведен пример допустимых входных данных для расширенного DataBar:

BarCtl.BarType = 31;

BarCtl.BarData = «[01]98898765432106[3202]012345[15]991231»;

Корейский почтовый штрих-код

Корейский почтовый штрих-код обычно используется для кодирования 6-значного числа и включает одну контрольную цифру.

Channel Code

Сильно сжатый штрих-код для числовых данных. Число каналов в штрих-коде может быть от 3 до 8 и определяется установленным значением Option2. Также оно может быть определено длиной входных данных, например, трехсимвольная входная строка по умолчанию создает 4-канальный код.

Допустимое максимальное таблице ниже: значение зависит от числа используемых каналов, как это показано в
Каналов(Channels) MinimumValue   MaximumValue
3 00   26
4 000   292
5 0000   3493
6 00000   44072
7 000000   576688
8 0000000   7742862

Обратите внимание, что 7- и 8-канальные коды требуют большого количества вычислений, поэтому эти коды формируются относительно медленно.

Многорядные штрих-коды

Формирование обычных штрихкодов в несколько рядов

Самый простой способ поместить в штрихкод больше информации — просто использовать несколько одномерных штрихкодов один над другим. (Это используется в основном в автомобильной промышленности). Например

BarCtl.BarType = 11;

BarCtl.BarData = «This» + Символы.ПС + «That»;

Code 16k (EN 12323)

Более сложный способ заключается в назначении индексов разным рядам, которые указывают считывателю штрих-кодов, в каком порядке коды должны быть считаны. Этот принцип используется в Code 16k, который является блоком из кодов Code128 и может включать до 16 рядов. Максимальный объем данных: 77 букв или 154 цифры. Code 16k включает две контрольные цифры modulo-107. Кроме того данный формат поддерживает расширенный набор символов ASCII, кодируя его тем же образом, что Code 128.

PDF417 (ISO 15438)

Формат PDF417 широко используется в почтовой индустрии; с его помощью можно закодировать огромное количество данных на небольшом пространстве. В соответствии с ISO, Barcontrol поддерживает кодирование максимум до 925 кодовых слов, что (при 0 уровне коррекции ошибок) дает максимальный — 1850 букв или 2710 цифр. Ширина генерируемого штрих-кода PDF417 может быть задана в параметре Option2 числом от 1 до 30. Количество контрольных цифр может быть задано с помощью присвоения параметру Option1 числа от 0 до 8, количество кодовых цифр равно 2^(значение+1). По умолчанию количество контрольной информации зависит от объема кодируемых данных. Поддержка международных символов осуществляется с помощью набора символов Latin-1, как описано в Приложении А. Отдельный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), при этом в начало добавляется знак «+», а также контрольную (алгоритм modulo-49).

Компактный PDF417

Также известен как сокращенный PDF417. Параметры те же, что и для обычного PDF417.

MicroPDF417 (ISO 24728)

Разновидность стандартного PDF417, MicroPDF417 предназначен для случаев, когда размер штрих- кода должен быть минимальным. Доступно 34 предопределенных размера штрих-кодов с количеством столбцов от 1 до 4 и строчек от 4 до 44. Штрих-код MicroPDF417 максимального размера может содержать 250 буквенно-числовых символа или 366 цифр. Уровень коррекции ошибок зависит от размера штрих-кода. Количество используемых столбцов может быть определено с помощью параметра Option2, как и в PDF417. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC) при этом в начало добавляется знак «+», а также контрольную (алгоритм modulo-49).

GS1 DataBar-14 Stacked (ISO 24724)

Составная разновидность штрих-кода GS1 DataBar-14, использующая такие же входные данные (см. раздел 6.1.12.1). Высота этого штрих-кода фиксирована. Данные кодируются в двухстрочный штрих- код с центральной поисковой структурой. Этот штрихкод может быть создан с дополнительным двумерным компонентом.

GS1 DataBar-14 Stacked Всенаправленный

Составная разновидность штрих-кода GS1 DataBar-14, требующая такие же входные данные (см. раздел 6.1.12.1). Данные кодируются в двухстрочный штрих-код с центральной поисковой структурой. Чтобы создать составной штрих-код, этот штрих-код может быть сгенерирован с двумерным компонентом.

GS1 DataBar Expanded Stacked (ISO 24724)

Составная вариация штрих-кода GS1 DataBar Expanded для маленьких упаковок. Входные данные такие же, как для GS1 DataBar Расширенный (см. раздел 6.1.12.3). Кроме того, ширина штрих-кода может быть изменена с помощью параметра Option2. В этом случае количество столбцов зависит от числа пар символов на каждой строке штрих-кода. Для символов с 2D-компонентом количество столбцов должны быть не менее 2. Этот штрих-код может быть сгенерирован с двумерным компонентом.

Code 49

Code 49, разработанный в 1987 году в Intermec, это нечто среднее между UPC и Code 39. Code 49 является одним из ранних многорядных штрих-кодов, и именно он во многом повлиял на дизайн Code 16K, разработанного несколькими годами позже. Он поддерживает полные 7-битные входные данные ASCII длиной до 49 символов или 81 цифр. Также поддерживается кодирование данных GS1.

Составные штрихкоды (ISO 24723)

Составные штрихкоды используют несколько компонентов, чтобы дать более полную информацию о продукте. Допустимое содержание составного штрих-кода определяется в соответствии с GS1 General Specification. Составные штрих-коды состоят из линейного компонента, которым могут быть штрих- коды EAN, UPC, GS1-128 или GS1 DataBar, 2D-компонента, основанного на PDF417 или MicroPDF417, и разделительной структуры. Тип используемого линейного компонента задается с помощью настройки BarCtl.BarType, как и обычно. Допустимые значения приведены ниже:

Значение Имя Формат
130 BARCODE_EANX_CC Составной штрих-код с линейным компонентом EAN
131 BARCODE_EAN128_CC Составной штрих-код с линейным компонентом GS1-128
132 BARCODE_RSS14_CC Составной штрих-код с линейным компонентом GS1 DataBar-14
133 BARCODE_RSS_LTD_CC Составной штрих-код с компонентом GS1 DataBar Ограниченный
134 BARCODE_RSS_EXP_CC Составной штрих-код с компонентом GS1 DataBar Расширенный
135 BARCODE_UPCA_CC Составной штрих-код с линейным компонентом UPC A
136 BARCODE_UPCE_CC Составной штрих-код с линейным компонентом UPC E
137 BARCODE_RSS14STACK_CC Составной штрих-код с компонентом GS1 DataBar-14 Составной
138 BARCODE_RSS14_OMNI_CC Составной штрих-код с компонентом GS1 DataBar-14 Составной Всенаправленный
139 BARCODE_RSS_EXPSTACK_CC Составной штрих-код с компонентом GS1 DataBar-14 Расширенный Составной

Данные для кодирования в линейный компонент составного штрих-кода должны быть введены в основную строку с данными для 2D-компонента, вводимыми в обычном порядке. Для этого используйте BarCtl.Primary = command. К примеру:

BarCtl.BarType = 130;

BarCtl.option1 = 1;

BarCtl.Primary = «331234567890»; BarCtl.BarData = «[99]1234-abcd»

Это создает линейный компонент EAN-13 с данными «331234567890» и 2D CC-A (см. ниже) компонент с данными «(99)1234-abcd».

Дополнительные данные EAN-2 и EAN-5 могут быть использованы со штрих-кодами EAN и UPC с помощью знака «+», как описано в разделах 6.1.3 и 5.1.4.

2D-компонент составного штрих-кода может использовать одну из трех следующих систем: CC-A, CC-B и CC-C, как описано ниже. Тип 2D-компонента может быть автоматически выбран Barcontrol в зависимости от длины входной строки. Также три режима могут быть заданы с помощью переменной Option1, устанавливая значение в 1, 2 или 3.

CC-A

Используется разновидность MicroPDF417, оптимизированную для небольшого размера. Размер 2D- компонента и уровень коррекции ошибок определяется размером кодируемых данных и типом используемого линейного компонента. С помощью CC-A можно кодировать до 56 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC-A, установите Option1=1.

CC-B

Используется MicroPDF417 для кодирования 2D-компонента. Размер 2D-компонента и уровень коррекции ошибок определяется размером кодируемых данных и типом используемого линейного компонента. С помощью CC-B можно кодировать до 338 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC-A, установите Option1=2.

CC-C

Используется PDF417 и только в сочетании с линейным компонентом GS1-128. С помощью CC-C можно кодировать до 2361 цифр или буквенно-числовую строку меньшей длины. Чтобы выбрать CC- A, установите Option1=3.

Двухрядные штрих-коды

Двухрядный Pharmacode

Двухрядный Pharmacode, разработанный Laetus, является альтернативой обычного Pharmacode OneTrack, используемого для идентификации лекарственных средств. С помощью этого штрих-кода можно кодировать целые числа от 4 до 64570080.

PostNet

Штрих-код PostNet до 2009 года использовался почтовой службой США для кодирования индексов почтовых отправлений. PostNet использует числовые входные данные и включает одну контрольную цифру modulo-10. Barcontrol будет кодировать штрих-коды PostNet любой длины, однако стандартными длинами, используемой USPS, были PostNet6 (5-значные входные данные ZIP), PostNet10 (5-значные ZIP + 4-значные пользовательские данные) и PostNet12 (5-значные ZIP + 6- значные пользовательские данные).

PLANET

Штрих-код PLANET до 2009 года использовался почтовой службой США для кодирования данных о маршрутизации почтовых отправлений. PLANET использует числовые входные данные и включает одну контрольную цифру modulo-10. Barcontrol будет кодировать штрих-коды PLANET любой длины, однако стандартными длинами, используемой USPS, были Planet12 (11-значные входные данные) и Planet14 (13-значные входные данные).

4х-рядные почтовые коды

4х рядные коды Australia Post (австралийской почты)

Клиентские штрих-коды

Стандартный Австралийский Почтовый Клиентский Штрих-код, Клиентский Штрих-код 2 и Клиентский Штрих-код 2 представляют собой, соответственно, 37-, 52- и 67-полосные форматы, разработанные Австралийской Почтой для печати идентификаторов пунктов доставки и клиентской информации на почтовых отправлениях. Допустимые символы: 0-9, A-Z, a-z, пробел и решетка. Код Контроля Формата (FCC) добавляется Barcontrol и не должен присутствовать во входных данных.

Данные коррекции ошибок (Reed-Solomon) создаются Barcontrol. Режим кодирования определяется длиной входных данных в соответствии с формулой, приведенной в таблице ниже:

Длина входных данных Требуемый формат входных данных Длина штрих-кода Код Контроля Данных (FCC) Кодирование таблицы
8 99999999 37полос 11 None
13 99999999AAAAA 52 полосы 59 C
16 9999999999999999 52 полосы 59 N
18 99999999AAAAAAAAAA 67 полос 62 C
23 9999999999999999999999 67 полос 62 N

Штрих-код Reply Paid (оплаченного овета)

Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 45), требующей 8-значные входные данные идентификаторов пунктов доставки.

Штрих-код Routing (маршрутизации)

Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 87), требующей 8-значные входные данные идентификаторов пунктов доставки.

Штрих-код Redirect (переадресации)

Данный штрих-код является разновидностью 4х рядногоAustralia Post Barcode (FCC 92), требующей 8-значные входные данные идентификаторов пунктов доставки.

Dutch Post KIX Code (Нидерландский Почтовый Код KIX)

Этот формат используется Royal Dutch TPG Post (Нидерланды) для почтового индекса и автоматической сортировки почты. Входные данные могут состоять из цифр (0 -9) и латинских букв (A-Z) и должны включать 11 символов. Контрольные цифры не добавляются.

Royal Mail (королевский почтовый) 4-State Country Code (RM4SCC)

Формат RM4SCC используется Королевской Почтой Великобритании для кодирования почтовых индексов и клиентских данных на почтовых отправлениях. Входные данные могут состоять из цифр (0 -9) и латинских букв (A-Z) и обычно включают почтовый индекс места доставки, следующий за номером дома. Например, «W1J0TR01» для дома № 1 на Пиккадилли-Серкус в Лондоне. Контрольные цифры генерируются Barcontrol.

USPS OneCode

Также известная как Intilligent Maik штрих-код. Используется Почтовой Службой США, система OneCode в 2009 заменила PostNet и PLANET форматы. OneCode – это фиксированной длины (65- полосный) штрих-код, объединяющая маршрутную и клиентскую информацию в один символ. Входные данные состоят из 20-значного кода отслеживания, следующего за знаком тире (-),

следующего за zip-кодом пункта доставки, который может состоять из 0, 5, 9 или 11 цифр. Так, все нижеуказанные входные данные являются допустимыми:

«01234567094987654321»

«01234567094987654321-01234»

«01234567094987654321-012345678»

«01234567094987654321-01234567891»

Японский Почтовый Код

Используются для кодирования адресных данных на почтовых отправлениях. Допустимыми символами являются 0-9, A-Z и тире (-). Контрольная цифра modulo 19 добавляется.

Двухмерные штрих-коды

Data Matrix (ISO 16022)

Также известный как Semacode формат DataMatrix был разработан Acuity CiMatrix в партнерстве с Министерством Обороны США и NASA в1989. С помощью данного штрих-кода можно кодировать большой объем данных на маленькой площади. Data Matrix может кодировать все символы набора Latin-1 и GS1 данные. Размер генерируемого штрих-кода может быть отрегулирован с помощью настройки Option2, как это показано в таблице ниже. Индивидуальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным. Обратите внимание, что этот штрих-код поддерживает только кодирование ECC200;.

Входные данные Размер штрих-кода Входные данные Размерштрих-кода
1 10 x 10 16 64 x 64
2 12 x 12 17 72 x 72
3 14 x 14 18 80 x 80
4 16 x 16 19 88 x 88
5 18 x 18 20 96 x 96
6 20 x 20 21 104 x 104
7 22 x 22 22 120 x 120
8 24 x 24 23 132 x 132
9 26 x 26 24 144 x 144
10 32 x 32 25 8 x 18
11 36 x 36 26 8 x 32
12 40 x 40 27 12 x 26
13 44 x 44 28 12 x 36
14 48 x 48 29 16 x 36
15 52 x 52 30 16 x 48

Для штрих-кодов Data Matrix доступна настройка, при которой будут формироваться только квадратные. Чтобы использовать эту функцию, установите параметр Option3 = 100.

При использованнии Ocvita Barcode для формирования только квадратных штрихкодов укажите 100 в поле Option3.

Начиная с версии 1.1 Ocvita Barcode позволяет принудительно выбирать вид кодирования, указав соответствующее значение в поле Setting1

Option1 Вид кодирования
0 Автовыбор. Примечание: в этом режиме в пределах одного символа может быть использовано несколько указанных ниже видов кодирования. Например первые 20 байт кодируются как ASCII, 40 байт далее как BASE256 и т.п. Виды кодирования выбираются исходя из содержимого для получения оптимального размера символа. В Ocvita Barcode 1.0 использовался только такой режим.
1 ASCII
2 C40
3 TEXT
4 X12
5 EDIFACT
6 BASE256

QR Code (ISO 18004)

QR Code, также известен как Quick Response. Формат был разработан Denso. Четыре уровня коррекции ошибок могут быть установлены с помощью настройки Option1, как показано в таблице ниже.

Входные данные Уровенькоррекции ошибок Объемкоррекции ошибок Возможность восстановления
1 L (по умолчанию) Приблизительно 20% штрих-кода Приблизительно 7%
2 M Приблизительно 37% штрих-кода Приблизительно 15%
3 Q Приблизительно 55% штрих-кода Приблизительно 25%
4 H Приблизительно 65% штрих-кода Приблизительно 30%

Размер штрих-кода может быть установлен с помощью установки значения Option2 от 1 до 40 для требуемой версии QR Code. Размеры создаваемых символов приведены в таблице ниже.

Значение Размер Значение Размер
1 21 x 21 21 101 x 101
2 25 x 25 22 105 x 105
3 29 x 29 23 109 x 109
4 33 x 33 24 113 x 113
5 37 x 37 25 117 x 117
6 41 x 41 26 121 x 121
7 45 x 45 27 125 x 125
8 49 x 49 28 129 x 129
9 53 x 53 29 133 x 133
10 57 x 57 30 137 x 137
11 61 x 61 31 141 x 141
12 65 x 65 32 145 x 145
13 69 x 69 33 149 x 149
14 73 x 73 34 153 x 153
15 77 x 77 35 157 x 157
16 81 x 81 36 161 x 161
17 85 x 85 37 165 x 165
18 89 x 89 38 169 x 169
19 93 x 93 39 173 x 173
20 97 x 97 40 177 x 177

Максимальный объем штрих-кода QR Code составляет 7089 цифр, 4296 буквенно-числовых символов или 2953 байта данных ( в версии 40). QR Code также может быть использован для кодирования данных GS1. С помощью данного штрих-кода можно кодировать символы Latin-1 и Kanji, являющихся частями схемы кодирования Shift-JIS. Обратите внимание, что изначально входные данные должны быть введены как UTF-8 поток; позже Barcontrol автоматически переведет их в Shift- JIS. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным.

Микро QR Code (ISO 18004)

Микро QR Code — это миниатюрная версия штрих кода QR Code, предназначенная для коротких сообщений. Для этого штрих-кода доступны те же уровни коррекции, что и для стандартной версии (выше). С помощью данного штрих-кода также можно кодировать символы форматов Latin-1 и Kanji, являющихся частями схемы кодирования Shift-JIS. Обратите внимание, что изначально входные данные должны быть в кодировке UTF-8, позже Barcontrol автоматически переведет их в Shift-JIS. Предпочтительный размер штрих-кода может быть выбран с помощью настройки Option2, хотя Barcontrol может установить и другой размер, если это будет необходимо. Возможные размеры приведены в таблице ниже:

Входные данные Версия Размер штрих-кода
1 M1 11 x 11
2 M2 13 x 13
3 M3 15 x 15
4 M4 17 x 17

Maxicode (ISO 16023)

Штрих-код Maxicode, разработанный UPS, представляет собой сетку из шестиугольников, окружающих символ «бычий глаз». Данный формат предназначен для идентификации посылок. Штрих-коды Maxicode могут быть закодированы в одном из пяти доступных режимов.

В режимах 2 и 3 код состоит из двух частей, называющихся первичное и вторичное сообщения. Первичное сообщение состоит из структурированной области данных, включающей в себя различную информацию об отправленном пакете; вторичное сообщение обычно состоит из адресных данных в специальной структуре. Формат первичного сообщения, требуемый Barcontrol, указан в таблице следующей таблице:

Символы Значение
1-9 Почтовый индекс, который может содержать до 9 цифр (в режиме 2) и до 6 буквенно-числовых символов ( в режиме 3).Оставшиеся неиспользованные места для данных должны быть заполнены пробелами (ASCII 32).
10-12 Трехзначный код страны в соответствии с ISO 3166 (см. приложение B).
13-15 Трехзначный служебный код, зависящий от почтового курьера.

Первичное сообщение может быть определено в установкой строки BarCtl.Primary. Для вторичного сообщения используется стандартный способ ввода данных. К примеру:

BarCtl.Primary = «999999999840012»; BarCtl.BarData = «Secondary Message Here»; BarCtl.BarType = 57;

Barcontrol проанализирует первичное сообщение и определит, какой из режимов (2 или 3) подходит больше.

Режимы 4, 5 и 6 можно установить с помощью настройки Option1. Эти режимы не требуют первичного сообщения. Например:

BarCtl.BarData = «A MaxiCode Message in Mode 4»; BarCtl.BarType = 57;

BarCtl.Option1 = 4;

Режим 6 зарезервирован для обслуживания аппаратной части сканера и не должен использоваться для кодирования пользовательских данных.

Все режимы поддерживают расширенный набор символов ASCII и сжатие чисел. Максимальная длина текста, который может быть вмещен в штрих-код Maxicode, зависит от типов символов, используемых в этом тексте. Примеры максимальных длин данных приведены в таблице ниже:

Режим Максимальное количество прописных букв Максимальное количество цифр Число кодовых слов коррекции ошибок
2 (только вторичное сообщение) 84 126 50
3 (только вторичное сообщение) 84 126 50
4 93 135 50
5 77 110 66
6 93 135 50

Aztec Code (ISO 24778)

Aztec Code, изобретенный Эндрю Лонгакром из Welch Allyn Inc в 1995, это матричный штрих-код с характерной структурой поиска «бычий глаз». Barcontrol может генерировать сжатый (compact) Aztec Code (иногда называемый малым (small) Aztec Code) также, как полный (full-range), и по умолчанию автоматически выбирает тип и размер штрих-кода в зависимости от длины кодируемых данных. Кодовые слова коррекции ошибок обычно занимают по крайней мере 23% штрих-кода. Для изменения этих настроек используйте два следующих способа:

Размер штрих-кода может быть задан с указанием значения Option2 от 1 до 36 в соответствии с таблицей ниже. Штрих-коды, отмеченные в таблице звездочкой (*), являются сжатыми, то есть имеют в центре поисковую структуру меньшего размера.

Входныеданные Размер штрих-кода Входныеданные Размер штрих-кода
1 15 x 15* 19 79 x 79
2 19 x 19* 20 83 x 83
3 23 x 23* 21 87 x 87
4 27 x 27* 22 91 x 91
5 19 x 19 23 95 x 95
6 23 x 23 24 101 x 101
7 27 x 27 25 105 x 105
8 31 x 31 26 109 x 109
9 37 x 37 27 113 x 113
10 41 x 41 28 117 x 117
11 45 x 45 29 121 x 121
12 49 x 49 30 125 x 125
13 53 x 53 31 131 x 131
14 57 x 57 32 135 x 135
15 61 x 61 33 139 x 139
16 67 x 67 34 143 x 143
17 71 x 71 35 147 x 147
18 75 x 75 36 151 x 151

Обратите внимание, что при указании для штрихкода конкретного размера, объем коррекции ошибок зависит от длины входных данных. Barcontrol может уменьшить объем коррекции ошибок до 3 кодовых слов.

Альтернативный вариант — задать объем коррекции ошибок с помощью установки значения Option1 из следующей таблицы:

Режим Объем коррекцииошибок
1 >10% + 3 кодовых слова
2 >23% + 3 кодовых слова
3 >36% + 3 кодовых слова
4 >50% + 3 кодовых слова

Для одного и того же штрих-кода невозможно выбрать и размер и объем коррекции ошибок. Если вы зададите оба параметра, выбор объема коррекции ошибок будет проигнорирован.

Aztec Code имеет возможность кодирования данных расширенного ASCII формата длиной до приблизительно 3823 цифр или 3067 букв, или 1914 байта. Специальный идентификатор формата может быть использован для кодирования данных Health Industry Barcode (HIBC), который добавляет в начало знак «+» и контрольную цифру modulo-49 к закодированным данным.

Aztec Runes

Сокращенная разновидность сжатого Aztec Code, используемая для кодирования целых чисел от 0 до

255. Включает коррекцию ошибок Reed-Solomon. Определен в ISO / IEC 24778 Приложение А.

Code One

Матричный штрих-код, разработанный Тедом Уильямсом в 1992, кодирующий данные тем же образом, что и Data Matrix. С помощью Code One можно кодировать набор символов Latin-1 и данные GS1. Существует два типа Code One – штрих-код переменной высоты, имеющий примерно квадратную форму (версии A – H), и штрих-код фиксированной длины (версии S и T). Они могут быть выбраны с помощью установки значения Option2, как показано в таблице ниже:

Значение Версия Размер Максимальное числоцифр Максимальное числобукв
1 A 16 x 18 22 13
2 B 22 x 22 44 27
3 C 40 x 42 104 64
4 D 40 x 42 217 135
5 E 52 x 54 435 271
6 F 70 x 76 886 553
7 G 104 x 98 1755 1096
8 H 148 x 134 3550 2218
9 S 8X высота 18
10 T 16X высота 90 55

С помощью штрих-кодов версии S могут быть закодированы лишь числовые данные. Ширина штрих- кодов версий S и T определяется длиной входных данных.

Grid Matrix

Один из новейших форматов кодирования, поддерживаемый Barcontrol. Grid Matrix в 2008 году стал AIM стандартом. Данный штрих-код позволяет кодировать символы Latin-1и китайские иероглифы стандартного набора GB 2312 в шахматном порядке. Входные данные должны быть введены как UTF-8 поток; перевод в GB 2312 Barcontrol осуществляет автоматически. Размер штрих-кода и объем коррекции ошибок могут быть заданы. Если указать значения обоих параметров, Barcontrol постарается наилучшим образом удовлетворить обоим условиям. Размер штрих-кода может быть выбран с помощью указания значения Option2, объем коррекции ошибок – с помощью указания значения Option1 согласно следующей таблице:

Значение Размер
1 18 x 18
2 30 x 30
3 42 x 42
4 54 x 54
5 66 x 66
6 78 x 78
7 90x 90
8 102 x 102
9 114 x 114
10 126 x 126
11 138 x 138
12 150 x 150
13 162 x 162

Другие маркировки, сходные с штрих-кодами

Знак Лицевой Идентификации (Facing Identification Mark — FIM)

Формат FIM используется Почтовой Службой США для автоматизированной обработки почты. Этим штрихкодом можно кодировать одну букву из диапазона A – D, как показано в таблице ниже:

Кодируемая буква Использование
A Используется для ответных писем и почтовых отправлении, оплаченных по тарифу, с заранее напечатанным штрих-кодом PostNet.
B Используется для деловых писем без заранее напечатанного zip-кода.
C Используется для деловых писем с заранее напечатанным zip- кодом.
D Используется для IBI (Information Based Indicia) посылок.

Flattermarken

Flattermarken, используется в типографиях для определения последовательности страниц. По сути не является настоящим штрих-кодом и требует точной информации о местоположении знака на странице. Flattermarken позволяет кодировать числа любой длины и не содержит контрольных цифр.

DAFT Code

Метод создания кодов 4х рядных (4-state) кодов, где входные данные предоставляются внешней программой. Входные данные должны состоять из букв ‘D’, ‘A’, ‘F’ и ‘T’, которые являются ссылками на использование нижней линии, верхней линии, обеих линий (и нижней, и верхней) и не одной из линии (ни нижней, ни верхней) соответственно. Все прочие символы игнорируются.

Предыдущая запись
Следующая запись

Оставить отзыв

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ознакомьтесь с нашими услугами

Широкий спектр предоставляемых услуг.