エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


QRコード(二次元バーコード)作成サービスを公開

      2021/02/20

QRコード(二次元バーコード)作成サービスを公開

 
QRコード(二次元バーコード)作成サービス
https://s-giken.info/qrcode/index.php
 
QRコード(二次元バーコード)を作成するサービスをリリースしました。
 
※「QRコード」は株式会社デンソーウェーブの登録商標です。
 
 

QRコード(二次元バーコード)作成サービスの特徴

 
ハッキリ言って、他のサイトなどで提供されている QRコード(二次元バーコード)作成サービスと大きな違いはありません。
 
サイトの URL、メールアドレスを始め、ただのテキストの文章などを QRコード(二次元バーコード)の画像に変換して表示する、というものです。
 
作成の際に選択できるオプションは以下のとおりです。
 

  • 画像のサイズ
  • エラー訂正レベル
  • 画像の中の余白のサイズ

 
 

「画像サイズ」オプション

 
「画像サイズ」は、QRコードを画像として生成しますが、その画像自体のサイズをピクセル数で指定するものです。
数値が大きいほど大きな画像になります。
 
01_QRコード(二次元バーコード)作成サービスを公開
 
上記は、縦横 100ピクセル、縦横 200ピクセルのサンプルの QRコードです。
大きな画像にするほど 1つずつのセル(※)の大きさも大きくなりますので、エラーが発生しにくくなります。
QRコードにする文字数によって適切なサイズを指定します。
 
※「セル」とは、QRコードを構成している四角の白黒の点のことです。
 
 
また、印刷することを想定する場合は、より大きな画像で作成し、解像度を高くして印刷することをオススメします。
 
※画面に表示される画像の解像度は 72dpiですが、一般的な印刷物の解像度は 300dpiです。
そのため、印刷を想定する場合は、必要なサイズの 4倍のサイズで作成するといいでしょう。
 
 

「エラー訂正レベル」オプション

 
QRコードには、QRコードのセルが読み取れなかった場合に、情報を自動的に補正して、正しい情報に訂正する仕組みがあります。
そのどれくらい読み取れなくても正しい情報として読み取ることができるか、を決めたものが「エラー訂正レベル」で、「エラー訂正レベル」が高いほど読み取れないセルが多くても正しい情報に変換してくれます。
 
 
02_QRコード(二次元バーコード)作成サービスを公開
 
ただし、「エラー訂正レベル」を高くすると、より多くのセルが必要となりますので、より大きな画像にならざるを得なくなっていきます。
上記の画像は、同じ 100文字の文字列を QRコードにしたものですが、エラー訂正レベルが高いほどセルの大きさが小さくなっています。(セルの数が多くなっています。)
 
設定できるものは下記のもので、デフォルトでは「L」が設定されています。
 
「L : 7%の欠損まで復元可能」
「M : 15%の欠損まで復元可能」
「Q : 25%の欠損まで復元可能」
「H : 30%の欠損まで復元可能」
 
QRコードの「誤り訂正機能」については下記を参照してください。
 
QRコード・誤り訂正機能について
https://www.qrcode.com/about/error_correction.html
 
 
野外で風雨にさらされる場所や、多くの人が触るような場所などに設置する場合は、QRコードが汚れたり破れたりして読み取れないセルも発生する可能性があります。
そのような場所に設置する QRコードの場合は、「エラー訂正レベル」を高いものにしておく方がいいでしょう。
逆に、スマホや PCの画面に QRコード表示するような場合は、「エラー訂正レベル」は低いもので問題ありません。
 
 

「画像の中の余白のサイズ」オプション

 
「画像の中の余白のサイズ」は、作成する画像に対して、どれくらいの余白をとって QRコードを表示させるか、という指定です。
 
数値が 0の場合は、ほぼ余白はありません。
数値が大きくなっていくほど余白が大きくなっていきます。
 
03_QRコード(二次元バーコード)作成サービスを公開
 
上記の画像は、余白「3」です。
 
 

QRコード(二次元バーコード)について

 
QRコードについて詳しく知りたい、という方は下記の本家のサイトを見ていただくことが一番だと思います。
 
QRコードドットコム
https://www.qrcode.com/
 
知らない方もあるかもしれませんが、QRコードは、自動車メーカーの「株式会社デンソー」が開発した二次元バーコードです。
現在は、開発部門を分離、子会社化した「株式会社デンソーウェーブ」が特許を持っています。
 
そして、デンソーウェーブは、「QRコードの特許権を行使しない」と宣言したこともあり、日本国内にとどまらず、世界中で使われるようになっていきました。
また、デンソーウェーブが特許権を行使しないため、我々もこうして QRコードを生成するサービスを自由に提供できるようになっています。
 
 

QRコード生成ライブラリ「cakePHP-QR-Code-Helper」

 
この QRコード(二次元バーコード)作成サービスは、下記の「cakePHP-QR-Code-Helper」をカスタマイズして利用しています。
 
muxe/cakePHP-QR-Code-Helper
https://github.com/muxe/cakePHP-QR-Code-Helper
 
 
詳細は下記の記事に書いていますが、「cakePHP-QR-Code-Helper」は CakePHP2で QRコードを生成するためのライブラリです。
CakePHP3でQRコードを作成、表示するライブラリ「cakePHP-QR-Code-Helper」
QRコード作成ライブラリ「cakePHP-QR-Code-Helper」をPHPで使うカスタマイズ
 
その内部では、Googleがグラフを生成、表示するために提供している API「Google Chart API」が使われています。
 
そのため、この QRコード(二次元バーコード)作成サービスでは、作成した QRコードの画像はサーバ上には持っていません。(QRコードは、「Google Chart API」のサーバで生成しています。)
 
また、QRコードの生成履歴なども残していませんので、過去に生成した QRコードが漏洩すると言った心配はありません。
 
逆に、過去に作成した QRコードを一覧表示したい、といったことはできません。
 
 

「URL短縮サービス・TTTオンライン」でも QRコードを生成している

 
同じ QRコードライブラリ「cakePHP-QR-Code-Helper」を使って作成したサービスとして、「URL短縮サービス・TTTオンライン」があります。
 
URL短縮サービス・TTTオンライン
https://ttt.onl
 
この TTTオンラインを作った知見に基づいて作成したのが、この記事で紹介した「QRコード(二次元バーコード)作成サービス」ですが、TTTオンラインもよろしければこちらも使ってみてください。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

ECCUBEの注文完了画面注文番号と商品情報を編集するCRITEO(クリテオ)タグを編集

ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。

配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例
配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例

配列の値を「、」でつないで出力する際、単純にforeachで繰り返し処理をすると「イヌ、サル、キジ、」となるが文字列最後の「、」を出力しない方法を3つ解説している。

SEO対策用タイトル、ディスクリプションの文字数カウントツール

SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。

ECCUBE mtb_constants initパラメータ設定の項目を追加する方法

ECCUBEのパラメータ設定で設定できる項目を追加する方法を説明します。

パーミッション(属性)一括変更ツール・WordPress最適化済

WordPressのパーミッション(属性)を一括変更するツールを作成!ファイル、フォルダのパーミッションが一覧表示でき、ファイルを選んでパーミッションの変更が行えます。

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

Smartyの Syntax Errorの原因はスペースかも

Smartyのなかなか原因がつかめない Syntax Errorの原因はスペースかもしれません。

ECCUBEでアップロードできない。upload_max_filesizeを設定する場所

テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。

PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法

「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。

PHPパーミッション変更のchmod関数・モードを変数で指定する方法

パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。