ITF-14 (Interleaved Two of Five) - это двухполосный числовой код, по-другому код высокой плотности, который может кодировать только числа в чётном количестве. Каждый такой штрих-код кодирует нечётную цифру темной линией и чётную цифру - пробелом между ними. Чтобы закодировать нечётное число цифр, вы должны дополнить самую левую (старшую) цифру нулем. Об особенностях кодирования будет рассказано чуть позже.
Реализация штрих-кода ITF-14 или же interleaved 2 of 5 применяется для кодирования Global Trade Item Number. Глобальный номер торговой позиции (GTIN) - это идентификатор торговой позиции, разработанный компанией GS1. Это международная организация, занимающаяся вопросами стандартизации учёта и штрихового кодирования логистических единиц.
Идентификаторы GS1 используются для поиска информации о продукте в базе данных вручную или же путем ввода номера через сканер штрих-кода, направленный на штрих-код.
Рассмотрим кратко стандарты штрихового кодирования. Установлено два основных стандарта штрихового кодирования: EAN/UCC-13 – для единицы товара.
European Article Number, EAN (европейский номер товара), в дальнейшем после распространения известный также как международный артикул (International Article Number) — европейский стандарт штрих-кода, предназначенный для кодирования идентификатора товара и производителя. В России это ГОСТ ISO/IEC 15420-2010 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики штрихового кода EAN/UPC».
Номер товара EAN/UCC-13 имеет следующую структуру:
— первые 2-3 цифры — региональный код (префикс) страны, где зарегистрирован данный номер (для EAN РОССИЯ – 460-469);
— следующие 4-5 цифр – это регистрационный номер предприятия внутри национальной организации;
— следующая группа цифр обозначает порядковый номер продукции внутри предприятия;
— последняя 13-я цифра является контрольной суммой или контрольным числом. Оно вычисляется из предыдущих двенадцати.
Важно помнить, что штрих-код EAN используется для уникальной идентификации продукции. Для автоматизации складского учета товаров, помещенных в индивидуальную или групповую транспортную упаковку применяется штрих-код ITF-14. По нему компьютерная система учета определяет не только вид товара, находящийся в упаковке, но и его количество. Проще говоря, группа кодов ITF-14 является надмножеством кодов EAN-13 и отличается от них дополнительной первой цифрой.
ITF-14 обычно используются для печати на гофрированном картоне, для маркировки картонных коробок, ящиков или поддонов. Они широко применяются розничными торговцами, производителями и дистрибьюторами для точной логистики и обработки запасов. Также можно встретить в идентификации багажа в аэропортах, нумерации авиационных билетов, идентификации почтовых отправлений.
Перед вами один из примеров применения ITF-14 на основе коробки от MilkyWay.
Штрих-код ITF можно печатать не только на этикетках, но и непосредственно на стенках картонной коробки, гофрокороба или на любой другой поверхности грубой текстуры. Даже в этом случае он будет успешно считываться сканерами.
Вот ещё один пример использования из жизни на основе картриджа со скрепками XEROX 008R13041.
Поскольку штрих-код ITF-14 предназначен для обозначения товаров в транспортных упаковках - он не предусматривает обработку на кассовых терминалах.
ITF-14 всегда кодирует 14 цифр, а вводим мы только 13 цифр. Почему? Рассказываю на примере схемы:
Индикатор – это обозначение уровня упаковки для конкретной картонной коробки. Этот однозначный префикс может варьироваться от 0 до 8. (например, 1 — коробка, 2 — ящик и т.д.).
Префикс компании GS1 может иметь длину от 7 до 10 цифр и присваивается для однозначного определения владельца конкретного бренда. Поставщики должны получить этот префикс непосредственно от GS1, чтобы однозначно идентифицировать свою компанию.
Ссылка на товар – ссылается на тот же номер продукта, используемый для уровня товара GTIN, когда упаковка состоит из одного и того же элемента. Картонным коробкам с ассортиментом товаров присваивается новый номер продукта.
Контрольная цифра – это последняя цифра данного штрих-кода, которая является расчетной для контрольной суммы, но определяется она не по всем предыдущим цифрам, а только по 12 из них, следующим за первой. Используя алгоритм MOD10, вычисленная контрольная сумма предотвращает ошибки подстановки.
Толстая черная рамка вокруг штрих-кода называется опорной полосой (Bearer Bar). Эта полоса уравнивает давление, создаваемое печатающей пластиной по всей поверхности штрих-кода и улучшает читаемость, сокращая вероятность неполного сканирования символа. ITF-14 может быть с видимыми или скрытыми вертикальными опорными полосами.
Размер – два компонента, которые определяют ширину символа штрих-кода ITF-14, являются отношением ширины к узкой части. Это отношение остается постоянным и всегда должно быть в пределах от 2,25:1 до 3:1.
Перейдём к практике - как быстро делать-выводить ITF-14 в своём проекте на .NET в MS Visual Studio? FastReport .NET в помощь! Есть такой объект среди штрих-кодов!
Добавляем на лист Barcode и выбираем именно ITF-14. Штрих-коды 2/5 Interleaved, 2/5 Industrial, 2/5 Matrix тоже Interleaved Two of Five, но это совершенно разные объекты. Подробнее о них можно почитать тут.
Для примера покажу ITF-14 и 2/5 Interleaved. Как видите, разница очевидна.
Далее мы видим большое количество свойств для более тонкой настройки, но остановимся на некоторых конкретных:
"Поворот" (Angle) – Свойство позволяет задать поворот объекта на один из фиксированных углов – 0, 90, 180, 270 градусов.
"Масштаб" (Zoom) – Свойство задает масштабирование штрих-кода. Это свойство используется только вместе со свойством "Авторазмер".
"Авторазмер" (AutoSize) – Если это свойство включено, объект будет растягиваться, чтобы показать штрих-код целиком. Если свойство отключено, штрих-код будет растянут до размеров объекта.
"Показывать текст" (ShowText) – Свойство определяет, надо ли показывать ли текст в нижней части штрих-кода.
"Поле данных" (DataColumn) – Поле данных, из которого загружать текст объекта.
"Выражение" (Expression) – Выражение, которое возвращает текст объекта.
"Текст" (Text) – Текст объекта.
"Отступы" (Padding) – Свойство позволяет задать отступы от краев объекта, в пикселах.
"Ширина полос" (WideBarRatio) – Это свойство имеется у всех линейных штрих-кодов. Оно определяет относительный размер широких полос штрих-кода.
"Контрольная сумма" (CalcCheckSum) – Это свойство имеется у многих линейных штрих-кодов. Оно определяет, надо ли считать контрольную сумму автоматически. Если это свойство отключено, контрольная сумма должна присутствовать в тексте объекта.
"Отображение вертикальных полос" (DrawVerticalBearerBars) – Если это свойство включено, то у объекта будут отображаться боковые линии. Если свойство отключено, то штрих-код будет иметь следующий вид:
Если говорить об этих двух штрих-кодах, то interleaved 2 of 5 - это безразмерная версия ITF-14, ведь в ITF-14 строгое количество символов, а именно 13 + 1 контрольная сумма. Interleaved 2 of 5 тоже может содержать эти 13 символов. Показываю на примере:
Первым стоит ITF-14, а под ним Interleaved 2 of 5. Значения у них закодированы одинаковые и полоски выглядят одинаковыми. Ширина разная из-за стандартов отличных друг от друга. Из этого следует вывод, что если в interleaved 2 of 5 закодировать эти же 13 символов, то получим ITF-14, но без особого оформления для этого стандарта - только лишь одинаковые значения.
Вы можете добавить объект штрих-кода либо в коде пользовательского приложения, когда создаете отчет из кода. Давайте рассмотрим пример создания отчета в коде, и добавление в него штрих-кода ITF-14:
Делаем и выводим штрих-коды ITF-14 в.NET-приложениях | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//Создаем объект отчета Report report = new Report(); //Создаем страницу отчета ReportPage page = new ReportPage(); //добавляем уникальный идентификатор page.CreateUniqueName(); //Добавляем ее в коллекцию страниц отчета report.Pages.Add(page); //Создаем бэнд данные DataBand dataBand = new DataBand(); //с уникальным идентификатором dataBand.CreateUniqueName(); //и добавляем его в коллекцию бэндов page.Bands.Add(dataBand); //Создаем объект штрих-кода FastReport.Barcode.BarcodeObject barcode = new FastReport.Barcode.BarcodeObject(); //Задаем тип штрих-кода barcode.Barcode = new FastReport.Barcode.BarcodeITF14(); //Задаем числовую комбинацию для кодирования barcode.Text = "597861558"; //Размещаем штрих-код на странице barcode.Parent = dataBand; //Устанавливаем размеры объекта barcode.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 3); //Отображаем отчет report.Show(); |
Итак, ITF-14 кодирует исключительно цифры и используется только на коробках, внутри которых есть штучный товар со штрих-кодом EAN/UCC-13. Так, благодаря поддержке ITF-14 и других штрих-кодов, FastReport.NET позволяет создавать полноценные отчеты и этикетки для торговли, логистики и складского учета.