隣国・中国では支付宝(アリペイ)などのQRコード決済サービスを利用して、キャッシュレス決済が盛んに行われていますよね。これだけ普及した背景には、中国ならではの偽札の横行問題や銀聯カードの普及などが挙げられています。もっと他にもいっぱい普及理由はありますけど、それに関してはまた別の機会にお勉強するとしましょう。
昨年の消費税増税を機に、キャッシュレス化に舵を切った日本ですが、果たして中国のようにQRコード決済は普及するのでしょうか。日本では普及しないなんていう専門家の意見も多い今日この頃ですが、ここは備えあれば患いなしということで、日本で爆発的に普及した時のために、今から簡単にQRコードを作成できるように準備しておきましょう。(笑)
私のアプリケーション開発の主戦場は、Visual Studioを利用してのC#アプリの開発です。なので、今回はC#でQRコードを作成する方法をここで一緒に確認していきたいと思います。
有料では多くの優れたQRコードを作成するライブラリは存在していますが、開発予算が雀の涙ほどしかでないプロジェクトのために、ここは無料で利用できるライブラリを活用することを前提にして、開発できるようにしておくことにします。(笑)
目次
C#で無料で開発するために、DotNetBarcodeを導入しましょう

いざ無料で使用できるライブラリを探してみると、なかなかいいものが見つからないものです。だって無料ですもんね。それに只より高い物はないと言いますし・・・(汗)
根気よくGoogle先生を活用して検索を行った結果、一件いいライブラリを発見できました!!
「DotNetBarcode」
いかにも、.NET開発用のライブラリって感じがしますよね!!(笑)
ここは百聞は一見に如かずということで、まずはDotNetBarcodeをダウンロードしましょう。
下記のサイトからダウンロードすることができます。
QRCode対応完全無料ライブラリDotNetBarcode
ダウンロードが完了したら、DotNetBarcode_V2.4.0.zipファイルを解凍します。解凍が済んだDotNetBarcode_V2.4.0フォルダ内に「DotNetBarcode.dll」がありますので、これを各自適切な場所に配置しましょう。
配置ができたら、あとはVisual Studioのソリューションエクスプローラーからお決まりのDLL参照を行います。これで「DotNetBarcode.dll」を利用してのQRコードを作成するための準備が整いました。
DotNetBarcode_V2.4.0フォルダ内を見ていただけたらわかると思いますが、C#用のサンプルプログラムがすでに内包されています。めちゃくちゃ親切ですよね。これは開発者にとっては非常にありがたいことだと思いますよ。
次は、実際に私が作成したサンプルソースをもとにコーディング方法を確認していきましょう。
DotNetBarcodeを利用してのQRコード作成サンプルプログラム

実際にサンプルプログラムを作成しました。ご参考ください。
コーディング環境は、Visual Studio Community 2017、C#、Windows Formsを利用して作成しています。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | using System; using System.Windows.Forms; namespace QRCode {     public partial class QREdit : Form     {         private DotNetBarcode QR = new DotNetBarcode();         public QREdit()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             //ダウンロードフォルダの入力チェック             if ( String.IsNullOrEmpty(DLfolder.Text))             {                 MessageBox.Show("ダウンロードフォルダを入力してください",                     "エラー",                     MessageBoxButtons.OK,                     MessageBoxIcon.Error);                 return;             }             //ファイル名の入力チェック             if (String.IsNullOrEmpty(FileNm.Text))             {                 MessageBox.Show("ファイル名を入力してください",                     "エラー",                     MessageBoxButtons.OK,                     MessageBoxIcon.Error);                 return;             }             //URLの入力チェック             if (String.IsNullOrEmpty(URL.Text))             {                 MessageBox.Show("URLを入力してください",                     "エラー",                     MessageBoxButtons.OK,                     MessageBoxIcon.Error);                 return;             }             var Path = String.Concat(DLfolder.Text, @"\");      //保存するパス名             var QRCode = URL.Text;                              //作成するQRコード             QR.Type = DotNetBarcode.Types.QRCode;               //QRコードを指定             QR.SaveFileType = DotNetBarcode.SaveFileTypes.Jpeg; //JPEGタイプで保存             //QRコードを保存します             //第一引数:QRコード、第二引数:保存パス、第三引数:横サイズ、第四引数:縦サイズ             QR.Save(QRCode, String.Concat(Path, FileNm.Text), 775, 206);         }         private void button2_Click(object sender, EventArgs e)         {             //参照フォルダ出力             DialogResult dr = folderBrowserDialog1.ShowDialog();             if (dr == System.Windows.Forms.DialogResult.OK)             {                 DLfolder.Text = folderBrowserDialog1.SelectedPath;             }         }     } } | 
作成した画面を実行します

URLには今回は当サイトのURLを指定します。
作成できたQRコードを確認します
こちらが実際にサンプルプログラムから出力したQRコードです。
QRコードを読み取ると、当サイトへ遷移することが確認できると思います。

まとめ
C#でQRコードを作成するとなると、有料のライブラリを利用する必要があるかと思っていましたが、無料で利用できるなんて本当にありがたいですよね。しかも超簡単!!
しかし、このライブラリが作成されたのが10年以上前ですから、若干の不安はありますが・・・(汗)
まぁ今回使用できるのは確認できましたので、良しとしましょう。(笑)
DotNetBarcodeはC#だけでなくVB.NETでも当然利用できますので、利用してみる価値はあるかと思います。QRコードを作成する機会が訪れた時には、ぜひ導入を検討してみてくださいね。
最後までお読みいただきありがとうございました。
