qrcode-reader vs html5-qrcode vs jsqr vs qr-code-styling vs qr-scanner vs qrious
QRコードライブラリ
qrcode-readerhtml5-qrcodejsqrqr-code-stylingqr-scannerqrious類似パッケージ:

QRコードライブラリ

QRコードライブラリは、QRコードの生成やスキャンを簡単に行うためのJavaScriptパッケージです。これらのライブラリは、WebアプリケーションやモバイルアプリケーションにQRコード機能を統合するための便利なツールを提供します。各ライブラリは異なる機能や特性を持ち、開発者はプロジェクトのニーズに応じて適切なライブラリを選択することが重要です。

npmのダウンロードトレンド

3 年

GitHub Starsランキング

統計詳細

パッケージ
ダウンロード数
Stars
サイズ
Issues
公開日時
ライセンス
qrcode-reader115,737283-178年前Apache-2.0
html5-qrcode06,0932.63 MB4303年前Apache-2.0
jsqr04,003-965年前Apache-2.0
qr-code-styling02,773516 kB1101年前MIT
qr-scanner02,851524 kB118-MIT
qrious01,625-439年前GPL-3.0

機能比較: qrcode-reader vs html5-qrcode vs jsqr vs qr-code-styling vs qr-scanner vs qrious

スキャン機能

  • qrcode-reader:

    QRコードリーダーは、静止画像からQRコードを読み取る機能を提供します。画像処理に特化しており、他のライブラリと組み合わせて使用することができます。

  • html5-qrcode:

    HTML5 QRコードライブラリは、カメラを使用してリアルタイムでQRコードをスキャンする機能を提供します。ブラウザで直接動作し、ユーザーにインタラクティブな体験を提供します。

  • jsqr:

    JSQRは、画像データからQRコードをデコードするためのライブラリで、特にパフォーマンスに優れています。画像を解析し、QRコードを迅速に読み取ることができます。

  • qr-code-styling:

    QRコードスタイリングライブラリは、スキャン機能を持たず、主にQRコードの生成に特化しています。デザイン性の高いQRコードを作成することが可能です。

  • qr-scanner:

    QRスキャナーは、カメラを使用してQRコードをスキャンするシンプルな機能を提供します。ユーザーが簡単にQRコードを読み取れるように設計されています。

  • qrious:

    Qriousは、QRコードの生成に特化したライブラリで、スキャン機能はありませんが、簡単にQRコードを生成できます。

カスタマイズ性

  • qrcode-reader:

    QRコードリーダーは、主に読み取り機能に特化しており、カスタマイズ性はありません。

  • html5-qrcode:

    HTML5 QRコードライブラリは、スキャンしたQRコードの情報をカスタマイズするオプションを提供しますが、デザインのカスタマイズは制限されています。

  • jsqr:

    JSQRは、QRコードのデコードに特化しているため、カスタマイズ性は低いですが、デコード精度が高いです。

  • qr-code-styling:

    QRコードスタイリングライブラリは、色、形、ロゴなど、QRコードのデザインを自由にカスタマイズできる機能を提供します。

  • qr-scanner:

    QRスキャナーは、シンプルなスキャン機能を提供しますが、カスタマイズ性は低いです。

  • qrious:

    Qriousは、QRコードの生成に特化しており、シンプルなカスタマイズオプションを提供します。

パフォーマンス

  • qrcode-reader:

    QRコードリーダーは、静止画像からの読み取りに特化しており、パフォーマンスは画像の品質に依存します。

  • html5-qrcode:

    HTML5 QRコードライブラリは、リアルタイムスキャンに最適化されており、スムーズなユーザー体験を提供します。

  • jsqr:

    JSQRは、高速なデコード性能を持ち、大量のQRコードを迅速に処理することができます。特に、画像からのデコードが得意です。

  • qr-code-styling:

    QRコードスタイリングライブラリは、生成速度は速いですが、スキャン機能は持っていません。

  • qr-scanner:

    QRスキャナーは、スキャン速度が速く、ユーザーが迅速にQRコードを読み取ることができます。

  • qrious:

    Qriousは、QRコードの生成が迅速で、軽量なライブラリです。

使用シナリオ

  • qrcode-reader:

    QRコードリーダーは、画像からQRコードを読み取る必要がある場合に便利です。

  • html5-qrcode:

    HTML5 QRコードライブラリは、WebアプリケーションでのリアルタイムQRコードスキャンに最適です。

  • jsqr:

    JSQRは、画像処理が必要なアプリケーションでのQRコードデコードに適しています。

  • qr-code-styling:

    QRコードスタイリングライブラリは、マーケティングやブランドプロモーション用のカスタマイズされたQRコードを生成するのに最適です。

  • qr-scanner:

    QRスキャナーは、簡単なQRコードスキャン機能を必要とするアプリケーションに適しています。

  • qrious:

    Qriousは、シンプルなQRコード生成が必要な場合に最適です。

学習曲線

  • qrcode-reader:

    QRコードリーダーは、シンプルな機能を持ち、学習曲線は非常に低いです。

  • html5-qrcode:

    HTML5 QRコードライブラリは、比較的簡単に使用でき、初心者でも扱いやすいです。

  • jsqr:

    JSQRは、デコードに特化しているため、使いやすさは高いですが、他の機能は持っていません。

  • qr-code-styling:

    QRコードスタイリングライブラリは、デザインのカスタマイズが可能ですが、使い方に少し慣れが必要です。

  • qr-scanner:

    QRスキャナーは、シンプルなAPIを提供しており、初心者でも簡単に実装できます。

  • qrious:

    Qriousは、シンプルなQRコード生成が可能で、初心者にも扱いやすいです。

選び方: qrcode-reader vs html5-qrcode vs jsqr vs qr-code-styling vs qr-scanner vs qrious

  • qrcode-reader:

    QRコードリーダーは、静止画像からQRコードを読み取る機能に特化しています。画像処理が必要な場合に便利です。

  • html5-qrcode:

    HTML5 QRコードライブラリは、ブラウザベースのQRコードスキャン機能を必要とする場合に最適です。特に、カメラを使用してリアルタイムでQRコードをスキャンする必要がある場合に便利です。

  • jsqr:

    JSQRは、QRコードのデコードに特化したライブラリで、高速なパフォーマンスが求められる場合に適しています。特に、画像データからQRコードを抽出する必要がある場合に有効です。

  • qr-code-styling:

    QRコードスタイリングライブラリは、カスタマイズ可能なQRコードを生成したい場合に最適です。デザイン性が高く、ブランドに合わせたQRコードを作成することができます。

  • qr-scanner:

    QRスキャナーは、シンプルで使いやすいQRコードスキャン機能を提供します。特に、簡単な実装を求める開発者に適しています。

  • qrious:

    Qriousは、QRコードを簡単に生成するための軽量ライブラリです。シンプルなQRコード生成が必要な場合に最適です。

qrcode-reader のREADME

JavaScript QRCode reader for HTML5 enabled browser.

This was started as a port of Lazarsoft’s qrcode reader.

It is a maintained fork, so feel free to open issues or PR !

Build Status

Installation

npm install qrcode-reader

Usage

var QrCode = require('qrcode-reader');

Create a new instance of QrCode:

var qr = new QrCode();

Set its callback to a custom function:

qr.callback = function(error, result) {
  if(error) {
    console.log(error)
    return;
  }
  console.log(result)
}

Passing image data in node

You have to use an external imageparser

  1. You can use npm install --save jimp which doesn't have any dependency (runs in pure node).

    var Jimp = require("jimp");
    var buffer = fs.readFileSync(__dirname + '/image.png');
    Jimp.read(buffer, function(err, image) {
        if (err) {
            console.error(err);
            // TODO handle error
        }
        var qr = new QrCode();
        qr.callback = function(err, value) {
            if (err) {
                console.error(err);
                // TODO handle error
            }
            console.log(value.result);
            console.log(value);
        };
        qr.decode(image.bitmap);
    });
    
  2. You can use npm install --save image-parser, which depends on lwip or graphicsmagick

    var ImageParser = require("image-parser");
    var buffer = fs.readFileSync(__dirname + '/image.png');
    var img = new ImageParser(img);
    img.parse(function(err) {
        if (err) {
            console.error(err);
            // TODO handle error
        }
        var qr = new QrCode();
        qr.callback = function(err, value) {
            if (err) {
                console.error(err);
                // TODO handle error
                return done(err);
            }
            console.log(value.result);
            console.log(value);
        };
        qr.decode({width: img.width(), height: img.height()}, img._imgBuffer);
    });
    

Passing image data in the browser

Since the browser contains the Image global, we can use it to open images with URL, Data URI, ...

Decode an image by its URL or Data URI:


qr.decode(url or DataURL);

Decode an image by context.getImageData: Works with web workers.


var context = canvas.getContext("2d"); var data = context.getImageData(0, 0, width, height);

qr.decode(data);

====================

If you want, you can build the script yourself.

First clone the repository, then from the directory of this repository, do:


npm install

To run the build process and generate a JavaScript file called dist/index.js you can run from node:


npm run build

To run the tests:


npm test

Make it work in the browser

The generated file dist/index.js works in the browser.

You will have access to the global variable QrCode if you do the following in your HTML:

```

\`\`\`

See examples/browser-upload/index.html for a very basic example using a file upload.

Changelog

See CHANGELOG.md.