GrapeCity.devlog

グレープシティ株式会社のDeveloper Tools〈開発支援ツール〉の最新情報をお届けします。製品のTIPSや発売情報、イベントのお知らせなどをいち早く発信中です。

QRコード、バーコードをWindowsアプリで表示 ― CodeZine記事

飛行機の搭乗、テーマパークの入場、アトラクションの優先券、記念写真のダウンロード、再配達の申し込み… ちょっとした旅行の一日で何度も目にするもの、日常を少し離れた活動に欠かせないのがQRコードです。

印刷した紙を提示したり、画面に表示したり。また、機械に読み込ませたり、スマートフォンで撮影したり…
スムーズな行動をするための「鍵」になり、サービスを提供する側もされる側もその利便性から離れることができなくなっています。
QRコードやバーコードの利用者でありながらも、どうやっているのかな?とウラの仕組みを考えてしまう方も多いのではないでしょうか?

開発者のための実装系Webマガジン「CodeZine」で、バーコード生成に役立つコンポーネントを紹介する記事が公開されました。ComponentOne(コンポーネントワン)に、含まれるバーコードコンポーネントを、各種プラットフォームの開発環境で利用し、画面やデータグリッドに表示したり、印刷したりする方法を解説しています。

さまざまな利用方法を紹介しているので、9ページにおよぶ長編になりました。
1ページ目から読めばより理解が深まるのですが、前提知識のある方は興味があるプラットフォームの解説にショートカットする方法もあります。

ページごとにトピックが別れていますので、それぞれ簡単に紹介してみました。ご利用ください。


はじめに

記事の前提条件などを記載しているほかに、この記事のメインテーマであるBarCodeコントロールの概要、その利用方法など基本部分を解説しています。

Windows Forms(QRコード)編

BarCodeコントロールをWindows Formsに埋め込んで、QRコードを表示するサンプルアプリを作成します。長い文字列(最大値は7366文字)をQRコード表示する場合の、サイズ変更方法を解説しています。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (3ページ)

UWP(QRコード)編

プラットフォームが異なると、ライセンスの設定方法が変わってきます。しかしBarCodeコントロールの基本的な利用方法は同じです。
こちらではXAMLで記述するコードを基に解説しています。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (4ページ)

WPF(カスタマーバーコード)編

ここでは日本の郵便番号情報を表示するコードである、カスタマーバーコードをWPFアプリで表示する方法を解説しています。
UWP同様にXAMLでコードを記述し、テキストに入力したデータをバーコード表示するサンプルを作成しています。また、不正なデータを入力した場合のエラー処理の実装方法についての解説もあります。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (5ページ)

UWP(ISBNコード)編

書籍についている13桁の「ISBNコード」を表示する方法です。FlexGridコントロールを使い、書籍データ一覧のひとつの列としてバーコードを表示するサンプルです。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (6ページ)

QRコードの画像を保存 編

表示したQRコードを画像としてファイル保存する場合、プラットフォームごとに画像データの扱いが異なることを考慮する必要があります。
Windows Forms/WPF/UWPのそれぞれについて、サンプルコード付きで解説していますので違いを確認できます。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (7ページ)

UWP(Excel、PDFに保存)編

データグリッドに表示したISBNバーコード付きのデータを、Excel形式に変換してファイルに保存できます。
ComponentOneに含まれる別コンポーネントを組み合わせた例です。Excelと同じようにPDF形式のファイルに保存する方法も解説しています。

『WindowsアプリでバーコードやQRコードを簡単出力! 』 (8ページ)

これで解説は完了です。あとは、まとめの最終ページになります。

欠けている機能

こちらBarCodeコントロールを丁寧に解説した記事に仕上がりました。
しかし、冒頭のQRコード使用例にあるスマートフォンへのバーコード表示は実現していません。この点は記事中でも指摘されています。

ComponentOne for Xamarinは新しい製品なので、他のプラットフォームのものに比べるとコンポーネントの種類がまだ多くありません。コントロール一覧を見ていただくと分かりますが、残念なことにBarCodeコンポーネントもまだないのです。近い将来に追加されることを期待しましょう。

ComponentOneは継続して機能を追加していますので、今後対応環境を増やしていきます。


ComponentOneのコントロール

CodeZineの記事では、いくつかのコントロールを組み合わせて機能を実現するサンプルを紹介しました。
この他にも、各プラットフォーム用に多彩なコントロールを用意しています。プラットフォーム特性もあるので全ての機能を統一しているわけではありませんが、共通して利用できるものがたくさんあります。

各コントロールについてWebサイトで解説していますので、アプリケーション開発のヒントとして活用してください。

グレープシティ株式会社ではエンジニア経験者を幅広く募集しています。