gozxing A Barcode Scanning/Encoding Library for Go
![codecov](https://camo.githubusercontent.com/f3c5fa2030acfafe9e68960b0efd761b55b890a93df38861cf8c59487f7f6b0c/68747470733a2f2f636f6465636f762e696f2f67682f6d616b69756368692d642f676f7a78696e672f6272616e63682f6d61737465722f67726170682f62616467652e737667)
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)
}