Штрих-код DataMatrix разработан фирмой CiMatrix для размещения большого объема информации на ограниченной площади поверхности. В этом штрих-коде может быть закодирован текст или любая другая информация, от нескольких байт до нескольких килобайт. Допустимая длина данных зависит от выбранного размера штрих-кода (количества строк и столбцов). Физические размеры штрих-кода могут меняться в больших пределах: значение модуля штрих-кода может изменяться от 1 mil до 14 inch (14000 mil). Наиболее популярными применениями для Datamatrix является маркировка небольших предметов, таких как электронные элементы и печатные платы электронных приборов. Каждый DataMatrix состоит из двух сплошных смежных границ в форме «L» (называемых «шаблоном поиска») и двух других границ, состоящих из чередующихся темных и светлых «ячеек» или модулей (называемых «шаблоном синхронизации»). Размеры символов варьируются от 8 × 8 до 144 × 144. DataMatrix используется для маркировки небольших товаров.

 

Для совместимости штрих-кода DataMatrix с GS1, необходимо:
strel11 Cвойство Обрабатывать Tilde (Process Tilde) установить в значение true;

strel11 В поле Код (Code) штрих-кода, добавить префикс ~FNC1. Например, выражение будет следующего вида: ~FNC1{your_datasource.field_name}.

 

Символы DataMatrix имеют прямоугольную форму и обычно квадратную, они состоят из ячеек: маленьких элементов, которые представляют отдельные биты.

 

Штрих-код содержит коды коррекции ошибки: даже если штрих-код частично поврежден, он все равно может быть считан. Существуют две основных версии этого штрих-кода. Первая использует свернутое кодирование для коррекции ошибок; это первые версии кода Datamatrix, эти версии описаны как ECC-000.. ECC-140. Вторая версия штрих-кода описана как ECC-200, использует метод коррекции ошибок Рида-Соломона (Reed-Solomon) и всегда содержат четное число элементов по каждой из сторон. В Stimulsoft Reports реализована только вторая версия штрих-кода, и дальнейшее описание приводится только для этой версии.

 

Штрих-код состоит из черных и белых квадратных элементов, объединенных в квадратные или прямоугольные регионы. Каждый регион имеет измерительные линейки, которые выглядят, как сплошная линия по одному краю символа (слева и снизу) и равномерно расположенные квадратные элементы по другому краю (сверху и справа). Эти линейки используются для определения ориентации и плотности кода. Если данные не помещаются в один регион, то используются несколько регионов, которые добавляются по вертикали и горизонтали. Общий размер штрих-кода может быть от 8×8 до 144×144 элементов. Все допустимые (правильные) комбинации размеров фиксированы и приведены в таблице:

 

Размеры штрих-кода

Длина данных, байт

Размеры штрих-кода

Длина данных, байт

10 × 10

3

32 × 32

62

12 × 12

5

36 × 36

86

8 × 18

5

40 × 40

114

14 × 14

8

44 × 44

144

8 × 32

10

48 × 48

174

16 × 16

12

52 × 52

204

12 × 26

16

64 × 64

280

18 × 18

18

72 × 72

368

20 × 20

22

80 × 80

456

12 × 36

22

88 × 88

576

22 × 22

30

96 × 96

696

16 × 36

32

104 × 104

816

24 × 24

36

120 × 120

1050

26 × 26

44

132 × 132

1304

16 × 48

49

144 × 144

1558

 

 

Необходимый размер штрих-кода задается с помощью свойства "MatrixSize". Если указать конкретный размер, то получится штрих-код фиксированного размера. Если установить свойство в "Automatic" (по умолчанию), то из списка размеров автоматически будет выбираться минимальный необходимый размер, достаточный для кодирования данных. Среди допустимых размеров присутствуют шесть размеров штрих-кода прямоугольной формы. Если в режиме "Automatic" требуется получать штрих-коды только квадратной формы, то свойство "UseRectangularSymbols" должно быть установлено в false (по умолчанию). Если это свойство установлено в true, то используются и квадратные, и прямоугольные формы. В зависимости от типа кодируемой информации можно выбрать разные режимы кодирования данных. Каждый режим позволяет кодировать свой набор символов и имеет свою степенью сжатия.

 

Режим кодирования

Допустимые символы

Бит на символ

ASCII

ASCII character 0 to 127

ASCII character 128 to 255

ASCII numeric

8

16

4

C40

Upper-case alphanumeric

Lower-case letters and punctuation

5,33

10,66

TEXT

Lower-case alphanumeric

Upper-case letters and punctuation

5,33

10,66

X12

ANSI X12

5,33

EDIFACT

ASCII character 32 to 94

6

BASE 256

ASCII character 0 to 255

8

 

 

Самый универсальный режим кодирования - Ascii (по умолчанию). Он позволяет кодировать любые символы, при этом пары цифр сжимаются лучше всего, а символы Ascii values (128-255) - хуже всего. Для кодирования Upper-case alphanumeric лучше всего подходят режимы С40, X12, Edifact, для кодирования Lower-case alphanumeric - Text. Режим Base позволяет закодировать любые байты с одинаковой степенью сжатия.

 

 

Штрих-код "DataMatrix". Строка данных "1234567890ABCDEF"