olefirenko / vue-barcode-reader

A Vue.js set of components to scan barcodes and QR codes.
213 stars 75 forks source link
barcode-scanner qrcode-scanner vue zxing

Vue Barcode and QR code scanner

npm version sponsored_by

A Vue.js set of components to scan (or upload images) barcodes and QR codes.

Benefits

Demo

Demo repository | Codesandbox | Vercel | Netlify

Or you can check the library in action on the website parceltrackingapp.com.

Installation

The easiest way to use Vue Barcode Reader is to install it from npm or yarn.

npm install vue-barcode-reader --save

Or

yarn add vue-barcode-reader

Vue 2.0 support

For Vue 2.0 compatible version please use the vue-barcode-reader@0.0.3.

TypeScript

There are type definitions available for those who work with TypeScript.

npm install @types/vue-barcode-reader --save-dev

Or

yarn add -D @types/vue-barcode-reader

Usage

The Vue Barcode Reader works out of the box by just including it.

Using Video Camera

Once a stream from the users camera is loaded, it's displayed and continuously scanned for barcodes. Results are indicated by the decode event.

import { StreamBarcodeReader } from "vue-barcode-reader";

In your template you can use this syntax:

<StreamBarcodeReader @decode="onDecode" @loaded="onLoaded"></StreamBarcodeReader>

Scanning from Image

The component renders to a simple file picker input element. Clicking opens a file dialog. On supporting mobile devices the camera is started to take a picture. The selected images are directly scanned and positive results are indicated by the decode event.

import { ImageBarcodeReader } from "vue-barcode-reader";

In your template you can use this syntax:

<ImageBarcodeReader @decode="onDecode" @error="onError"></ImageBarcodeReader>
methods: { onDecode (result) { console.log(result) } }

Events

The library emits the following events:

loaded

When the libraty is loaded and the camera is ready to scan

decode

When a barcode or QR code is scanned. The result is passed as a parameter to the event handler. The result is the text encoded in the barcode or QR code.

result

When a barcode or QR code is scanned. The result is passed as a parameter to the event handler. The result is the object with the following properties: