Многие годы штрих-коды использовались как машинно-читаемые идентификаторы предметов. Основная идея специалистов была такова: каждая этикетка содержит уникальный серийный номер, закодированный в виде черных и белых полос; этот номер служит ключом к базе данных, которая содержит подробную информацию. Но многие пользователи нуждались в кодировании большего объема информации. Им требовался штрих-код, выполняющий роль портативной базы данных, а не ключа к ней.

 

Идея создания портативной базы данных начала развиваться в 1984 году, когда Automotive Industry Action Group (AIAG) опубликовала стандарт для маркировки грузов и деталей, содержащий четыре "стековых" ("stacked"- т.е. "поставленные один на другой") штрих-кода Code 39. Эти коды содержали номер (идентификатор) детали, количество, отправителя и серийный номер.

Первый действительно двухмерный код был представлен фирмой Intermec Corporation в 1988 году, когда был анонсирован Code 49.

 

Сегодня для описания этого нового класса символик используются несколько названий: Двунаправленный код (или двухмерный - Two-dimensional code) или 2-D code. Названия стековая символика (stacked symbology) или многорядный код (multi-row code) более точно отражают сущность серии линейных (однонаправленных) штрих-кодов. Данные кодируются в виде нескольких строчек штрихов и пробелов переменной ширины. Название матричный код (Matrix code) применяется для обозначения двухмерных кодов, основанных на расположении черных пятнышек (элементов) внутри матрицы. Каждый черный элемент имеет определенный размер и позиция элемента кодирует данные.

 

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

 

Сегодня разработано много различных символик двухмерных штрих-кодов. В Stimulsoft Reports реализованы два из наиболее популярных кода: PDF417, Datamatrix, QR Code.