qrcode-generator

QR Code Generator implementation in JavaScript.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
qrcode-generator
2,066511.4.45 years ago9 years agoMinified + gzip package size for qrcode-generator in KB

Readme

QR Code Generator

Getting Started

  1. Include qrcode.js in your html.
  2. Prepare a place holder.
  3. Generate QR and render it.

<script type="text/javascript" src="qrcode.js"></script>
<div id="placeHolder"></div>
var typeNumber = 4;
var errorCorrectionLevel = 'L';
var qr = qrcode(typeNumber, errorCorrectionLevel);
qr.addData('Hi!');
qr.make();
document.getElementById('placeHolder').innerHTML = qr.createImgTag();

API Documentation

QRCodeFactory

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 |

QRCode

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