エス技研

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.

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

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

  関連記事

JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()

JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。

XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()

XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。

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

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

リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α

リダイレクトループ、自動転送設定ループの原因の解説とその対応方法を含め事例 12例を挙げて説明。

乱数発生器(パスワード生成サービス)がバージョンアップで高速化!
乱数発生器(パスワード生成サービス)がバージョンアップで高速化!

乱数やパスワードを生成する乱数発生器を高速化!重複しない10桁、20桁の文字列を10万件、20万件と生成することも可能!イベントのキャンペーンのシリアルコードなどにも利用可能!

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

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

PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある
PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある

PHPでは月末の1ヶ月後が想定した日付にならない場合がある。原因はバグではなくPHPの1ヶ月後の定義によるもの。なので必要とする日付を定義しそれに合わせてDateTime、modifyを使用して算出方法を解説している。

PHPのソースで見慣れない記号が出てきた・アロー演算子(->)、ダブルアロー演算子(=>)

PHPのプログラムソースには見慣れない記号が出てきます。その意味や調べ方です。

指定した数で文字列を丸める関数substr、mb_substr、mb_strimwidthの違い
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い

文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。

ECCUBEの管理画面のSSL設定をインストール後に変更する方法

ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。