В Bitrix есть штатные средства генерации штриховых кодов различных форматов
Разберем парочку популярных: Barcode(TYPE_CODE128) и QR
Пример генерации QR кода
Для примера сгенерирую изображение QR кода с ссылкой на эту статью
Итоговый код:
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
?>
<?php
$message_code = 'https://konyweb.ru/blog/sozdanie-shtrikh-i-qr-kodov-v-1s-bitrix-bus/';
$qr_code = (new \Bitrix\UI\Barcode\Barcode())->type(\Bitrix\UI\Barcode\BarcodeDictionary::TYPE_QR)->render($message_code);
$arFile_qr = array(
'name' => $message_code.'_CodeQr.png',
'content' => $qr_code,
'module_id' => 'ui'
);
$fileIdQr = \CFile::SaveFile($arFile_qr, 'ui');
?>
<img src="<?php=\CFile::GetPath($fileIdQr);?>">
$message_code
- переменная с адресом страницы
$qr_code =
- здесь в переменной сохраняется объект метода \Bitrix\UI\Barcode\Barcode()
.
TYPE_QR
- означает, что мы будем генерировать QR. Здесь можно подставить любой другой формат. Все форматы - https://dev.1c-bitrix.ru/api_d7/bitrix/ui/barcode/introduction.php
Далее я сохраняю файл у себя на сервере в папке /upload/ui и вывожу на экран. В итоге получаю итоговое изображение

Генерация штрих-кода привычного формата
Для генерации штрихкода, например для служб доставок, достаточно просто сменить TYPE_QR
на необходимый, например TYPE_CODE128
$message_code = '1233213'; $bar_code = (new \Bitrix\UI\Barcode\Barcode())->type(\Bitrix\UI\Barcode\BarcodeDictionary::TYPE_CODE128)->render($message_code);
После сохранения файла и вывода на экран получим результат
