gozxing A Barcode Scanning/Encoding Library for Go
ZXing is an open-source, multi-format 1D/2D barcode image processing library for Java.
This project is a port of ZXing core library to pure Go.
Porting Status (supported formats)
Format
Scanning
Encoding
QR Code
✔️
✔️
Data Matrix
✔️
✔️
Aztec
PDF 417
MaxiCode
Format
Scanning
Encoding
UPC-A
✔️
✔️
UPC-E
✔️
✔️
EAN-8
✔️
✔️
EAN-13
✔️
✔️
Format
Scanning
Encoding
Code 39
✔️
✔️
Code 93
✔️
✔️
Code 128
✔️
✔️
Codabar
ITF
RSS-14
RSS-Expanded
Reader/Writer
Porting status
MultiFormatReader
MultiFormatWriter
ByQuadrantReader
GenericMultipleBarcodeReader
QRCodeMultiReader
MultiFormatUPCEANReader
MultiFormatOneDReader
package main
import (
"fmt"
"image"
_ "image/jpeg"
"os"
"github.com/makiuchi-d/gozxing"
"github.com/makiuchi-d/gozxing/qrcode"
)
func main () {
// open and decode image file
file , _ := os .Open ("qrcode.jpg" )
img , _ , _ := image .Decode (file )
// prepare BinaryBitmap
bmp , _ := gozxing .NewBinaryBitmapFromImage (img )
// decode image
qrReader := qrcode .NewQRCodeReader ()
result , _ := qrReader .Decode (bmp , nil )
fmt .Println (result )
}