📅  最后修改于: 2023-12-03 14:51:03.053000             🧑  作者: Mango
二维码(QR Code)是一种快速识别矩阵条码的二进制编码方式。在现代社会中广泛使用,例如将网址、联系方式和各种信息存储在其中。
在 Node.js 中生成二维码可以使用现有的库,本文将介绍如何使用 qrcode
和 qr-image
两个库来生成二维码。
qrcode
库qrcode
库是一个轻量级的无依赖库,可以在浏览器和 Node.js 中使用。它提供了生成二维码的方法,支持将输出保存为 PNG、SVG、PDF 等格式。
使用 npm
安装 qrcode
:
npm install qrcode
使用 qrcode
只需要调用 toDataURL
方法,将二维码转为 Base64 编码格式的字符串。
const qrcode = require('qrcode');
const generateQRCode = async () => {
try {
const qrDataUrl = await qrcode.toDataURL('https://www.example.com');
console.log(qrDataUrl);
} catch (error) {
console.error(error);
}
};
generateQRCode();
这段代码将在控制台输出转换成 Base64 编码的 PNG 图像数据的字符串。你可以将其保存为 PNG 或其他格式的文件。
qrcode
还支持其他选项,例如错误纠正级别、版本、大小、边距等。你可以使用如下方法设置:
const qrcode = require('qrcode');
const options = {
errorCorrectionLevel: 'H',
version: 10,
width: 500,
margin: 4,
};
const generateQRCode = async () => {
try {
const qrDataUrl = await qrcode.toDataURL('https://www.example.com', options);
console.log(qrDataUrl);
} catch (error) {
console.error(error);
}
};
generateQRCode();
qr-image
库qr-image
是一个基于 Node.js 的二维码生成库,可以生成 PNG、JPEG 格式的文件。
使用 npm
安装 qr-image
:
npm install qr-image
使用 qr-image
首先需要创建一个二维码对象,然后将其保存为文件。
const qrImage = require('qr-image');
const fs = require('fs');
const generateQRCode = () => {
const qrSvg = qrImage.imageSync('https://www.example.com', { type: 'svg' });
fs.writeFileSync('example_qr.svg', qrSvg, 'utf8');
const qrPng = qrImage.imageSync('https://www.example.com', { type: 'png' });
fs.writeFileSync('example_qr.png', qrPng);
};
generateQRCode();
这段代码将生成一个 SVG 格式的文件和一个 PNG 格式的文件。
qr-image
还支持其他选项,例如错误纠正级别、版本、大小、边距等。你可以使用如下方法设置:
const qrImage = require('qr-image');
const fs = require('fs');
const options = {
ec_level: 'H',
type: 'png',
size: 10,
margin: 2,
};
const generateQRCode = () => {
const qrData = qrImage.imageSync('https://www.example.com', options);
fs.writeFileSync('example_qr.png', qrData);
};
generateQRCode();
以上就是在 Node.js 中生成二维码的介绍,我们分别介绍了 qrcode
和 qr-image
两个库。它们都提供了不同的选项,可以根据需要进行调整。总体而言,使用这两个库都是非常简单和轻量级的。