Часто задаваемые вопросы: TBarCode DLL / TBarCode Library
Как использовать Macro 06 в Data Matrix
Как использовать Macro 06 в Data Matrix
Пример: вы хотите закодировать следующие данные в символ Data Matrix размером 26x26 модулей (приведённые ниже данные уже содержат escape-последовательности для GS, RS и EOT):
[)>\x1e06\x1dY2004010400000XY\x1dP13590636\x1d12V688438456\x1dLSYYDDD000000000\x1e\x04
Проблема
Это не помещается в матрицу 26x26. Ёмкость символа 26x26 составляет 88 цифровых или 64 буквенно-цифровых символа. Но здесь у нас смесь буквенно-цифровых, некоторых специальных и непечатаемых символов (GS, RS, EOT) в строке данных. По умолчанию мы не используем режим macro, который также сэкономил бы место.
Решение
Вы можете использовать режим Macro 06, чтобы сэкономить место в символе:
BCSet_DM_Format (pBarCode, eDMPr_Macro06)
После включения Macro 06 задайте данные штрихкода следующим образом (без заголовка и трейлера):
[)>\x1e06\x1d
Y2004010400000XY\x1dP13590636\x1d12V688438456\x1dLSYYDDD000000000
\x1e\x04
Результат: в потоке данных заголовок [)> + RS + 06 + GS и трейлер RS + EOT будут вставлены автоматически сканером штрихкодов (не нужно задавать это в закодированных данных). Это поместится в матрицу 26x26, потому что с Macro 06 кодировщику не требуется столько места / внутренних кодовых слов, сколько без него.