https://github.com/eisberg-labs/ngx-barcode-scanner
Angular Barcode scanner using Quagga
https://github.com/eisberg-labs/ngx-barcode-scanner
angular barcode qrcode
Last synced: about 1 year ago
JSON representation
Angular Barcode scanner using Quagga
- Host: GitHub
- URL: https://github.com/eisberg-labs/ngx-barcode-scanner
- Owner: eisberg-labs
- License: mit
- Created: 2020-03-14T18:04:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T22:55:39.000Z (about 2 years ago)
- Last Synced: 2024-05-22T23:46:34.745Z (about 2 years ago)
- Topics: angular, barcode, qrcode
- Language: TypeScript
- Homepage: https://ngx-barcode-scanner.amarjanica.com/
- Size: 1.52 MB
- Stars: 6
- Watchers: 3
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://github.com/eisberg-labs/ngx-barcode-scanner/actions/workflows/ci.yml)
[](https://codecov.io/gh/eisberg-labs/ngx-barcode-scanner)
[](https://www.npmjs.com/package/@eisberg-labs/ngx-barcode-scanner)
[](https://www.npmjs.com/package/@eisberg-labs/ngx-barcode-scanner)
[](https://isitmaintained.com/project/eisberg-labs/ngx-barcode-scanner 'Average time to resolve an issue')
[](https://www.linkedin.com/in/anamarjanica/)
## [ngx-barcode-scanner](https://github.com/eisberg-labs/ngx-barcode-scanner)
> Angular 9+ Barcode scanner using [Quagga](https://github.com/ericblade/quagga2).
If you 👍 or use this project, consider giving it a ★, thanks! 🙌
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Demo](#demo)
- [API](#api)
- [Changelog](#changelog)
- [Code of Conduct](#code-of-conduct)
- [Contributing](#contributing)
- [Sponsors](#sponsors)
- [Contact](#contact)
- [License](#license)
## Installation
```sh
$ npm install @eisberg-labs/ngx-barcode-scanner --save
```
## Usage
First import to your module:
```typescript
@NgModule({
declarations: [
AppComponent
],
imports: [
NgxBarcodeScannerModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
```
And use in your component html
```html
```
### Start/stop scanning
**ngx-barcode-scanner** ties the scanning service `start` `onInit` and `stop` is `onDestroy`. You may want to control when `start` and `stop` scanner occurs with the help of `NgxBarcodeScannerService`:
```typescript
import {NgxBarcodeScannerService} from "@eisberg-labs/ngx-barcode-scanner";
@Component({
selector: 'app-root',
template: ``
Start
Stop
})
constructor(
service: NgxBarcodeScannerService
) {
//Do constructor things...
}
onStartButtonPress() {
this.service.start(this.quaggaConfig, 0.1)
}
onValueChanges(detectedValue: string) {
console.log("Found this: " + detectedValue)
}
onStopButtonPress() {
this.service.stop()
}
```
## Demo
[View Demo and Documentation](https://ngx-barcode-scanner.amarjanica.com)
## Api
---
### Properties
@Input() | Type | Required|Default|Description
---------|------|---------|-------|-------
codes | string, string[]| required | ['code_128', 'ean', 'ean_8', 'code_39', 'code_39_vin', 'codabar', 'upc', 'upc_e', 'i2of5', '2of5', 'code_93'] | Type of barcode algorithm to detect. Supported are *code_128*,*ean*,*ean_8*,*code_39*,*code_39_vin*,*codabar*,*upc*,*upc_e*,*i2of5*,*2of5*,*code_93*. Be aware that more codes you define, more possible false positives, and it might take longer to detect a barcode.
config | QuaggaJSConfigObject | optional | undefined | Optional [quagga](https://github.com/ericblade/quagga2/blob/253aa01999d0e4a912ca33b119c91fd15cd0294b/type-definitions/quagga.d.ts) config object (Define camera device id, media constraints ...).
errorThreshold | number | optional | 0.1 | Defines threshold of scan detect accuracy. Smaller the value, smaller chance of false positives.
value | string | required | undefined | Scan result outputs to value.
### Events
@Output() | Type | EventType | Required | Description
----------|------|-----------|----------|------------
valueChange | EventEmitter | string | required | Scan result updates
exception | EventEmitter | any | optional | Error events
## Changelog
All notable changes to this project will be documented in [this file](./CHANGELOG.md).
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## Code of Conduct
I follow the [Rust Code of Conduct](http://www.rust-lang.org/conduct.html).
## Contributing
Everyone is welcome to contribute. You can read more about [contributing here](./CONTRIBUTING.md).
## Sponsors
If you find this project useful, give it a star. You could also consider supporting us through the following platforms:
- [Become a GitHub Sponsor](https://github.com/sponsors/amarjanica)
- [Support me on Patreon](https://www.patreon.com/amarjanica)
As this project grows, I will showcase sponsors' logos and links in this section. Thank you for your support!
## Contact
Feel free to reach out to me on [LinkedIn](https://www.linkedin.com/in/anamarjanica/).
## License
MIT © [Eisberg Labs](http://www.eisberg-labs.com)