Awesome
qr-image
This is yet another QR Code generator.
Overview
- No dependecies;
- generate image in
png
,svg
,eps
andpdf
formats; - numeric and alphanumeric modes;
- support UTF-8.
Installing
npm install qr-image
Usage
Example:
var qr = require('qr-image');
var qr_svg = qr.image('I love QR!', { type: 'svg' });
qr_svg.pipe(require('fs').createWriteStream('i_love_qr.svg'));
var svg_string = qr.imageSync('I love QR!', { type: 'svg' });
Example For generate images in client side:
var qr = require('qr-image');
router.get('/qr', function(){
var code = qr.image('http://www.google.com', { type: 'png' });
res.setHeader('Content-type', 'image/png'); //sent qr image to client side
code.pipe(res);
});
then in the html files:
<img src="/qr" alt="qrcode">
qr = require('qr-image')
Methods
qr.image(text, [ec_level | options])
— Readable stream with image data;qr.imageSync(text, [ec_level | options])
— string with image data. (Buffer forpng
);qr.svgObject(text, [ec_level | options])
— object with SVG path and size;qr.matrix(text, [ec_level])
— 2D array of booleans. Y is indexed first (e.g.[y][x]
NOT[x][y]
),[0][0]
is the top left, andtrue
means black.
Options
text
— text to encode;ec_level
— error correction level. One ofL
,M
,Q
,H
. DefaultM
.options
— image options object:ec_level
— defaultM
.type
— image type. Possible valuespng
(default),svg
,pdf
andeps
.size
(png and svg only) — size of one module in pixels. Default5
for png andundefined
for svg.margin
— white space around QR image in modules. Default4
forpng
and1
for others.customize
(only png) — function to customize qr bitmap before encoding to PNG.parse_url
(experimental, defaultfalse
) — try to optimize QR-code for URLs.
Changes
- Use
zlib.deflateSync
instead ofpako
. - Fix deprecation warning for NodeJS 7.
TODO
- Tests;
- mixing modes;
- Kanji (???).