Home > Web Front-end > JS Tutorial > body text

See how to use nodejs to generate QR codes

青灯夜游
Release: 2022-10-25 23:12:36
forward
2383 people have browsed it

See how to use nodejs to generate QR codes

QR codes are everywhere in life. I have also used Java’s zxing library to generate QR codes before, which is very powerful.

But in fact, there are many third-party libraries on nodejs that can generate QR codes. Today we are using the qrcode library to generate QR codes. [Related tutorial recommendations: nodejs video tutorial]

Effect display

Online example: http://www.lolmbbs.com/tool/qr

See how to use nodejs to generate QR codes

Detailed code

Generate QR code:

const qrCode = require('qrcode')
class QrController {
  async create (ctx) {
    const { text = 'Luban', options } = ctx.request.body
    const qrOptions = {
      type: 'image/png',
      width: 180,
      margin: 0,
      scale: 1,
      color: {
        dark: '#000000',
        light: '#ffffff'
      },
      errorCorrectionLevel: 'M',
      quality: 1
    }
    Object.assign(qrOptions, options)
    const imgData = await qrCode.toDataURL(text, qrOptions)
    return ctx.success({ imgData })
  }
}

module.exports = new QrController()
Copy after login

Download QR code:

const a = document.createElement('a')
const event = new MouseEvent('click')
a.download = '二维码'
a.href = this.imgSrc
a.dispatchEvent(event)
Copy after login

Explanation of main parameters

  • type: Generate image type
    mainly includes three types: image/png, image/jpeg, image/web .
    ps: But even if I set the type to image/jpeg in the code, I found that the generated image is still png. Later, after reading the document carefully, I found out that the toDataURL method only supports generating png type images...
    See how to use nodejs to generate QR codes

  • width: The width of the QR code
    I found that there is no height field setting, maybe the generated QR codes are all square.

  • margin: Padding
    The padding is set to 10
    See how to use nodejs to generate QR codes
    The padding is set to 0
    See how to use nodejs to generate QR codes

  • scale Zoom multiple
    If width is set, width takes effect first, then this parameter is useless.
    The scaling ratio is 5
    See how to use nodejs to generate QR codes
    The zoom ratio is 10
    See how to use nodejs to generate QR codes

  • ##color.light: Foreground color

  • color.night: Background color The default foreground color is black and the background color is white.

  • errorCorrectionLevel Error correction level
    See how to use nodejs to generate QR codes Even if part of the QR code cannot be displayed, the content of the QR code can still be recognized. This is the error correction of QR code.
    L level error correction means that as long as the incompleteness is less than 7%, it can be identified, and so on

For more node-related knowledge, please visit:

nodejs Tutorial!

The above is the detailed content of See how to use nodejs to generate QR codes. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!