Socket
Socket
Sign inDemoInstall

@shortcm/qr-image

Package Overview
Dependencies
60
Maintainers
2
Versions
44
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @shortcm/qr-image

QR Code generator for browser and node.js with tree shaking and logo support


Version published
Weekly downloads
236
decreased by-37.07%
Maintainers
2
Created
Weekly downloads
 

Readme

Source

@shortcm/qr-image

npm version

QR Code generator for browser and node.js with tree shaking and logo support (based on alexeyten/qr-image).

image

Overview

  • generate image in png, svg and pdf formats
  • numeric and alphanumeric modes
  • support UTF-8
  • supports color customization
  • supports logos
  • tree shaking support
  • browser / node.js

Releases

Installing

npm install @shortcm/qr-image
# or
yarn add @shortcm/qr-image

Usage

Example:

import { getSVG } from "@shortcm/qr-image/lib/svg";
import { getPNG } from "@shortcm/qr-image/lib/png"; // imports canvas implementation in browser and sharp module in node.js
import { getPDF } from "@shortcm/qr-image/lib/pdf"; // this import is large, consider async import
const svgString = await getSVG("I love QR", {
    logo: fs.openFileSync("my-logo.svg"),
    color: "#000000",
    bgColor: "#FFFFFF",
});
const pngBuffer = await getPNG("I love QR", {
    logo: fs.openFileSync("my-logo.svg"),
    color: "rgb(0, 0, 0)",
    bgColor: "rgb(255, 255, 255)",
});

More examples

Syntax

  • getPNG(text, [options]): Readable stream with image data.
  • getSVG(text, [options]): Readable stream with image data.
  • getPDF(text, [options]): Readable stream with image data.

Options

  • text: text to encode
  • options: additional image options object
Additional Options
NameDescriptionTypePossible ValuesDefault
ec_levelerror correction levelstringL, M, Q, HM
typeimage typestringpng, svg, pdfpng
sizepng and svg only
size of one module in pixels
number0 - n5 (png)
0 (others)
marginwhite space around QR image in modulesnumber0 - n4 (png)
1 (others)
parse_urlEXPERIMENTAL
try to optimize QR-code for URLs
booleantrue, falsefalse
logobuffer with png/jpeg imageArrayBuffer-undefined
logoWidthheight of logo in percentnumber0 - 10020
logoHeightwidth of logo in percentnumber0 - 10020
colormodule color in rgba or hex formatnumber#000000 - #000000#000000
(black with 100% opacity)
bgColorbackground color in rgba or hex formatnumber#000000 - #FFFFFF#FFFFFF
(white with 100% opacity)
borderRadiusborder-radius (in pixels)number0 - size / 20

Benchmarks

getPNG x 229 ops/sec ±0.45% (84 runs sampled)
getPDF x 186 ops/sec ±24.91% (86 runs sampled)
getSVG x 2,482 ops/sec ±0.18% (90 runs sampled)
getPNG with logo x 69.96 ops/sec ±0.72% (68 runs sampled)
getPDF with logo x 44.83 ops/sec ±9.52% (77 runs sampled)
getSVG with logo x 2,494 ops/sec ±0.19% (88 runs sampled)

TODO

  • Use lighter versions of PDF library
  • Background

Keywords

FAQs

Last updated on 17 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc