В алгоритме указаном по ссылке
1С используются 3 набора символов codeA codeB и codeC, по мне так извращение использовать несколько наборов в одном штрих коде. У меня например штрих код представляет инфу об оплате за комунальные услуги жкх, т.е. есть id жильца, сколько платить, код управляющей компании и т.п. Т.е. поскольку только числовая информация то используется только codeC. Если б требовалось использовать символы A-Za-z то использовал бы codeB. А поскольку в штрих коде зашито какой набор используется (A,B или C) то считыватель считает без проблем (даже если они будут чередоваться).
К чему это я. Я делал следующим образом. Есть база. При запросе печати квитанции для Иванова, брались данные вставлялись в последовательность штрих-кода, рассчитывалась контрольная сумма. Впереди шла инфа (управляющие коды) обозначающая что идет печать штрих-кода. и все. Вся эта последовательность вставлялась в нужном месте шаблона и выталкивалась принтеру. НО эти все махинации я делал для матричного принтера в текстовом режиме. Т.е. Если лазерник у вас, то картинка формируется раньше непосредственой печати штрих-кода. А вот как она формируется я не знаю. О драйвере печати надо наверное почитать.
Алгоритмы вычисления контрольной суммы есть, с этим у вас вроде проблем не должно быть. Вот пример могу свой привести. К примеру нужно запрогать код 45 65 78. В итоге получаем последовательность
27 16 66 9 67 45 65 78 102
где 27 16 66 не помню че обозначают (док. смотреть надо). 9 - типа количество данных (+1 для stop), 67 обозначается последовательность codeC, 65 - codeA, 66 - codeB, 102 - проверочный код (вроде б не ошибся с его вычислением)