QR Code Generator implementation in JavaScript.
npm install qrcode-generatorQR Code Generator
===
1. Include qrcode.js in your html.
2. Prepare a place holder.
3. Generate QR and render it.
``html``html``javascript``
var typeNumber = 4;
var errorCorrectionLevel = 'L';
var qr = qrcode(typeNumber, errorCorrectionLevel);
qr.addData('Hi!');
qr.make();
document.getElementById('placeHolder').innerHTML = qr.createImgTag();
#### qrcode(typeNumber, errorCorrectionLevel) => QRCode
Create a QRCode Object.
| Param | Type | Description |
| ---------------------| ------------------- | ---------------------------------------------- |
| typeNumber | number | Type number (1 ~ 40), or 0 for auto detection. |
| errorCorrectionLevel | string | Error correction level ('L', 'M', 'Q', 'H') |
#### qrcode.stringToBytes(s) : number[]
Encodes a string into an array of number(byte) using any charset.
This function is used by internal.
Overwrite this function to encode using a multibyte charset.
| Param | Type | Description |
| ------ | ------------------- | ---------------- |
| s | string | string to encode |
#### addData(data, mode) => void
Add a data to encode.
| Param | Type | Description |
| ------ | ------------------- | ---------------------------------------------------------- |
| data | string | string to encode |
| mode | string | Mode ('Numeric', 'Alphanumeric', 'Byte'(default), 'Kanji') |
#### make() => void
Make a QR Code.
#### getModuleCount() => number
The number of modules(cells) for each orientation.
_[Note] call make() before this function._
#### isDark(row, col) => boolean
The module at row and col is dark or not.
_[Note] call make() before this function._
| Param | Type | Description |
| ----- | ------------------- | ------------------- |
| row | number | 0 ~ moduleCount - 1 |
| col | number | 0 ~ moduleCount - 1 |
#### createDataURL(cellSize, margin) => string
#### createImgTag(cellSize, margin, alt) => string
#### createSvgTag(cellSize, margin) => string
#### createTableTag(cellSize, margin) => string
#### createASCII(cellSize, margin) => string
Helper functions for HTML.
_[Note] call make() before these functions._
| Param | Type | Description |
| -------- | ------------------- | --------------------- |
| cellSize | number | default: 2 |
| margin | number | default: cellSize * 4 |
| alt | string | (optional) |
#### createSvgTag(opts) => string
| Param | Type | Description |
| ------------- | -------------------- | --------------------- |
| opts | object | default: {} |
| opts.cellSize | number | default: 2 |
| opts.margin | number | default: cellSize * 4 |
| opts.scalable | boolean | default: false |
#### renderTo2dContext(context, cellSize) => void
--
This implementation is based on JIS X 0510:1999.
The word 'QR Code' is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html