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.
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)
}