CPA-Мастер
Блог о заработке на партнёрских программах в CPA-сетях

Генерация штриховых кодов в Java с помощью Barcode4J

Для одного проекта мне пришлось разобраться со штрихкодами (или баркодами — кому как нравится). В компании уже был реализован механизм печати документов PDF посредством FOP, мне нужно было добавить в определённый документ эти коды.

Существовало техническое ограничение, код должен быть читаем для ручного лазерного сканера Honeywell Voyager 1200g, что изначально исключило использование двумерных кодов как QR Code и DataMatrix. Кодируемые данные были алфавитно-цифрового типа. Выбор был сделан в пользу Code128, штрихкод варьированной длины, позволяющий кодировать цифровые и буквенные символы (подробней на Википедии).

При поисках генератора штрихкодов я достаточно быстро остановился на Barcode4J. Всё что нужно для использования этой бесплатной библиотеки, это указать её в Classpath и вставить XML-код в нужные места (или же вызывать программно, но в моём случае мне не потребовалось этого делать).

<fo:instream-foreign-object>
 	<barcode:barcode xmlns:barcode="http://barcode4j.krysalis.org/ns" 
                message="{$message}" orientation="0">
 		<barcode:code128>
 			<barcode:height>8mm</barcode:height>
 		</barcode:code128>							
    </barcode:barcode>
</fo:instream-foreign-object>

В примере создаётся штрихкод в формате Code128 высотой 8 миллиметров. Кодируется содержание XSL-переменной $message. Существует параметр modul-width, через который можно задать ширину модуля, если при печати линии сливаются так, что сканер не может различить закодированое сообщение. Для более подробнйо информации смотрите оффициальный сайт Barcode4J.

Code 128

Имя домена cpa-master.com, закодированное в Code 128

Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!

Leave a comment

Your email address will not be published.

*