Skip to main content

QRCode 中文网

QR 码/二维条形码生成器。

¥QR code/2d barcode generator.

亮点

¥Highlights

  • 适用于服务器和客户端(并使用 svg 进行原生反应)

    ¥Works on server and client (and react native with svg)

  • CLI 实用程序

    ¥CLI utility

  • 将二维码保存为图片

    ¥Save QR code as image

  • 支持数字、字母数字、汉字和字节模式

    ¥Support for Numeric, Alphanumeric, Kanji and Byte mode

  • 支持混合模式

    ¥Support for mixed modes

  • 支持中文、西里尔文、希腊文和日语字符

    ¥Support for chinese, cyrillic, greek and japanese characters

  • 支持多字节字符(如表情符号 😄

    ¥Support for multibyte characters (like emojis 😄)

  • 自动生成优化的段,以获得最佳数据压缩和最小的二维码大小

    ¥Auto generates optimized segments for best data compression and smallest QR Code size

  • 应用无关的可读性,二维码从定义上讲是应用无关的

    ¥App agnostic readability, QR Codes by definition are app agnostic

安装

¥Installation

在你的项目文件夹中执行以下操作:

¥Inside your project folder do:

npm install --save qrcode

或者,全局安装它以从命令行使用 qrcode 来保存二维码图片或生成你可以在终端中查看的图片。

¥or, install it globally to use qrcode from the command line to save qrcode images or generate ones you can view in your terminal.

npm install -g qrcode

用法

¥Usage

CLI

Usage: qrcode [options] <input string>

QR Code options:
-v, --qversion QR Code symbol version (1 - 40) [number]
-e, --error Error correction level [choices: "L", "M", "Q", "H"]
-m, --mask Mask pattern (0 - 7) [number]

Renderer options:
-t, --type Output type [choices: "png", "svg", "utf8"]
-w, --width Image width (px) [number]
-s, --scale Scale factor [number]
-q, --qzone Quiet zone size [number]
-l, --lightcolor Light RGBA hex color
-d, --darkcolor Dark RGBA hex color
--small Output smaller QR code to terminal [boolean]

Options:
-o, --output Output file
-h, --help Show help [boolean]
--version Show version number [boolean]

Examples:
qrcode "some text" Draw in terminal window
qrcode -o out.png "some text" Save as png image
qrcode -d F00 -o out.png "some text" Use red as foreground color

如果未指定,则从文件扩展名中猜测输出类型。

¥If not specified, output type is guessed from file extension.

可识别的扩展名有 pngsvgtxt

¥Recognized extensions are png, svg and txt.

浏览器

¥Browser

node-qrcode 可通过模块打包器(如 BrowserifyWebpack)在浏览器中使用,或通过包含 build/ 文件夹中的预编译包来使用。

¥node-qrcode can be used in browser through module bundlers like Browserify and Webpack or by including the precompiled bundle present in build/ folder.

模块打包器

¥Module bundlers

<!-- index.html -->
<html>
<body>
<canvas id="canvas"></canvas>
<script src="bundle.js"></script>
</body>
</html>
// index.js -> bundle.js
var QRCode = require('qrcode')
var canvas = document.getElementById('canvas')

QRCode.toCanvas(canvas, 'sample text', function (error) {
if (error) console.error(error)
console.log('success!');
})

预编译打包包

¥Precompiled bundle

<canvas id="canvas"></canvas>

<script src="/build/qrcode.js"></script>
<script>
QRCode.toCanvas(document.getElementById('canvas'), 'sample text', function (error) {
if (error) console.error(error)
console.log('success!');
})
</script>

如果你通过 npm 安装,预编译文件将在 node_modules/qrcode/build/ 文件夹中可用。

¥If you install through npm, precompiled files will be available in node_modules/qrcode/build/ folder.

预编译包支持 Internet Explorer 10+、Safari 5.1+ 和所有常用浏览器

¥The precompiled bundle have support for Internet Explorer 10+, Safari 5.1+, and all evergreen browsers.

NodeJS

需要模块 qrcode

¥Require the module qrcode

var QRCode = require('qrcode')

QRCode.toDataURL('I am a pony!', function (err, url) {
console.log(url)
})

为终端渲染二维码

¥render a qrcode for the terminal

var QRCode = require('qrcode')

QRCode.toString('I am a pony!',{type:'terminal'}, function (err, url) {
console.log(url)
})

ES6/ES7

可以使用 Promises 和 Async/Await 代替回调函数。

¥Promises and Async/Await can be used in place of callback function.

import QRCode from 'qrcode'

// With promises
QRCode.toDataURL('I am a pony!')
.then(url => {
console.log(url)
})
.catch(err => {
console.error(err)
})

// With async/await
const generateQR = async text => {
try {
console.log(await QRCode.toDataURL(text))
} catch (err) {
console.error(err)
}
}

错误更正级别

¥Error correction level

即使符号脏了或损坏,纠错能力也可以成功扫描二维码。根据操作环境,有四个级别可供选择。

¥Error correction capability allows to successfully scan a QR Code even if the symbol is dirty or damaged. Four levels are available to choose according to the operating environment.

更高的级别提供更好的抗错误能力,但会降低符号的容量。

¥Higher levels offer a better error resistance but reduce the symbol's capacity.

如果二维码符号损坏的可能性很低(例如,如果通过显示器显示),则可以安全地使用低错误级别,例如 LowMedium

¥If the chances that the QR Code symbol may be corrupted are low (for example if it is showed through a monitor) is possible to safely use a low error level such as Low or Medium.

可能的级别如下所示:

¥Possible levels are shown below:

级别错误抵抗
L(低)~7%
M(中)~15%
Q(四分位数)~25%
H(高)~30%

百分比表示符号无法读取的最大损坏表面量。

¥The percentage indicates the maximum amount of damaged surface after which the symbol becomes unreadable.

可以通过 options.errorCorrectionLevel 属性设置错误级别。

¥Error level can be set through options.errorCorrectionLevel property.

如果未指定,则默认值为 M

¥If not specified, the default value is M.

QRCode.toDataURL('some text', { errorCorrectionLevel: 'H' }, function (err, url) {
console.log(url)
})

QR 码容量

¥QR Code capacity

容量取决于符号版本和错误更正级别。编码模式也可能影响可存储数据的数量。

¥Capacity depends on symbol version and error correction level. Also encoding modes may influence the amount of storable data.

QR 码版本范围从版本 1 到版本 40。

¥The QR Code versions range from version 1 to version 40.

每个版本都有不同数量的模块(黑点和白点),它们定义符号的大小。对于版本 1,它们是 21x21,对于版本 2,它们是 25x25 等等。版本越高,可存储的数据越多,当然二维码符号也会越大。

¥Each version has a different number of modules (black and white dots), which define the symbol's size. For version 1 they are 21x21, for version 2 25x25 e so on. Higher is the version, more are the storable data, and of course bigger will be the QR Code symbol.

下表显示了每种编码模式和每种纠错级别中可存储的最大字符数。

¥The table below shows the maximum number of storable characters in each encoding mode and for each error correction level.

模式LMQH
数字7089559639933057
字母数字4296339124201852
字节2953233116631273
汉字181714351024784

注意:使用 混合模式 时,最大字符数可能不同。

¥Note: Maximum characters number can be different when using Mixed modes.

可以通过 options.version 属性设置二维码版本。

¥QR Code version can be set through options.version property.

如果未指定版本,则将使用更合适的值。除非需要特定版本,否则不需要此选项。

¥If no version is specified, the more suitable value will be used. Unless a specific version is required, this option is not needed.

QRCode.toDataURL('some text', { version: 2 }, function (err, url) {
console.log(url)
})

编码模式

¥Encoding modes

模式可用于以更有效的方式对字符串进行编码。

¥Modes can be used to encode a string in a more efficient way.

根据字符串内容,一种模式可能比其他模式更合适。下表显示了支持的模式列表:

¥A mode may be more suitable than others depending on the string content. A list of supported modes are shown in the table below:

模式字符压缩
数字0, 1, 2, 3, 4, 5, 6, 7, 8, 93 个字符用 10 位表示
字母数字0–9、A–Z(仅大写)、空格、$、%、*、+、-、.、/、:2 个字符用 11 位表示
汉字来自基于 JIS X 0208 的 Shift JIS 系统的字符2 个汉字用 13 位表示
字节来自 ISO/IEC 8859-1 字符集的字符每个字符由 8 位表示

如果输入文本未知,选择正确的模式可能会很棘手。

¥Choose the right mode may be tricky if the input text is unknown.

在这些情况下,字节模式是最佳选择,因为所有字符都可以用它编码。(参见 多字节字符

¥In these cases Byte mode is the best choice since all characters can be encoded with it. (See Multibyte characters)

但是,如果 QR 码读取器支持混合模式,则使用 自动模式 可能会产生更好的结果。

¥However, if the QR Code reader supports mixed modes, using Auto mode may produce better results.

混合模式

¥Mixed modes

也可以使用混合模式。QR 码可以由一系列具有不同编码模式的段生成,以优化数据压缩。

¥Mixed modes are also possible. A QR code can be generated from a series of segments having different encoding modes to optimize the data compression.

但是,从一种模式切换到另一种模式需要付出代价,如果不考虑这一点,可能会导致最坏的结果。请参阅 手动模式 以了解如何指定具有不同编码模式的段的示例。

¥However, switching from a mode to another has a cost which may lead to a worst result if it's not taken into account. See Manual mode for an example of how to specify segments with different encoding modes.

自动模式

¥Auto mode

默认情况下,使用自动模式选择。

¥By default, automatic mode selection is used.

输入字符串会自动拆分为各种段,这些段经过优化,可使用混合模式生成最短的比特流。

¥The input string is automatically splitted in various segments optimized to produce the shortest possible bitstream using mixed modes.

这是生成 QR 码的首选方式。

¥This is the preferred way to generate the QR Code.

例如,字符串 ABCDE12345678?A1A 将拆分为 3 个段,模式如下:

¥For example, the string ABCDE12345678?A1A will be splitted in 3 segments with the following modes:

模式
ABCDE字母数字
12345678数字
?A1A字节

任何其他段和模式组合都将导致更长的比特流。

¥Any other combinations of segments and modes will result in a longer bitstream.

如果你需要保持二维码尺寸较小,此模式将产生最佳效果。

¥If you need to keep the QR Code size small, this mode will produce the best results.

手动模式

¥Manual mode

如果自动模式不适合你或你有特定需求,也可以使用相对模式手动指定每个段。这样,就不会在后台应用任何段优化。

¥If auto mode doesn't work for you or you have specific needs, is also possible to manually specify each segment with the relative mode. In this way no segment optimizations will be applied under the hood.

段列表可以作为对象数组传递:

¥Segments list can be passed as an array of object:

  var QRCode = require('qrcode')

var segs = [
{ data: 'ABCDEFG', mode: 'alphanumeric' },
{ data: '0123456', mode: 'numeric' }
]

QRCode.toDataURL(segs, function (err, url) {
console.log(url)
})

汉字模式

¥Kanji mode

使用汉字模式可以以优化的方式对 Shift JIS 系统中的字符进行编码。

¥With kanji mode is possible to encode characters from the Shift JIS system in an optimized way.

不幸的是,没有办法从例如以 UTF-8 编码的字符计算 Shifted JIS 值,因此需要从输入字符到 SJIS 值的转换表。

¥Unfortunately, there isn't a way to calculate a Shifted JIS values from, for example, a character encoded in UTF-8, for this reason a conversion table from the input characters to the SJIS values is needed.

此表默认不包含在包中,以尽可能减小大小。

¥This table is not included by default in the bundle to keep the size as small as possible.

如果你的应用需要汉字支持,你将需要传递一个函数来负责将输入的字符转换为适当的值。

¥If your application requires kanji support, you will need to pass a function that will take care of converting the input characters to appropriate values.

lib 通过一个可选文件提供了一种辅助方法,你可以将其包含在内,如下面的示例所示。

¥An helper method is provided by the lib through an optional file that you can include as shown in the example below.

注意:仅当你想从数据压缩中受益时才需要支持汉字模式,否则仍然可以使用字节模式对汉字进行编码(请参阅 多字节字符)。

¥Note: Support for Kanji mode is only needed if you want to benefit of the data compression, otherwise is still possible to encode kanji using Byte mode (See Multibyte characters).

  var QRCode = require('qrcode')
var toSJIS = require('qrcode/helper/to-sjis')

QRCode.toDataURL(kanjiString, { toSJISFunc: toSJIS }, function (err, url) {
console.log(url)
})

带有预编译包:

¥With precompiled bundle:

<canvas id="canvas"></canvas>

<script src="/build/qrcode.min.js"></script>
<script src="/build/qrcode.tosjis.min.js"></script>
<script>
QRCode.toCanvas(document.getElementById('canvas'),
'sample text', { toSJISFunc: QRCode.toSJIS }, function (error) {
if (error) console.error(error)
console.log('success!')
})
</script>

二进制数据

¥Binary data

QR 码可以保存任意基于字节的二进制数据。如果你尝试通过首先将数据转换为 JavaScript 字符串来创建二进制二维码,它将无法正确编码,因为字符串编码会增加额外的字节。相反,你必须传递 Uint8ClampedArray 或兼容数组,或 Node 缓冲区,如下所示:

¥QR Codes can hold arbitrary byte-based binary data. If you attempt to create a binary QR Code by first converting the data to a JavaScript string, it will fail to encode propery because string encoding adds additional bytes. Instead, you must pass a Uint8ClampedArray or compatible array, or a Node Buffer, as follows:

// Regular array example
// WARNING: Element values will be clamped to 0-255 even if your data contains higher values.
const QRCode = require('qrcode')
QRCode.toFile(
'foo.png',
[{ data: [253,254,255], mode: 'byte' }],
...options...,
...callback...
)
// Uint8ClampedArray example
const QRCode = require('qrcode')

QRCode.toFile(
'foo.png',
[{ data: new Uint8ClampedArray([253,254,255]), mode: 'byte' }],
...options...,
...callback...
)
// Node Buffer example
// WARNING: Element values will be clamped to 0-255 even if your data contains higher values.
const QRCode = require('qrcode')

QRCode.toFile(
'foo.png',
[{ data: Buffer.from([253,254,255]), mode: 'byte' }],
...options...,
...callback...
)

TypeScript 用户:如果你使用的是 @types/qrcode,则需要在数据段上方添加 // @ts-ignore,因为它需要 data: string

¥TypeScript users: if you are using @types/qrcode, you will need to add a // @ts-ignore above the data segment because it expects data: string.

多字节字符

¥Multibyte characters

最初的 QR 码标准不支持多字节字符,但可以在字节模式下编码 UTF-8 字符。

¥Support for multibyte characters isn't present in the initial QR Code standard, but is possible to encode UTF-8 characters in Byte mode.

QR 码提供了一种通过 ECI(扩展通道解释)指定不同类型字符集的方法,但它尚未在此库中完全实现。

¥QR Codes provide a way to specify a different type of character set through ECI (Extended Channel Interpretation), but it's not fully implemented in this lib yet.

但是,大多数 QR 码读取器即使没有 ECI 也能够识别多字节字符。

¥Most QR Code readers, however, are able to recognize multibyte characters even without ECI.

请注意,单个汉字/假名或表情符号最多可占用 4 个字节。

¥Note that a single Kanji/Kana or Emoji can take up to 4 bytes.

API

浏览器:

¥Browser:

服务器:

¥Server:

浏览器 API

¥Browser API

create(text, [options])

创建二维码符号并返回一个二维码对象。

¥Creates QR Code symbol and returns a qrcode object.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options

参见 QR 码选项

¥See QR Code options.

returns

类型:Object

¥Type: Object

// QRCode object
{
modules, // Bitmatrix class with modules data
version, // Calculated QR Code version
errorCorrectionLevel, // Error Correction Level
maskPattern, // Calculated Mask pattern
segments // Generated segments
}

toCanvas(canvasElement, text, [options], [cb(error)])

toCanvas(text, [options], [cb(error, canvas)])

将二维码符号绘制到画布上。

¥Draws qr code symbol to canvas.

如果省略 canvasElement,则返回新的画布。

¥If canvasElement is omitted a new canvas is returned.

canvasElement

类型:DOMElement

¥Type: DOMElement

在画布上绘制二维码。

¥Canvas where to draw QR Code.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options

参见 选项

¥See Options.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

示例

¥Example

QRCode.toCanvas('text', { errorCorrectionLevel: 'H' }, function (err, canvas) {
if (err) throw err

var container = document.getElementById('container')
container.appendChild(canvas)
})

toDataURL(text, [options], [cb(error, url)])

toDataURL(canvasElement, text, [options], [cb(error, url)])

返回包含二维码图片表示的数据 URI。

¥Returns a Data URI containing a representation of the QR Code image.

如果提供,canvasElement 将用作画布来生成数据 URI。

¥If provided, canvasElement will be used as canvas to generate the data URI.

canvasElement

类型:DOMElement

¥Type: DOMElement

在画布上绘制二维码。

¥Canvas where to draw QR Code.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options
  • type

    类型:String

    ¥Type: String

    默认:image/png

    ¥Default: image/png

    数据 URI 格式。

    ¥Data URI format.

    可能的值包括:image/png, image/jpeg, image/webp.

    ¥Possible values are: image/png, image/jpeg, image/webp.

  • rendererOpts.quality

    类型:Number

    ¥Type: Number

    默认:0.92

    ¥Default: 0.92

    如果请求的类型是 image/jpegimage/webp,则 01 之间的数字表示图片质量。

    ¥A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.

请参阅 选项 以了解其他设置。

¥See Options for other settings.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

示例

¥Example

var opts = {
errorCorrectionLevel: 'H',
type: 'image/jpeg',
quality: 0.3,
margin: 1,
color: {
dark:"#010599FF",
light:"#FFBF60FF"
}
}

QRCode.toDataURL('text', opts, function (err, url) {
if (err) throw err

var img = document.getElementById('image')
img.src = url
})

toString(text, [options], [cb(error, string)])

返回二维码的字符串表示。

¥Returns a string representation of the QR Code.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options
  • type

    类型:String

    ¥Type: String

    默认:utf8

    ¥Default: utf8

    输出格式。

    ¥Output format.

    可能的值包括:terminalutf8svg

    ¥Possible values are: terminal,utf8, and svg.

请参阅 选项 以了解其他设置。

¥See Options for other settings.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

示例

¥Example

QRCode.toString('http://www.google.com', function (err, string) {
if (err) throw err
console.log(string)
})

服务器 API

¥Server API

create(text, [options])

参见 create

¥See create.

toCanvas(canvas, text, [options], [cb(error)])

将二维码符号绘制到 节点画布

¥Draws qr code symbol to node canvas.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options

参见 选项

¥See Options.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

toDataURL(text, [options], [cb(error, url)])

返回包含二维码图片表示的数据 URI。

¥Returns a Data URI containing a representation of the QR Code image.

目前仅适用于 image/png 类型。

¥Only works with image/png type for now.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options

请参阅 选项 以了解其他设置。

¥See Options for other settings.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

toString(text, [options], [cb(error, string)])

返回二维码的字符串表示。

¥Returns a string representation of the QR Code.

如果选择的输出格式是 svg,它将返回一个包含 xml 代码的字符串。

¥If choosen output format is svg it will returns a string containing xml code.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options
  • type

    类型:String

    ¥Type: String

    默认:utf8

    ¥Default: utf8

    输出格式。

    ¥Output format.

    可能的值包括:utf8, svg, terminal.

    ¥Possible values are: utf8, svg, terminal.

请参阅 选项 以了解其他设置。

¥See Options for other settings.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

示例

¥Example

QRCode.toString('http://www.google.com', function (err, string) {
if (err) throw err
console.log(string)
})

toFile(path, text, [options], [cb(error)])

将二维码保存到图片文件。

¥Saves QR Code to image file.

如果未指定 options.type,则将从文件扩展名中猜测格式。

¥If options.type is not specified, the format will be guessed from file extension.

可识别的扩展名有 pngsvgtxt

¥Recognized extensions are png, svg, txt.

path

类型:String

¥Type: String

保存文件的路径。

¥Path where to save the file.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options
  • type

    类型:String

    ¥Type: String

    默认:png

    ¥Default: png

    输出格式。

    ¥Output format.

    可能的值包括:png, svg, utf8.

    ¥Possible values are: png, svg, utf8.

  • rendererOpts.deflateLevel(仅限 png)

    ¥rendererOpts.deflateLevel (png only)

    类型:Number

    ¥Type: Number

    默认:9

    ¥Default: 9

    deflate 的压缩级别。

    ¥Compression level for deflate.

  • rendererOpts.deflateStrategy(仅限 png)

    ¥rendererOpts.deflateStrategy (png only)

    类型:Number

    ¥Type: Number

    默认:3

    ¥Default: 3

    deflate 的压缩策略。

    ¥Compression strategy for deflate.

请参阅 选项 以了解其他设置。

¥See Options for other settings.

cb

类型:Function

¥Type: Function

完成后调用回调函数。

¥Callback function called on finish.

示例

¥Example

QRCode.toFile('path/to/filename.png', 'Some text', {
color: {
dark: '#00F', // Blue dots
light: '#0000' // Transparent background
}
}, function (err) {
if (err) throw err
console.log('done')
})

toFileStream(stream, text, [options])

将二维码图片写入流。目前仅适用于 png 格式。

¥Writes QR Code image to stream. Only works with png format for now.

stream

类型:stream.Writable

¥Type: stream.Writable

节点流。

¥Node stream.

text

类型:String|Array

¥Type: String|Array

要编码的文本或描述段的对象列表。

¥Text to encode or a list of objects describing segments.

options

参见 选项

¥See Options.

选项

¥Options

QR 码选项

¥QR Code options

version

类型:Number

¥Type: Number

QR 码版本。如果未指定,将计算更合适的值。

¥QR Code version. If not specified the more suitable value will be calculated.

errorCorrectionLevel

类型:String

¥Type: String

默认:M

¥Default: M

错误更正级别。

¥Error correction level.

可能的值是 low, medium, quartile, highL, M, Q, H

¥Possible values are low, medium, quartile, high or L, M, Q, H.

maskPattern

类型:Number

¥Type: Number

用于屏蔽符号的掩码模式。

¥Mask pattern used to mask the symbol.

可能的值有 01234567

¥Possible values are 0, 1, 2, 3, 4, 5, 6, 7.

如果未指定,将计算更合适的值。

¥If not specified the more suitable value will be calculated.

toSJISFunc

类型:Function

¥Type: Function

内部使用的辅助函数,用于将汉字转换为其 Shift JIS 值。

¥Helper function used internally to convert a kanji to its Shift JIS value.

如果你需要支持汉字模式,请提供此功能。

¥Provide this function if you need support for Kanji mode.

渲染器选项

¥Renderers options

margin

类型:Number

¥Type: Number

默认:4

¥Default: 4

定义静区应该有多宽。

¥Define how much wide the quiet zone should be.

scale

类型:Number

¥Type: Number

默认:4

¥Default: 4

比例因子。1 的值表示每个模块(黑点)1px。

¥Scale factor. A value of 1 means 1px per modules (black dots).

small

类型:Boolean

¥Type: Boolean

默认:false

¥Default: false

仅与终端渲染器相关。输出较小的二维码。

¥Relevant only for terminal renderer. Outputs smaller QR code.

width

类型:Number

¥Type: Number

强制输出图片的特定宽度。

¥Forces a specific width for the output image.

如果宽度太小而无法包含二维码符号,则将忽略此选项。

¥If width is too small to contain the qr symbol, this option will be ignored.

优先于 scale

¥Takes precedence over scale.

color.dark

类型:String

¥Type: String

默认:#000000ff

¥Default: #000000ff

深色模块的颜色。值必须为十六进制格式 (RGBA)。

¥Color of dark module. Value must be in hex format (RGBA).

注意:深色应始终比 color.light 深。

¥Note: dark color should always be darker than color.light.

color.light

类型:String

¥Type: String

默认:#ffffffff

¥Default: #ffffffff

浅色模块的颜色。值必须为十六进制格式 (RGBA)。

¥Color of light module. Value must be in hex format (RGBA).

GS1 QR 码

¥GS1 QR Codes

关于它们,这里有一个非常好的讨论。但简而言之,任何二维码生成器都会生成与 gs1 兼容的二维码,但定义 gs1 二维码的是带有描述你的 gs1 信息的元数据的标头。

¥There was a real good discussion here about them. but in short any qrcode generator will make gs1 compatible qrcodes, but what defines a gs1 qrcode is a header with metadata that describes your gs1 information.

https://github.com/soldair/node-qrcode/issues/45

致谢

¥Credits

这个库基于 "JavaScript 的 QRCode",幸好 Kazuhiko Arase 获得了 MIT 的许可。

¥This lib is based on "QRCode for JavaScript" which Kazuhiko Arase thankfully MIT licensed.

许可证

¥License

MIT

"QR 码" 一词是以下公司的注册商标:

¥The word "QR Code" is registered trademark of:

DENSO WAVE INCORPORATED