A plugin for Cordova using ZXing library from https://github.com/journeyapps/zxing-android-embedded, exposing a JavaScript interface for scanning barcodes (QR, 1D/2D).
This library enables an inverted scan, enabling scan on dark background with white patterns.
Works only on Android devices.
** Thanks to marceloburegio from whom I forked this plugin! **
| 1D product | 1D industrial | 2D |
|---|---|---|
| UPC_A | CODE_39 | QR_CODE |
| UPC_E | CODE_93 | DATA_MATRIX |
| EAN_8 | CODE_128 | PDF_417 |
| EAN_13 | ITF | |
| RSS_14 | ||
| RSS_EXPANDED |
cordova plugin add cordova-plugin-zxing
window.plugins.zxingPlugin.scan(params, onSuccess, onFailure)
Arguments:
-
params: All parameters are optional:
{ 'prompt_message':'Scan a barcode', // Change the info message. A blank message ('') will show a default message 'orientation_locked':true, // Lock the orientation screen 'camera_id':0, // Choose the camera source 'beep_enabled':true, // Enables a beep after the scan 'torch_enabled':true, // Enables the torch in the scanning view 'scan_type':'normal', // Types of scan mode: normal = default black with white background / inverted = white bars on dark background / mixed = normal and inverted modes 'barcode_formats':[ 'QR_CODE', 'CODE_39', 'CODE_128'], // Put a list of formats that the scanner will find. A blank list ([]) will enable scan of all barcode types 'extras':{} // Additional extra parameters. See [ZXing Journey Apps][1] IntentIntegrator and Intents for more details }
-
onSuccess: function (s) {...} Callback for successful scan.
-
onFailure: function (s) {...} Callback for cancelled scan or error.
Return:
- success('scanned bar code') Successful scan with value of scanned code
- error('cancelled') If user cancelled the scan (with back button etc)
- error('misc error message') Misc failure
In order to let the scan activity choose the orientation based on the phone's sensors, an activity config block needs to be added into the AndroidManifest.xml:
<manifest>
<application>
<activity android:name="com.journeyapps.barcodescanner.CaptureActivity" android:screenOrientation="fullSensor" tools:replace="screenOrientation" />
</application>
</manifest>I do this in the config.xml using the custom-config plugin (https://github.com/dpa99c/cordova-custom-config).
LICENSE Apache License 2.0
This plugin is released under the Apache License 2.0
Copyright 2012-2018 ZXing authors, Journey Mobile, Marcelo Buregio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.