JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q44294F
  • License MIT

Package Exports

  • qrcoder

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (qrcoder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

QRCoder

QRCoder is a pure browser qrcode generation which is standalone. It is based on a library which build qrcode in various language.

install

npm install qrcoder --save

Example

default

import QRCoder from 'qrcoder'

const qr = new QRCoder({
  data: 'Hi!'
});

// data:image/gif;base64,R0lGODdhUgBS...WQBADs=
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lGODdhUgBS...WQBADs=" width="82" height="82"/>
const imgTag = qr.createImgTag()

document.getElementById('placeHolder').innerHTML = imgTag;

specify size

import QRCoder from 'qrcoder'

// want to create a qrcode image, which size is 101px
// QRCoder will create a qrcode image to fit this size,
// it try to calc a size which is close to this size,
// but no guarantee to equal it.
// you can use getSize function to get the real size.
// size = moduleCount * cellSize + margin * 2
// in this case, the real size is 100
const qrcoder = new QRCoder({
  data: 'Hi!',
  size: 101
})

// data:image/gif;base64,R0lG...pAoUAAA7
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lG...pAoUAAA7" width="100" height="100"/>"
const imgTag = qr.createImgTag()

const size = qrcoder.getSize()  // 100
const cellSize = qrcoder.getCellSize()  // 4
const margin = qrcoder.getMargin()  // 8
const moduleCount = qrcoder.getModuleCount() // 21

document.getElementById('placeHolder').innerHTML = imgTag;

more options

import QRCoder from 'qrcoder'

// if specify cellSize or margin or both of them, size will be ignore.
const qr = new QRCoder({
  typeNumber: 4,
  errorCorrectionLevel: 'L',
  mode: 'Byte',
  cellSize: 2,
  margin: 8,
  size: 101,
  alt: '',
  data: 'Hi!'
});

// data:image/gif;base64,R0lGODdhUgBS...WQBADs=
const dataURL = qr.getDataURL()

// <img src="data:image/gif;base64,R0lGODdhUgBS...WQBADs=" width="82" height="82"/>
const imgTag = qr.createImgTag()

document.getElementById('placeHolder').innerHTML = imgTag;

native

import QRCoder from 'qrcoder'

const typeNumber = 4
const errorCorrectionLevel = 'L'
const qr = new QRCoder({
  typeNumber,
  errorCorrectionLevel
})
qr.addData('Hi!')
qr.make()
document.getElementById('placeHolder').innerHTML = qr.createImgTag()

API Documentation

QRCoder Class

QRCoder(options) => QRCoder

Create a QRCoder Object.

Param Type Description
options object options Object

Default options

Param Type Description
options.typeNumber number default: 4
options.errorCorrectionLevel string default: 'L'
options.mode string default: 'Byte'
options.cellSize number default: 2
options.margin number default: 8
options.size number default: undefined
options.data string default: undefined
options.alt string default: ''

QRCoder.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

QRCoder

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.

getSize() => number

The size of the qrcode image.

getCellSize() => number

The number of the qrcode's cell.

getMargin() => number

The number of the qrcode image's margin.

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

getDataURL() => string

createImgTag() => string

createSvgTag() => string

createTableTag() => string

Helper functions for HTML.

License

MIT