nowo-tech / barcode-input-bundle
Symfony Barcode FormType with camera scanner and hardware wedge support.
Package info
github.com/nowo-tech/BarcodeInputBundle
Language:Shell
Type:symfony-bundle
pkg:composer/nowo-tech/barcode-input-bundle
Fund package maintenance!
v1.0.0
2026-08-27 10:20 UTC
Requires
- php: >=8.2 <8.6
- symfony/config: ^6.0 || ^7.0 || ^8.0
- symfony/dependency-injection: ^6.0 || ^7.0 || ^8.0
- symfony/form: ^6.0 || ^7.0 || ^8.0
- symfony/framework-bundle: ^6.0 || ^7.0 || ^8.0
- symfony/http-kernel: ^6.0 || ^7.0 || ^8.0
- symfony/twig-bundle: ^6.0 || ^7.0 || ^8.0
- twig/extra-bundle: ^3.12
- twig/string-extra: ^3.12
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- nowo-tech/phpstan-frankenphp: ^1.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^11.0
- rector/rector: ^2.0
- symfony/browser-kit: ^6.0 || ^7.0 || ^8.0
- symfony/dom-crawler: ^6.0 || ^7.0 || ^8.0
- symfony/yaml: ^6.0 || ^7.0 || ^8.0
- vincentlanglet/twig-cs-fixer: ^4.0
This package is auto-updated.
Last update: 2026-08-27 12:49:13 UTC
README
Star Found this useful? Install it from Packagist and support the project on GitHub.
Symfony FormType for barcode capture with optional camera scanning (ZXing) and hardware wedge scanner support.
This bundle is FrankenPHP worker mode friendly.
Table of contents
Features
BarcodeType::classfor product codes, warehouse labels, inventory scans.- Optional camera scanner button powered by
@zxing/browser. - Compatible with USB/Bluetooth keyboard-wedge barcode scanners.
- Normalizes whitespace and non-printable characters server-side.
- TypeScript + Vite assets in
src/Resources/assets(named packagenowo_barcode_input). - Translations de, en, es, fr, it, nl, pt.
- Multi-framework Twig themes (Bootstrap, Tailwind, Foundation, Symfony default).
Quick usage
use Nowo\BarcodeInputBundle\Form\BarcodeType; $builder->add('barcode', BarcodeType::class, [ 'enable_scanner' => true, 'max_length' => 13, 'formats' => ['ean_13', 'ean_8', 'upc_a'], 'container_class' => 'nowo-barcode-input__container', 'input_class' => 'form-control', 'button_class' => 'btn btn-outline-secondary', ]);
The value received in barcode is a single normalized string, for example 40170725.
Demo preview
Documentation
- GitHub Actions CI requirements
- Installation
- Configuration
- PSR evaluation (REQ-CS-007)
- Usage
- Contributing
- Code of Conduct
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
Additional documentation
Tests and coverage
- PHP: 100%
- TS/JS: 100%
- Python: N/A
License
This bundle is released under the MIT License.

