Watch
1
0
Fork
You've already forked golang-github-makiuchi-d-gozxing
0
No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Daniel Baumann ed329ebffe
Releasing fastforward version 0.1.1+dfsg-1~ffwd13+u1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2026-07-08 17:41:09 +02:00
.github/workflows Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
aztec Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
common Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
datamatrix Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
debian Releasing fastforward version 0.1.1+dfsg-1~ffwd13+u1. 2026-07-08 17:41:09 +02:00
multi Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
oned Merging upstream version 0.1.1+dfsg. 2026-07-08 17:40:59 +02:00
qrcode Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
testutil Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
.gitignore Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
barcode_format.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
barcode_format_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
binarizr.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
binary_bitmap.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
binary_bitmap_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
bit_array.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
bit_array_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
bit_matrix.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
bit_matrix_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
checksum_exception.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
checksum_exception_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
decode_hint_type.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
decode_hint_type_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
dimension.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
dimension_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
encode_hint_type.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
encode_hint_type_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
format_exception.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
format_exception_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
global_histogram_binarizer.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
global_histogram_binarizer_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go.mod Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go.sum Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go_image_bit_matrix.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go_image_bit_matrix_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go_image_luminance_source.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
go_image_luminance_source_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
hybrid_binarizer.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
hybrid_binarizer_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
inverted_luminance_source.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
inverted_luminance_source_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
LICENSE Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
luminance_source.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
luminance_source_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
not_found_exception.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
not_found_exception_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
planar_yuv_luminance_source.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
planar_yuv_luminance_source_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
reader.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
reader_exception.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
reader_exception_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
README.md Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_metadata_type.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_metadata_type_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_point.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_point_callback.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_point_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
result_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
rgb_luminance_source.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
rgb_luminance_source_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
writer.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
writer_exception.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00
writer_exception_test.go Adding upstream version 0.1.1. 2026-07-08 17:40:33 +02:00

gozxing A Barcode Scanning/Encoding Library for Go

Build Status codecov

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)

2D barcodes

Format Scanning Encoding
QR Code ✔️ ✔️
Data Matrix ✔️ ✔️
Aztec ✔️
PDF 417
MaxiCode

1D product barcodes

Format Scanning Encoding
UPC-A ✔️ ✔️
UPC-E ✔️ ✔️
EAN-8 ✔️ ✔️
EAN-13 ✔️ ✔️

1D industrial barcode

Format Scanning Encoding
Code 39 ✔️ ✔️
Code 93 ✔️ ✔️
Code 128 ✔️ ✔️
Codabar ✔️ ✔️
ITF ✔️ ✔️
RSS-14 ✔️ -
RSS-Expanded

Special reader/writer

Reader/Writer Porting status
MultiFormatReader
MultiFormatWriter
ByQuadrantReader
GenericMultipleBarcodeReader
QRCodeMultiReader ✔️
MultiFormatUPCEANReader ✔️
MultiFormatOneDReader

Usage Examples

Scanning QR code

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

Generating CODE128 barcode

package main

import (
	"image/png"
	"os"

	"github.com/makiuchi-d/gozxing"
	"github.com/makiuchi-d/gozxing/oned"
)

func main() {
	// Generate a barcode image (*BitMatrix)
	enc := oned.NewCode128Writer()
	img, _ := enc.Encode("Hello, Gophers!", gozxing.BarcodeFormat_CODE_128, 250, 50, nil)

	file, _ := os.Create("barcode.png")
	defer file.Close()

	// *BitMatrix implements the image.Image interface,
	// so it is able to be passed to png.Encode directly.
	_ = png.Encode(file, img)
}