Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skip2/go-qrcode
:sparkles: QR Code encoder (Go)
https://github.com/skip2/go-qrcode
Last synced: 20 days ago
JSON representation
:sparkles: QR Code encoder (Go)
- Host: GitHub
- URL: https://github.com/skip2/go-qrcode
- Owner: skip2
- License: mit
- Created: 2015-03-14T18:54:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-03-01T15:35:32.000Z (8 months ago)
- Last Synced: 2024-10-02T00:22:10.126Z (about 1 month ago)
- Language: Go
- Homepage: http://go-qrcode.appspot.com
- Size: 93.8 KB
- Stars: 2,639
- Watchers: 42
- Forks: 338
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesomeLibrary - go-qrcode - ✨ QR Code encoder (Go) (语言资源库 / go)
- awesome - skip2/go-qrcode - :sparkles: QR Code encoder (Go) (Go)
- my-awesome - skip2/go-qrcode - 03 star:2.7k fork:0.3k :sparkles: QR Code encoder (Go) (Go)
README
# go-qrcode #
Package qrcode implements a QR Code encoder. [![Build Status](https://travis-ci.org/skip2/go-qrcode.svg?branch=master)](https://travis-ci.org/skip2/go-qrcode)
A QR Code is a matrix (two-dimensional) barcode. Arbitrary content may be encoded, with URLs being a popular choice :)
Each QR Code contains error recovery information to aid reading damaged or obscured codes. There are four levels of error recovery: Low, medium, high and highest. QR Codes with a higher recovery level are more robust to damage, at the cost of being physically larger.
## Install
go get -u github.com/skip2/go-qrcode/...
A command-line tool `qrcode` will be built into `$GOPATH/bin/`.
## Usage
import qrcode "github.com/skip2/go-qrcode"
- **Create a 256x256 PNG image:**
var png []byte
png, err := qrcode.Encode("https://example.org", qrcode.Medium, 256)- **Create a 256x256 PNG image and write to a file:**
err := qrcode.WriteFile("https://example.org", qrcode.Medium, 256, "qr.png")
- **Create a 256x256 PNG image with custom colors and write to file:**
err := qrcode.WriteColorFile("https://example.org", qrcode.Medium, 256, color.Black, color.White, "qr.png")
All examples use the qrcode.Medium error Recovery Level and create a fixed 256x256px size QR Code. The last function creates a white on black instead of black on white QR Code.
## Documentation
[![godoc](https://godoc.org/github.com/skip2/go-qrcode?status.png)](https://godoc.org/github.com/skip2/go-qrcode)
## Demoapp
[http://go-qrcode.appspot.com](http://go-qrcode.appspot.com)
## CLI
A command-line tool `qrcode` will be built into `$GOPATH/bin/`.
```
qrcode -- QR Code encoder in Go
https://github.com/skip2/go-qrcodeFlags:
-d disable QR Code border
-i invert black and white
-o string
out PNG file prefix, empty for stdout
-s int
image size (pixel) (default 256)
-t print as text-art on stdoutUsage:
1. Arguments except for flags are joined by " " and used to generate QR code.
Default output is STDOUT, pipe to imagemagick command "display" to display
on any X server.qrcode hello word | display
2. Save to file if "display" not available:
qrcode "homepage: https://github.com/skip2/go-qrcode" > out.png
```
## Maximum capacity
The maximum capacity of a QR Code varies according to the content encoded and the error recovery level. The maximum capacity is 2,953 bytes, 4,296 alphanumeric characters, 7,089 numeric digits, or a combination of these.## Borderless QR Codes
To aid QR Code reading software, QR codes have a built in whitespace border.
If you know what you're doing, and don't want a border, see https://gist.github.com/skip2/7e3d8a82f5317df9be437f8ec8ec0b7d for how to do it. It's still recommended you include a border manually.
## Links
- [http://en.wikipedia.org/wiki/QR_code](http://en.wikipedia.org/wiki/QR_code)
- [ISO/IEC 18004:2006](http://www.iso.org/iso/catalogue_detail.htm?csnumber=43655) - Main QR Code specification (approx CHF 198,00)
- [https://github.com/qpliu/qrencode-go/](https://github.com/qpliu/qrencode-go/) - alternative Go QR encoding library based on [ZXing](https://github.com/zxing/zxing)