An Easy QRcode package written by TypeScript. This package can generate QR codes manually or automatically based on content. Thank you for using it. 😊
🚀Demo
# npm
npm install --save easy-qrcode
# yarn
yarn add --save easy-qrcode
<script src="dist/easy-qrcode.min.js"></script>
Name EQ
is ready to use and no need to import.
<script src="https://unpkg.com/easy-qrcode/dist/easy-qrcode.min.js"></script>
Name EQ
is ready to use and no need to import.
Creator
class is used to generate a boolean matrix of QR code, which is a two-dimensional matrix that represents rows and columns.
You can use some options to initialize this creator. These options are optional.
import { Creator, ErrorCorrectionLevel, MaskPattern } from 'easy-qrcode';
const qrCreator = new Creator();
// with options
const qrCreator = new Creator({
version: 4,
enableECI: false,
errorCorrectionLevel: ErrorCorrectionLevel.M,
maskPattern: MaskPattern.PATTERN000,
});
You can add content that will need to be written to the QR code to the creator and then generate the matrix.
import { QRContent, QRMode } from 'easy-qrcode';
// Add content directly
qrCreator.add('123');
// Add QRContent
const myContent = new QRContent('123', QRMode.Byte);
qrCreator.add(myContent);
// Add content object
qrCreator.add({
content: '123',
mode: QRMode.Numeric,
});
// create matrix
qrCreator.create();
const matrix = qrCreator.getMatrix();
You can use this matrix to render QR code or to generate image and other operations.
This package provides a basic renderer now that renders QR code onto canvas. You can provide your own renderer for a more free experience.
import { Renderer } from 'easy-qrcode';
const qrRenderer = new Renderer();
const matrix = qrCreator.getMatrix();
// An existing canvas
const canvas = document.getElementById('qr-canvas');
qrRenderer.drawCanvas(matrix, canvas);
// create a new canvas
const canvas = qrRenderer.drawCanvas(matrix);
document.body.append(canvas);
You can find documentation here.
The most direct way to understand a standard or algorithm is to practice it. I was learning some details about QR code, and when I read some documentation I decided to implement a package.
In fact, this package was not created out of thin air. During the creation process I referred to some other developer projects, and I am very grateful for the ideas they provide
The code in this project is licensed under MIT license.