本サイトではアフィリエイト広告を利用しています
コマンドラインから QR コードを作成する

Cygwin JavaScript PC-UNIX コード ソフトウェア ハウツー

コマンドラインから素早く QR コードを作成する

2023年1月30日

QR コードはうざく思う人もいるのでしょうが、私は登場したときから頻繁に利用しています。特に、Wi-Fi のパスワードやショップの URLメールアドレスは QR コード化した方がはるかに便利です。

メールアドレスや SNS アカウント登録を促す場合は QR コード化しないものを見せるか、したものを見せるかでは、返信率、登録率が全く違うように感じます。ユーザーにしてみれば、小さなキーボードでタイプするより、コードをカメラで撮影する方がお手軽です。それほど、スマホカメラが常用ツールになっているのだと理解しています。

クライアントまたは自分自身のために QR コードを生成する必要がある場合は、QR コード作成はスマホの無料アプリより、コンソールで素早く作る方が楽なこともあります。

QR コードのライブラリをインストールする

ライブラリをインストールすることから始めます。

優秀と評判の node-qrcode (JavaScript プロジェクト)を利用して、自分の環境を整えていきます。

地盤は Cygwin 環境でも何でも構いません。
操作は、すべてターミナル(コンソール)からやります。
Windows ユーザーは TeraTerm がおすすめです。

ディレクトリ
/home/temp
で実験することにします。

 bash
ubu@ntu:~$ mkdir /home/temp
ubu@ntu:~$ cd /home/temp
ubu@ntu:~$ sudo npm install -g qrcode
ubu@ntu:~$ npm install --save qrcode

もしくは

 bash
ubu@ntu:~$ mkdir /home/temp
ubu@ntu:~$ cd /home/temp
ubu@ntu:/home/temp$ sudo yarn add qrcode
ubu@ntu:/home/temp$ npm install --save qrcode

で、QR コード絡みのライブラリをインストールします。

早速 QR コードを作ってみる、スクリプト作成

次のようなスクリプトファイルをテスト的に作ります。

 
var QRCode = require('qrcode')
const generateQR = async text => {
  try {
    console.log(await QRCode.toString(text, {type: 'terminal'}))
  } catch (err) {
    console.error(err)
  }
}
generateQR ( "https://ineters.com" );

このままテキストファイルで generateQR.js などとして保存します。
上の太字の部分が QR コード化されます。

早速 QR コードを作ってみる、出力してみる

基本はコンソールに出すようにします。

 bash
ubu@ntu:~$ cd /home/temp
ubu@ntu:/home/temp$ node generateQR.js

出力は以下のような感じになります(TeraTerm を使った場合)。

node generateQR.js

イメージ画像として一発保存

 
var QRCode = require('qrcode')
const generateQR = async text => {
  try {
    await QRCode.toFile('./ineters-qr-code.png', text);
  } catch (err) {
    console.error(err)
  }
}
generateQR ( "https://ineters.com" );

png ファイルとしてイメージ保存することもできます。
上のコードのように、太字部分を変えるだけです。スクリプトとしてファイル名は generateQRpng.js として保存しました。

 bash
ubu@ntu:~$ cd /home/temp
ubu@ntu:/home/temp$ node generateQRpng.js

後は応用して、もう少しスマートに中身を入力できるものに改良します(後ほど)。


関連記事
JavaScript でかんたんに全置換する方法
[初級]JavaScript でかんたんに全置換する方法

長い長文をさっさと JavaScript で置換したいときに、私がままでダサいコードを書いていたので、昨年の小反省を込め ...

続きを見る

-Cygwin, JavaScript, PC-UNIX, コード, ソフトウェア, ハウツー
-, ,