5 ноября 2012

Двухмерные штрихкоды — что это такое и с чем их едят

Что такое двухмерный штрихкод (2d barcode)? Многие считают, что этот синоним «QR-код». Однако, на самом деле, это не совсем так — видов двухмерных штрихкодов намного больше. Именно о них мы и поговорим в этой статье.

Хочу сразу предупредить, что в этот раз текста будет довольно много, а цветных картинок мало. Да и тема довольно специфическая, и будет интересна далеко не всем. Тем более, что недавно на сайте уже была статья Виталия Буздалова про QR коды, где были четко и лаконично описаны все основные моменты — https://android.mobile-review.com/market/10514/

QR-title_1-1

К сожалению, WorldPress не позволяет вставлять видео с youtube в текст статьи (либо я не разобрался как это сделать). Из-за этого пришлось вставлять картинку, при клике на которую откроется само видео.

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

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

ТЕОРИЯ

Все штрихкоды можно разделить на два типа: линейные и двухмерные.

Линейный штрихкод — это код, который читается в одном направлении. Такие штрихкоды очень просты и дешевы в использовании.

Авторами первого линейного штрихкода можно считать Бернарда Сильвера и Джозефа Вудланда. В 1948 они стали случайными свидетелями разговора между президентом крупной сети продуктовых компаний и деканом Института Технологии Университета Дрекселя, которые обсуждали создание системы, автоматически считывающей информацию о продукте.

Идея штрихкода родилась не сразу. Вначале было перепробовано несколько других вариантов, таких как метки, нанесенные ультрафиолетовыми чернилами и др. Но по разным причинам, все эти идеи оказались нежизнеспособны. На идею же самого штрихкода Джозефа Вудланда натолкнула Азбука Морзе. По его словам, он просто расширил точки и тире вниз и сделал из них узкие и широкие линии.

В 1951 году они показали свое изобретение компании IBM, но в ней почитали, что ее реализация потребует слишком сложного оборудования. Отчасти это было правдой — лазерных сканеров тогда еще не существовало и считывать штрихкоды было довольно сложно. Фактически, идея Джозефа и Сильвера опередила свое время более чем на десять лет.

Впервые широкой публике штрихкоды были продемонстрированы лишь в 1971 году на конференции по розничной торговле. Они были нанесены на лотерейные жетоны и состояли не из линий, а из окружностей. В дальнейшим от круглого варианта штрихкодов отказались — при их печати краска часто смазывалась и они становились нечитаемы.

Первый коммерческий формат штрихкода был разработан в 1972 году и получил название UPC — Universal Product Code. С тех пор форматы штрихкод многократно совершенствовались и менялись. На сегодняшний день существует более 300 стандартов штрих-кодирования.

Главный недостаток линейных штрихкодов — малое кол-во кодируемой информации. Именно для преодоления этого недостатка и были разработаны двухмерные штрихкоды.

PDF417

Сайт-генератор — https://barcode.tec-it.com
Программа-сканер — Accusoft Barcode Scanner

PDF417 был разработан компанией Symbol Technologies в 1991 году. Название PDF происходит от «Portable Data File». Число «417» отражает структуру кода — штрихкод имеет длинну в 17 модулей, состоящих из 4-х «штрихов» и «пробелов». По сути, такие блоки являются одномерным штрихкодом.

barcode_pdf417

Теоретически, это должно упростить его считывание и декодирование. И скорее всего, для специальных сканеров именно так оно и есть. А вот с программами-сканерами для мобильных устройств часто бывают проблемы. Во всяком случае, у меня такие коды считываются в лучшем случае через раз. Впрочем, винить тут стоит не сам код, а исключительно программы-сканеры.

Код можно встретить на товарах, документах, билетах. Если не ошибаюсь, именно он используется на билетах АэроЭкспресса. Правда, прочитать его программой-сканером я не смог. Часто его можно увидеть и в мaгазинах, в частности на бутылках с алкогольной продукцией.

pdf417pdf417_ticket

DataMatrix

Сайт-генератор — https://www.qrcc.ru/generator.php
Программа-сканер — Barcode Scanner

Код DataMatrix был изобретен компанией International Data Matrix, которая позже была объединена в Acuity CiMatrix и в 2005 году куплена компанией Siemens. Существенное влияние на разработку кода DataMatrix оказал предшествующий ему многострочный штрих-код PDF-417. В настоящее время Data Matrix описывается соответствующими стандартами ISO. Код может быть использован свободно, без каких либо лицензионных отчислений.

Код представляет собой двухмерную матрицу из черно-белых точек или модулей. В коде должно содержаться четное число таких модулей как по вертикали, так и по горизонтали. DataMatrix код может состоять как из одного, так и из нескольких блоков. В каждом блоке обязательно содержится две сплошные пересекающиеся линии в виде буквы L — так называемый «шаблон поиска», который помогает понять ориентацию кода для считывающего устройства. Две другие стороны блока состоят из чередующихся черных и белых точек, которые указывают считывающему устройству размер кода. Код использует стандарт коррекции ошибок, основанный на алгоритме Рида-Соломона. В случае повреждения кода, это позволит восстановить до 30% полезной информации.

DataMatrix_sample (4)DataMatrix_sample (2)DataMatrix_sample (1)DataMatrix_sample (3)

Главное прeимущество этой разновидности двухмерных кодов — его сверхмалый размер. С помощью DataMatrix можно поместить информацию в 50 символов на площадь размером в два квадратных миллиметра. При этом, код может быть нанесен на поверхность огромным кол-вом способов : это и струйная печать, и гравировка, и лазер и многое другое. Кроме того, у кода есть две возможные формы: квадрат и прямоугольник. Это позволяет еще более эффективно использовать доступную для размещения кода площадь.

Все это делает DataMatix отличным кодом для маркировки малых объектов, например, микросхем. И именно поэтому Data Matrix очень активно применяется в промышленности. В частности, его активно используют такие крупные компании как Intel, AMD, BMW, Mercedes Benz, Siemens, Philips, NASA, Vodaphoone. Во многих странах он также используется для сортировки почты, но как с этим обстоит дело в России я не знаю. Впрочем, потихоньку он начинает появляться и у нас. Например, текущий формат больничного листа предусматривает специальное поле для размещения Data Matrix кода:

«для упрощения процедуры машинной обработки данных из больничного, в левый верхний угол бланка было добавлено поле для впечатывания в него двухмерного штрих-кода в формате Data Matrix, содержащего те же сведения, что и сам листок, причем этот штрих-код нужно иметь возможность впечатывать в заполненный ранее бланк отдельно даже в том случае, если бланк уже был сложен в несколько раз»

информация взята с сайта ФСС. Разумеется, пока наличие такого кода не является обязательным, но в будущем ситуация может и поменяться.

new-b-list

Хотя в промышленности DataMatrix является безусловным фаворитом, в повседневной жизни намного более распространен другой тип двумерного штрихкода — QR-код.

QR-код

Сайт-генератор – https://qrcc.ru/generator.php
Программа-сканер – Barcode Scanner

QR код это еще одна разновидность матричного кода. Его название происходит от английского «Quick Response» — «Быстрый Отклик». Он был создан компанией Denso-Wave в 1994 году в Японии. И именно в Японии он получил наиболее широкое распространение. Согласно данным опросов, в этой стране его использует более половины всех пользователей мобильной связи. В первую очередь это связано с тем, что в отличие от многих конкурентов, он понимает символы каны.

Само название «QR Code» является официально зарегистрированной торговой маркой компании Denso Wave Incorporated. Тем не менее, его использование бесплатно как для физический, так и юридических лиц и не попадает под действия каких либо лицензий.

Размеры кода могут варьироваться в довольно широких пределах : от 11 модулей в версии Micro QR (M1) до 177×177 модулей в Version 40 QR code. Официальных стандартов QR кодов, насколько мне известно, не существует. Ниже приведены примеры QR кодов разных версий, взятых из Википедии.

MicroQR_Example200px-Qr-2.svg200px-Qr-4.svgQr-code-ver-40.svg

Как вы видите, любой QR код содержит несколько обязательных элементов. В первую очередь, это три больших «квадратика», окруженных пустым пространством. Именно по ним программа-сканер определяет позицию кода и корректирует искажение перспективы. Кроме того, код содержит еще один «квадратик» меньшего размера. Он служит для определения ориентации служебных областей. Стоит отметить, что в версии Micro QR используется всего одна метка позиционирования. Как и многие другие штрихкоды, QR код требует свободное пространство вокруг самого кода. Для полной версии кода оно состовляет 4 модуля, для микро версии — два модуля.

Как и в DataMatrix, в QR коде используется метод коррекции ошибок, основанный на алгоритме Рида-Соломона. Это позволяет легко прочитать даже поврежденный или загрязненный QR код. Существует четыре уровня коррекции ошибок. Они отличаются кол-вом информации, доступной для восстановления – L (7%), M (15%), Q (25%), H (30%). Благодаря такому «запасу прочности» можно разместить на QR коде произвольное изображение или текст. И если не будут задеты служебные области, то код все равно останется читаемым. Правда, стоит понимать, что в этом случае дальнейшая возможность коррекции ошибок сильно падает. QR_Code_Structure_Example_2.svg

Подробнее про разметку QR кодов можно прочитать на сайте анг. Википедии. Кроме того, на habrahabr.ru есть статья о том, как можно вручную прочитать QR код

У QR кодов довольно много применений. В первую очередь, они очень активно используются в рекламе и маркетинге. Начиная от банальной ссылки на рекламный ролик, размещенной на рекламном щите и заканчивая целыми интерактивными стендами. Например, на видео ниже вы видите стенд компании Tesco, размешенный в метро Южной Кореи.

youtube-3

С помощью мобильного телефона, люди могут на ходу заказать нужный товар, который будет доставлен им курьером как раз к моменту их приезда домой. Такие интерактивные стенды позволили компании увеличить прибыль от доставки товаров на 130%

А на фотографии ниже представлена реклама купальников Victoria’s Secret в Америке. Самое интересное заключается в том, что самих купальников на билбордах как раз нет. Есть только сама  модель и QR код, сосканировав который можно увидеть альтернативный вариант плаката. С остальными фотографиями вы сможете ознакомиться на сайте первоисточника — https://ibigdan.livejournal.com/9908100.html

Reklama-s-QR

Интересно, насколько возросли продажи? =)

Не менее широко распространены QR коды и в туризме. Например, QR коды все чаще стали размещать на туристических объектах. В самом простом случае, такой код будет содержать короткую справку об объекте на разных языках или ссылку на Wikipedia. Но есть и более интересные варианты — например, прочитав QR код, вы сможете увидеть, как выглядел этот объект 100 лет назад. В качестве примера можно привести город Львов, где QR кодами отмечено более сотни туристических объектов. Информация есть, например, на этом сайте Аналогичные решения очень часто применяются и в музеях. Один клик — и вы находитесь на веб странице, содержащей всю информацию о заинтересовавшем вас экспонате.

Отдельно хочу отметить одно очень оригинальное решение, при котором сканируя один и тот же QR код, каждый пользователь автоматически попадет на статью именно на своем родном языке. Это стало возможно благодаря проекту QRpedia. Подробнее о нем можно прочесть тут:  https://ru.wikipedia.org/wiki/QRpedia

С QR кодами можно все чаще встретиться и при оформлении билетов. В этом году и в России и в Украине собирались ввести QR коды на железнодорожных билетах. Это даст возможность заказать билет через интернет и просто распечатать QR код (или просто открыть его на экране мобильного телефона) для прохода через турникет или для предъявления проводнику. К сожалению, не знаю, работает ли уже такая система в РЖД, но точно могу сказать, что именно так обстоят дела в АэроЭкспрессе. На заказ билета через интернет я потратил несколько минут, после чего не пришлось даже его печатать – турникет успешно считал код с экрана телефона. Правда, код там используется не QR, а скорее PDF417.

pdf417_ticket

Применений QR кодов сотни, они все чаще начинают проникать в нашу повседневную жизнь. Например, буквально на днях впервые «вживую» увидел визитку с QR кодом. И это оказалась действительно очень удобная штука, которая избавляет от необходимости вбивать все данные контакта вручную. Достаточно сосканировать QR код, и все данные контакта в вашем телефоне: имя, фамилия, компания, должность, e-mail, рабочие и мобильные телефоны. Не знаю, насколько такие визитки приживутся, но, на мой взгляд, идея отличная. Разумеется, на этом идеи использования QR кодов не заканчиваются. Есть масса других вариантов — татуировки с QR кодом, содержащим ссылку на страничку в соц. сети, брелоки с QR кодом, в котором зашифрованы имя и телефон владельца, QR код со ссылкой на аудио поздравление на подарке… Хорошо проиллюстрировано применение QR кодов в статье Виталия Буздалова.

QR_sample (2)QR_sample (4)QR_sample (3)QR_sample (1)

Двумерный код данного формата начинает применяться и в Сбербанке (Источник — https://www.arendamest.ru/qr-kod-v-terminalach-sberbanka)

Почему он стал столь популярен на фоне уже довольно распространенного Data Matrix? Точного ответа на этот вопрос я не знаю, но мне кажется, что дело главным образом в его узнаваемости. В отличие от несколько безликого Data Matrix, он имеет свое лицо, интереснее выглядит, на него проще обратить внимание потенциальных пользователей. Учитывая, что чаще всего он применяется в маркетинге, это оказалось весьма важно. А сильные стороны Data Matrix (меньший размер, стандарт ISO ) здесь наоборот, практически не имеют значения.

Напоследок приведу данные опроса, проведенного в 2012 году компаниями J’son&Partners Consulting, SMARTEST и WapStart в России. Согласно ему, треть респондентов (33%) информированы о QR-кодах — они знают и понимают, как можно использовать эту технологию. 59% не знают о QR-кодах, а 8% неправильно информированы (ошибаются в знании технологии). 23% пользователей уже сканировали своим телефоном QR-коды, причем почти половина из них (48%) делают это постоянно или проводили такие манипуляции много раз. Большая часть пользователей QR-кодов (84%) переходила после их считывания на веб-сайт; третья часть (33%) смогла считать контактные данные человека и сохранить их на телефон; 28% получали рекламу; 21% — другой контент (музыку, картинки, презентации и пр.) и 8% — видео. Только 6% указали, что QR-технология помогла им зарегистрироваться на рейс или мероприятие.

Как мы видим, хотя в России QR коды пока распространены не так сильно, как во многих других странах, но, тем не менее, они постепенно становятся популярны и у нас.

Aztec Code

Сайт-генератор — https://barcode.tec-it.com/
Программа-сканер — Accusoft Barcode Scanner

Еще один тип 2D штрихкода, внешне чем-то похожий на QR-код. Он был разработан в 1995 году доктором Andrew Longacre из компании Welch Allyn. Основная идея состояла в том, чтобы взять все лучшее, что есть в других существующих на тот момент кодах (Data Matrix, PDF417, MaxiCode и др.) и дополнить своими наработками. Код был запатентован и опубликован компанией AIM International через два года после окончания разработки. Хотя данный код и был запатентован, позже он был передан в общественное достояние. barcode_aztec
240px-Aztec_Code_Scheme Структура кода состоит из следующих элементов: «мишень» , элементы ориентации, решетка привязки, слои данных. Программа сканер опознает код по наличию «мишени», определяет ее центр и углы. Далее программа вычисляет расстояние между углами мишени и их углы наклона. По этим данным вычисляется угол наклона и поворот кода относительно камеры телефона. Стоит отметить, что код может быть распознан не только при больших искажениях от угла наклона и ориентации камеры, но даже при зеркальном отражении.

Подробнее с алгоритмом декодирования Aztec Code можно ознакомиться на сайте odamis.ru по следующей ссылке.  Как и в случае QR кода, у Aztec существует своя компактная версия.

Как и DataMatrix, Aztec код возможно применять там, где площадь для нанесения кода сильно ограничена. В первую очередь это обусловлено тем, что он не требует свободного места вокруг кода. Но, в отличие от DataMatrix, Aztec код может быть только квадратным. Сторона квадрата содержит от 15 до 151 модуля. Код может объединяться в блоки. Разумеется, как и остальные типы кодов, Aztec код поддерживает коррекцию данных по принципу Рида-Соломона. При этом он позволяет настроить избыточность данных от 5% до 95%.

Во многих странах данный код используется железнодорожными компаниями в электронных билетах. Кроме того, он был выбран международной ассоциацией воздушного транспорта для электронных билетов. В частности, по информации Википедии, он используется на электронных билетах Российской авиакомпании S7 Airlines. Ниже приведу цитату с офф. сайта s7.ru :

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

К сожалению, тип 2D штрихкода в этом сообщении не указан, но думаю, что Википедия не ошиблась.

Microsoft tag (High Capacity Color Barcode — HCCB)

Сайт-генератор — https://tag.microsoft.com
Программа-сканер — Microsoft Tag

Данный штрихкод был специально разработан компанией Microsoft для мобильных фотокамер. Это дает ряд преимуществ при сканировании и декодировании кода. Например, код удастся расшифровать, даже если он оказывается не в фокусе, что весьма актуально для простеньких телефонных камер без автофокуса.

lightexamples

Microsoft Tag довольно сильно отличается от большинства своих собратьев. Первое, что сразу бросается в глаза: в отличие от QR, Data Matrix и других монохромных кодов, он может быть цветным. Помимо белого используется еще три цвета: Yellow, Magenta, Cyan. Такой выбор цветов позволяет избежать ошибок декодирования из-за плохой цветопередачи CMYK принтера. Дополнительные цвета позволяют «впихнуть» в код больше информации не меняя его размер. Тем не менее, у штрихкода существует и черно-белый вариант.

Microsoft_Tag_-_Wikipedia_20095299188

Второе, не менее важное отличие: в штрихкоде содержатся не сами данные, а только ссылка на них (13 байт + 1 контрольный). Сами же данные хранятся на сервере Microsoft. Очевидный минус такого решения состоит в том, что без доступа в интернет воспользоваться таким кодом невозможно. С другой стороны, это дает и дополнительные возможности: можно в любой момент отредактировать «привязанную» к коду информацию, можно узнать кол-во считываний кода, можно установить срок действия кода.

Кроме того, у Microsoft Tag есть огромные возможности кастомизации. В штрихкоде этого формата вся информация закодирована в цветных точках в центрах треугольников. Все остальное поле может быть каким угодно. Это позволяет сделать штрих код действительно уникальным. Главное не перестараться, иначе кроме вас никто вообще не поймет, что это штрихкод.

ig_custom_tags . . . . . . LoescherTag_150x150

Microsoft Tag распространен намного меньше, чем его аналоги. Тем не менее, кое-где он постепенно начинает входить в обиход. Например, в Татарстане, если верить новостям, правительство обязало владельцев туристических и спортивных объектов Универсиады размещать такие штрихкоды для доступа к соответствующим сайтам интернета. Новость проскальзывала, в частности, на этом сайте. Кроме того, с помощью таких же кодов можно оплачивать и гос. услуги.

У меня эта технология оставила смешанное чувство. Когда упоминание о Microsoft Tag впервые попалось мне на глаза, я отмахнулся от него, не вникая в детали. Штрихкод, для декодирования которого нужен доступ к интернету? Это не для Российских реалий. Да и напечатать цветной код сложнее, чем черно-белый. Изначально мне казалось, что при таких недостатках все плюсы этого кода уже не имеют значения. Но давайте на минуту задумаемся, какая именно информация чаще всего закодирована в 2D штрихкоде? В большинстве случаев, это ссылка на ресурс в интернете. Это может быть что угодно : сайт компании, рекламный ролик, статья об историческом объекте, но в любом случае, без доступа в интернет эта ссылка не имеет никакой практической ценности. И вот тут уже Microsoft Tag смотрится очень выигрышным вариантом. Информацию можно в любой момент поменять или обновить не меняя сам код, собрать статистику просмотров и пр. Потенциал у Microsoft Tag, безусловно, есть, но сможет ли Microsoft его реализовать — вопрос открытый.

Взгляд вперед

Вначале появились линейные штрихкоды. Затем двухмерные. Что может ждать нас в будущем?

Весьма интересной выглядит идея компании MIT Media Lab — bokode. Название произошло от слов bokeh и barcode. Прототип был показан еще в 2009 году. Диаметр метки данного кода составлял всего несколько квадратных миллиметров. Сама метка состоит из светодиода, на который накладывается специальная маска и особой линзы. Информация поступает на считывающее устройства в виде потоков света, проходящих через маску на светодиоде.
Такой код способен передавать в тысячи раз больше информации, чем линейные штрихкоды. Кроме того, его можно считать с расстояния в несколько метров (теоретический предел — 20 метров).
Более подробную информацию можно найти на сайте BBC или посмотрев видео от самой MIT Media Lab :

youtube-2

ПРАКТИКА

Сайт-генератор https://qrcc.ru

Один из популярных генераторов 2D штрихкодов. Позволяет создавать коды QR, Micro QR и DataMatrix. Интерфейс сайта интуитивно понятен, и я думаю, что нет смысла останавливаться на нем подробно. Вверху можно выбрать тип кода. В левой колонке — указать тип содержания. Внизу можно выбрать дополнительные параметры: иконку, которая будет отображаться на коде, текст над и под кодом, цвета текста и самого кода.

qrcc_1

В отличие от многих подобных сайтов, qrcc.ru поддерживает большое кол-во разных типов данных. Разумеется, данные любого типа можно просто закодировать как обычный текст. Но в этом случае смартфон не сможет автоматически распознать их тип и понять, что с ними делать. В качестве примера приведу два кода с одинаковым текстом.

QR_type (1) QR_type (2)

Как вы видите, в первом случае программа — сканер предлагает позвонить по этому номеру или сохранить его в телефонной книге. Во втором случае, программа не воспринимает этот набор цифр как номер и предлагает стандартный набор действий: поиск этих данных в интернете либо «поделиться» данными через электронную почту или смс. Впрочем, возможно это зависит еще и от самой программы.

Сайт позволяет сгенерировать данные следующих типов:
Визитка (VCARD) — после сканирования кода у пользователя будет возможность в один клик создать контакт со всеми данными в телефонной книге.

Адрес сайта (URL) — у пользователя будет три варианта: перейти на сайт либо поделиться ссылкой через смс и электронную почту. По сути , тут нет никаких отличий от стандартного типа данных (произвольный текст). Единственным преимуществом является возможность создать «короткую ссылку» при генерации кода.

Произвольный текст — просто набор данных, программа-сканер будет реагировать на него стандартным образом

Телефонный звонок — после сканирования кода, программа предложит сохранить введенный вами номер в адресной книге либо позвонить на него.

СМС-сообщение — программа-сканер предложит пользователю отправить заданный им текст, указанный им номер в виде смс или ммс сообщения

Координаты Google Maps — позволяет вам выбрать на карте определенную точку и закодировать ее местоположение в 2D штрихкод. Сами данные по сути являются обычной ссылкой на Google Maps. Пользователю предложат перейти по ссылке, либо поделиться ей. При переходе по ссылке, сам смартфон предлагает открыть ее в браузере либо Google Maps (зависит от настроек смартфона).

E-mail адрес — пользователь сможет либо отправить по этому адресу письмо, либо добавить его в телефонную книгу. Тоже самое будет, если закодировать e-mail адрес и обычным способом, как «произвольный текст».

E-mail сообщение — содержит поля «E-mail получателя», «Тема» и «Текст». Предлагает пользователю отправить введенное им сообщение на соответствующий адрес.

Запланированное событие(VCALENDAR) — позволяет ввести название, начало и конец события. При сканировании такого кода будет возможность импортировать данное событие в календарь.

WI-FI — позволяет ввести SSID сети, пароль и тип шифрования. После сканирования такого кода, смартфон предложит вам подключиться к этой сети.

Сайт-генератор https://barcode.tec-it.com

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

barcode_tec-it

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

1D коды. Сюда входят 12 типов линейных штрихкодов, такие как Code-128, Code-11 и другие. У каждого кода указывается допустимый тип данных (только цифры, полный набор ASCII и пр.). Открыв раздел «дополнительные опции штрихкода» можно настроить такие параметры, как цвет кода, ориентация, зона молчания (место вокруг штрих кода).

2D коды. Сюда входят такие коды как QR, DataMatrix, Aztec, Codablock-F, PDF417, MaxiCode, MicroPDF417, Micro QR. Настройки кода аналогичны прошлой категории, но в «дополнительных параметрах» добавилась опция «корректировка ошибок» (пока поддерживается только QR кодом). Она позволяет вручную указать уровень коррекции — L, M, Q, H

Мобильный Тэг — как и https://qrcc.ru , позволяет создавать коды для мобильных телефонов, с разными типами данных. Позволяет создавать коды трех типов — QR, DataMatrix, Aztec. Поддерживает несколько новых типов кодов, такие как отправка твита, «лайк» в Facebook, поиск приложения в AndroidMarket и другие.

Далее идет еще множество различных категорий линейных кодов: UAN \ UPC (ипользуются на товарах в магазинах), ISBN (книги и другая печатная продукция), почтовые коды, др. В конце списка представлены «Визитки» (поддерживается QR и DataMatrix), «События» (тоже QR и DataMatrix), WI-FI коды (QR и DataMatrix) — в этих пунктах все аналогично qrcc.ru

Сайт-генератор https://tag.microsoft.com

tag.microsoft.com заметно отличается от прошлых рассмотренных нами ресурсов. И в первую очередь, это связанно с особенностями формата Microsoft Tag. На самом сайте содержится масса справочного материала как по особенностям этого формата кода, так и по работе с самим генератором. К сожалению, информация доступна только на английском.

Для работы с сайтом требуется Microsoft account. Если у вас его нет — придется регистрироваться. Далее заходим в «My Tag» — «Tag manager». Для создания новой метки, выбираем «Create a tag» в левом верхнем углу менеджера.

MT_6_5

Tag Title — имя метки, которое будет отображаться под самим штрихкодом в «истории» программы сканера

Tag Tipe — тип метки. Поддерживаются метки следующих типов: URL (ссылка), App Download (загрузка приложения, позволяет задать для каждой платформы отдельные ссылки на скачивание), Free Text (произвольный текст, до 1000 знаков), vCard (можно как загрузить готовую vCard, так и внести данные контакта вручную), Dialer (ввод телефонного номера)

Tag Notes — описание метки, длинной до 200 символов. Описание отображается только на сайте в самом в самом менеджере. Пользователь его не увидит.

Upload Thumbnail — загрузка эскиза метки, рекомендованный размер — 200 x 200, форматы JPEG, GIF, PNG

Start Date — дата, с которой метка начнет работать

End Date — дата окончания работы метки. Можно выбрать вариант «No End Date»

Поле для ввода данных — зависит от выбранного вами типа метки.

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

Перед загрузкой метки необходимо выбрать формат ее кодирования. Доступные варианты: Tag Barcode (стандартный Microsoft Tag с рисунком в виде треугольников), Custom Tag Barcode (Microsoft Tag, на который нанесены только сами точки, в которых кодируется информация), QR Code, NFC URL. Здесь же можно выбрать формат файла и сам размер кода. В случае использования Microsoft Tag можно выбрать его монохромный вариант.

При сканировании QR кода обычной программой-сканером отобразится просто ссылка вида tagr.com/xxx. Для получения доступа к самой информации, необходимо открыть ее в браузере. При сканировании кода «родной» программой Microsoft Tag данные загрузятся с сервера MS автоматически. При этом будет отображена и дополнительная информация, такая как название метки, картинка метки в «истории» и пр. В общем и целом, использования QR кода в данном случае совершенно нецелесообразно.

Подробнее о сканировании кодов Microsoft Tag можно будет прочесть в описании самого сканера. Скажу только пару слов про формат Custom Tag Barcode. Как я уже писал, формат Microsoft Tag имеет огромный потенциал кастомизации. Фактически, код можно перекрашивать как угодно, главное не менять цвет точек, несущих информацию и не залезать на служебные области. При этом сами точки могут являться частью рисунка, их не требуется как-то выделять из окружающего их фона.

BeforeAfterCustomTags_356x160

Проще всего открыть скаченный файл в Photoshop или любом другом редакторе, умеющем работать со слоями. Сам слой с точками не трогаем, под ним просто создаем еще один и делаем с ним все, что хотим. Более подробно ознакомиться с кастомизацией Microsoft Tag можно по следующей ссылке (англ.)

Программы сканеры

Barcode Scanner

Поддерживаемые форматы 2D кодов: QR, DataMatrix
Программа бесплатна. Имеет платную версию с поддержкой дополнительных форматов.

Начать хотел бы с классики жанра — программы Barcode Scanner (Zxing от Google).
Кто-то считает этот сканер слишком простым, но лично мне он очень нравится. В программе есть все, что нужно для выполнения ее основной функции и никаких лишних «наворотов». Этакий Linux way. Кому-то такой подход нравится, кому-то нет.

Обзор программы на Android.MR уже есть — https://android.mobile-review.com/market/87/ Отмечу только то, что программа умеет не только сканировать коды, но и генерировать их. Все происходит предельно просто и быстро. Например, содержимое буфера можно перевести в QR код буквально в один клик. Зачем это нужно? Например, быстро поделиться контактом, длинной ссылкой, координатами в Google Maps и пр. Один человек выводи QR код на экран своего телефона, другой считывает его. Получается некий аналог Android Beam, который не требует поддержки NFC. Которая пока встречается далеко не в каждом аппарате.

Accusoft Barcode Scanner

Поддерживаемые форматы 2D кодов: QR, DataMatrix, Aztec и PDF417

Как показала практика, многие сканеры в Play.Market сделаны на основе Barcode Scanner, а вернее Zxing от Google — https://code.google.com/p/zxing/wiki/GetTheReader . Поэтому, они в большинстве своем имеют очень похожий интерфейс и функционал. В качестве примера можно привести программу Accusoft Barcode Scanner, которая по сути является клоном Barcode Scanner. Главное отличие — дополнительная поддержка кодов Aztec и PDF417

QR Droid

Именно эта программа упоминалась в недавней статье Виталия Буздалова. Она также использует библиотеки Zxing, но обладает большим функционалом. К примеру, есть возможность предпросмотра ссылки, редактирования смс из самой программы, назначать действия по умолчанию для разных типов кодов и пр.

Screenshot_2012-11-03-17-10-03

Нужно это или нет, каждый решает для себя сам. Кроме того, в программе есть довольно функциональный генератор кодов.

Screenshot_2012-11-03-17-25-40 Screenshot_2012-11-03-17-25-45

Кроме стандартных действий по генерации и чтению кодов, программа предлагает и ряд других полезных функций. Например, через нее можно быстро создать короткую ссылку. Это может быть весьма полезно для того, чтобы избежать излишнего «раздувания» QR кода. Кроме того, у вас всегда будет возможность посмотреть статистику переходов по такой ссылке. Еще один пример: можно загрузить изображение в интернет и сразу же сгенерировать на него ссылку в виде QR кода.

Microsoft Tag

Сканер, в первую очередь рассчитанный на работу с Microsoft Tag и QR кодами с сайта tag.microsoft.com . С обычными QR кодами программа работает значительно хуже. В качестве примера можно посмотреть на следующий скриншот, где показан результат декодирования QR кода типа «смс».

sms_fail

В то время, как обычный сканер предлагает отправить смску, сканер Microsoft Tag выводит просто весь набор закодированных данных.

В верхней части окна программы находится кнопка «Scan», в центре — список меток истории сканирования. Метки представлены в виде иконок, которые были назначены автором кода. Тут же отображается и название метки. Обычные QR коды, которые не имеют названия и иконки, в списке не отображаются. Разумеется, метки из списка истории можно открывать повторно.

Screenshot_2012-11-03-18-17-39

На скриншоте ниже приведет результат сканирования кодов с закодированным текстом и с закодированной ссылкой на Android.MR

Screenshot_2012-11-03-19-02-18 Screenshot_2012-11-06-00-03-28

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

Выводы

Разумеется, рассказать о всех видах штрихкодов, программ для их чтения и ресурсах в рамках одной статьи невозможно. Поэтому, я упомянул только про некоторые из них, которые на мой взгляд, являются самыми актуальными.

В комментариях к прошлой статье про QR коды некоторые читатели высказывали мнение, что из-за появления NFC, двухмерные штрихкоды скоро исчезнут. Мне кажется, что этого не случится. Это две разные технологии, применение которых пересекается лишь частично. NFC удобнее для передачи информации. Иногда он используется для этого напрямую, иногда применяется только для установки соединения по более быстрому протоколу. Но вот напечатать NFC метку в домашних условиях еще очень долгое время будет проблематично. Из-за этого NFC врядли будет применяться, скажем, на электронных билетах. Да и размещать на объявлениях бесперспективно — чтобы считать ее, каждый будет вынужден подходить к такому объявлению вплотную, что не всегда возможно. Разумеется, при желании можно придумать и реализовать любой сценарий. Вопрос только в том, стоит ли ?

Читайте также

18 комментариев на «“Двухмерные штрихкоды — что это такое и с чем их едят”»

  1. Виталий Буздалов:

    +1
    фундаментальненько… )

  2. Dell:

    утром прочитаю =) щас спать пойду

  3. Fedot:

    Google Goggles тоже умеет штрихкоды читать

    • TimeS:

      Умеет, как и еще многие другие программы. Но функционал по части работы с штрихкодами у Google Goggles меньше чем у Barcode Scanner и его аналогов. Кроме того, оно не всегда корректно работает с кодами а-ля «отправить смс xxx на номер yyy». Поэтому я не стал отдельно описывать это приложение в статье.

    • TimeS:

      Угу, вот только у меня оно почему то не работает =) А вас получилось?

  4. noname1x:

    Лично я использую Goggles =))

  5. Denis:

    Вот дебилизм какой-то, вроде приличный сайт, а до сих пор не научились публиковать статьи в RSS, уже несколько раз просил, чтобы, как у всех нормальных сайтов, в RSS публиковался только заголовок и шапка статьи, так нет, тут публикую в ленту ВСЮ статью. Бред, сидишь и крутишь простыню в километр, которую не очень то и хотел читать.

    • TimeS:

      А вы не пробовали писать об этом не в комментариях к статье, а ответственному лицу? Сверху нажмите «О сайте», там будут все необходимые контакты. Как вы понимаете, у меня возможности что-то исправить, не больше чем у вас.

  6. Mr. Shnibley:

    «Аффтар, многабукаф, ниасилил»

    А если серьезно, то весьма познавательно. Вот только размер вас подводит, большинство действительно не осилит.

  7. Kjh:

    Отличный материал. Автор — молодец. Неделя работы, похоже.

  8. Константин Маи:

    Очень познавательная статья. Но я уже прошел через этот путь. Эти программы, действительно, хороши. Перерыв весь маркет, я остановился именно на них. Вы сделали очень грамотную подборку. Статья получилась интересная за счет вкраплений исторических фактов и Ваших рассуждений («авторская изюминка»). Жаль, что не все статьи такие, как будто вместо людей их боты пишут. Автору большое спасибо!

  9. Дмитрий:

    Добрый день.
    подскажите а есть программы которые генерируют сразу 500-600 кодов?