phpsoftbox/barcode
Composer 安装命令:
composer require phpsoftbox/barcode
包简介
Barcode and QR generation component for the PhpSoftBox framework
README 文档
README
Компонент генерации 1D/2D кодов для PhpSoftBox.
Что поддерживается
- EAN-13 (встроенные SVG/PNG генераторы);
- QR (встроенный генератор, форматы SVG/PNG);
- DataMatrix (встроенный генератор, форматы SVG/PNG);
- роутинг генерации через цепочку
BarcodeGeneratorChain.
Текущие ограничения первой итерации:
- QR: уровни коррекции
MиH, версии до10; - DataMatrix: ECC200 single-region символы (от
10x10до26x26).
Базовое использование
use PhpSoftBox\Barcode\BarcodeGeneratorChain; use PhpSoftBox\Barcode\BarcodeOptions; use PhpSoftBox\Barcode\BarcodeOutputFormat; use PhpSoftBox\Barcode\BarcodeType; use PhpSoftBox\Barcode\Generator\DataMatrixGenerator; use PhpSoftBox\Barcode\Generator\Ean13PngGenerator; use PhpSoftBox\Barcode\Generator\Ean13SvgGenerator; use PhpSoftBox\Barcode\Generator\QrGenerator; use PhpSoftBox\Barcode\QrErrorCorrectionLevel; use PhpSoftBox\Barcode\QrLogoOptions; $generator = new BarcodeGeneratorChain([ new Ean13SvgGenerator(), new Ean13PngGenerator(), new QrGenerator(), new DataMatrixGenerator(), ]); $ean = $generator->generate( data: '460123456789', type: BarcodeType::Ean13, // вернет PNG options: new BarcodeOptions(format: BarcodeOutputFormat::Png), ); $eanSvg = $generator->generate( data: '460123456789', type: BarcodeType::Ean13, // вернет SVG options: new BarcodeOptions(format: BarcodeOutputFormat::Svg), ); $qr = $generator->generate( data: 'P1-R1-C1', type: BarcodeType::Qr, // QR с логотипом в центре options: new BarcodeOptions( format: BarcodeOutputFormat::Svg, height: 256, qrErrorCorrection: QrErrorCorrectionLevel::H, qrLogo: new QrLogoOptions( path: __DIR__ . '/logo.png', sizeRatio: 0.18, padding: 6, backgroundColor: '#F3F4F6', borderColor: '#111827', borderWidth: 2, cornerRadius: 10, ), ), ); $dm = $generator->generate( data: 'DM-460123456789', type: BarcodeType::DataMatrix, options: new BarcodeOptions(format: BarcodeOutputFormat::Svg, height: 256), );
EAN-13
Ean13::normalize():
- принимает 12 цифр и автоматически рассчитывает контрольную цифру;
- принимает 13 цифр и проверяет корректность контрольной цифры;
- бросает исключение при некорректном формате/чексумме.
QR с логотипом
- при
qrLogoгенератор автоматически использует уровень коррекцииH; QrLogoOptionsподдерживает настройку размера/паддинга и стиля зоны под логотип:backgroundColor,borderColor,borderWidth,cornerRadius.
Тестовые артефакты
- перед запуском PHPUnit папка
local/tests/barcodeочищается автоматически; - генерационные тесты сохраняют SVG/PNG артефакты в
local/tests/barcode; - при необходимости сохранение артефактов можно отключить:
BARCODE_TEST_SAVE_ARTIFACTS=0 vendor/bin/phpunit.
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-10