This is a NativeScript cross platform ZXing library for IOS and Android.
My code is (c)2016-2019, Master Technology. Everything is LICENSED under the APACHE 2.0 License, including libraries, meaning you are free to include this in any type of program -- However for entities that need a support contract, changes, enhancements and/or a commercial license please contact me at http://nativescript.tools.
I also do contract work; so if you have a module you want built or sponsored for NativeScript (or any other software projects) feel free to contact me email@example.com.
Same plugin works on NativeScript 2.x - 5.x
tns plugin add nativescript-zxing in your ROOT directory of your project.
Node: The demo is written to use ImagePicker v6.x; earlier versions will return the results differently and then the demo will fail to run.
Creating a Barcode
var ZXing = ;var zx = ;var img = zx;// Do something with the image
This creates a barcode image of 100x100 with the "Text" encoded into the QR Code barcode type. On iOS this will return a UImage which can be assigned to a NativeScript Image; on Android it will return a Bitmap which also can be assigned to a Image. (See Demo)
Decoding a Barcode
var ZXing = ;var zx = ;// Options are TOTALLY optionalvar options = tryHarder: true formats: ZXingQR_CODE ZXingITF;var results = zx;if !resultsconsole;elseconsole;console;
- The Options are totally optional, if you don't pass in any options it will attempt to decode all known barcode formats. If you do pass in the valid formats; the iOS side actually will ONLY use the formats specified; the Android side will still do some auto-detection.
- The tryHarder option will cause the decoding to use a more CPU intensive routine; which might find more barcodes.
- The formats; is just a simple array of any of the supported barcode types listed below.
The source image for Android must be a bitmap; the source image for iOS must be a CGImage. (See Demo)
Please see the demo source https://github.com/NathanaelA/nativescript-zxing/tree/master/demo for how to read, write and convert between image formats. In addition when you SAVE on Android it might take a few minutes before the media indexer will actually see the new image to put it in the image picker.
Supported Barcode Types
ZXing supports the following Barcode types:
If you are using nativescript-barcodescanner these two plugins conflict because they use the same library to do the barcode work. The NativeScript tool unfortunately is not smart enough to detect this, and so you will get a weird error during the build.
The easiest fix if you want to use both of them is to open up where the plugin was installed (node_modules/nativescript-zxing) and then delete the platforms/android folder inside my plugin.
My code will then automatically use the version of zxing that nativescript-barcodescanner has included in it.