2.6 KiB
qrprinter
A wrapper for libqrencode
that provides an easy way of encoding and printing strings as QR codes from Lua.
This uses LuaJIT's FFI library, and so will not run in PUC Lua implementations.
Written in Fennel.
Table of Contents
Installation
Install dependencies:
# Debian/Ubuntu:
apt install libqrencode-dev
# Alpine:
apk add gcompat libqrencode-dev
Install with luarocks:
luarocks install qrprinter
For a list of available versions, see the luarocks module page.
Example Usage
![](/jessieh/qrprinter/media/raw/assets/demo.png)
Documentation
Encoding
qrprinter.encode_string
qrprinter.encode_string( string )
Encodes string
into a table representing a QR code.
Returns a two-dimensional sequential table of true/false values representing black/white QR modules.
Printing
All print functions accept an optional table options
that may contain two keys:
invert
: If non-nil, the output colors will be invertedpadding
: Number of blanks cells to print around the QR code (default 2)
qrprinter.print_qr
qrprinter.print_qr( qr, [options] )
Print qr
to stdout
using ANSI escape sequences.
Alias of qrprinter.print_qr_ansi
.
qrprinter.print_qr_ascii
qrprinter.print_qr_ascii( qr, [options] )
Print qr
to stdout
using ASCII characters.
qrprinter.print_qr_ansi
qrprinter.print_qr_ansi( qr, [options] )
Print qr
to stdout
using ANSI escape sequences.
qrprinter.print_qr_utf8
qrprinter.print_qr_utf8( qr, [options] )
Print qr
to stdout
using UTF8 block elements.
Testing
The Fennel code needs to be compiled before tests can be run:
# Build the project:
luarocks build
# Now you can run tests:
luarocks test