はじめに
PlusPak for Windows Forms 5.0JのGcBarCodeコンポーネントを使うと、バーコードを簡単に作成できます。今回は、商品の倉庫管理用バーコードを作成するアプリケーションを作ってみました。
このアプリケーションでは、倉庫、棚、商品の各番号を組み合わせてバーコードを作成します。作成したバーコードは、ビットマップ画像として保存されるので、Excelやデータベースなどのアプリケーションで一括管理できます。
対象読者
Visual Basic 2005・2008またはVisual C# 2005・2008を使ってプログラムを作ったことのある人。
必要な環境
Visual Basic 2005、2008またはVisual C# 2005、2008、Visual Studio 2005、2008でプログラムが作れる環境。
なお、本プログラムはWindows Vista上で動作するVisual Studio 2005を使用して作成し、動作確認を行っています。
プログラム実行時の注意事項
PlusPak for Windows Forms 5.0Jを使って作成したアプリケーションを配布する場合、PlusPak for Windows Forms 5.0Jのアセンブリファイルを添付する必要があります。これは、Common Language RuntimeのDLLをアプリケーションと一緒に配布するのと同じです。
本記事のサンプルアプリケーションを正常に動作させるためには、次の4ファイルをインストールする必要があります。
ファイル名 | 説明 |
---|---|
GrapeCity.Win.PlusPak.v50.dll | 本体コンポーネント |
GrapeCity.Framework.PlusPak.v20.dll | 製品のフレームワーク |
GrapeCity.Win.PlusPak.v50.resources.dll | 本体コンポーネントのサテライトリソース |
GrapeCity.Framework.PlusPak.v20.resources.dll | 製品フレームワークのサテライトリソース |
これらのファイルを、プログラムを実行するBinフォルダに格納します。.NET Framework 2.0から追加されたクラスやメンバを使用しているので、.NET Framework 2.0がインストールされていることが必須条件です。
コントロールのインストール
はじめてPlusPak for Windows Forms 5.0Jを使用する方は、Visual Studio、Visual Basic、Visual C#の開発環境にPlusPak for Windows Forms 5.0Jをインストールする必要があります。インストーラは、グレープシティのWebページからダウンロードできます。
ユーザー情報を登録すると送られてくるメールに、ダウンロード用のURLが記載されているので、ここからダウンロードしてインストールしてください。ファイルはzip形式で圧縮されています。
有償のコントロールですが、プロダクトキーを入力せずにインストールすることで、トライアル版として使用できます。制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。
コントロールの追加
PlusPak for Windows Forms 5.0Jをインストールしたら、ツールボックスに専用のタブを作成し、使用するコントロールを追加します。追加するコントロールは、「.NET Frameworkコントロール」のアセンブリ名が「GrapeCity.Win.PlusPak」で始まるコントロール「GcBarCode」です。
GUIのデザイン
今回使用するコントロールです。GcBarCodeコンポーネント以外は、標準コントロールで構成します。
GcBarCodeコンポーネントについて
GcBarCodeコンポーネントは、バーコードを作成するコントロールです。チェックデジットの自動計算、サイズ設定や回転処理、データ連結など多彩な機能を備えており、数値と種類の指定のみで簡単にバーコードを出力できるのが特徴です。また、解像度にあわせて最適なバーコードイメージを生成することにより、高い読み取り率を実現しています。
GcBarCodeコンポーネントは、次のバーコードの種類に対応しています。
- Code39(FullAscii)
- Code49
- Code93
- Code128
- EAN8
- EAN13
- EAN128
- ITF
- NW-7(Codabar)
- PDF417
- PostNet
- QRコード
- UPC(A/E add 2/5)
- カスタムバーコード(郵便バーコード)
今回は、一般的によく使われている横棒型のバーコードで、13桁の数字でコードを表す「JAN13」タイプのバーコードを作成します。
一般的に流通している商品は、バーコードの先頭に日本の国籍を表すコード(49または45)やカンパニーコードを付加していますが、このアプリケーションでは社内の管理用に使用するということにし、国籍コードやカンパニーコードは入れず、倉庫の番号と棚番号、商品番号からバーコードを作成するという単純な機能にしています。
GcBarCodeコンポーネントの使い方は簡単です。Typeプロパティに作成するバーコードのタイプを次の定数から選びます。
メンバ名 | 説明 |
---|---|
6 - JAN8 | JAN/EAN 8桁バーコード |
7 - JAN13 | JAN/EAN 13桁バーコード |
8 - EAN128 | UCC/EAN128バーコード |
1 - Code39 | CODE39(フルアスキーもサポート) |
4 - Code93 | CODE93 |
5 - Code128 | CODE128 |
9 - ITF | ITF(Interleaved 2of5) |
10 - PostNet | POSTNET(USで使用される郵便バーコード) |
13 - UPC | UPC(A/E/アドオンにも対応) |
17 - NW7 | NW-7(CODABAR) |
18 - JapanesePostal | 郵便バーコード |
3 - Code49 | Code49 |
19 - PDF417 | PDF417(簡易版も対応) |
20 - QRCode | QRCode(Model1/2に対応) |
そして、Valueプロパティにバーコードにする値を設定します。
実際にバーコードを作成するのは、CreateBitmapまたはCreateMetafileメソッドを使用します。CreateBitmapメソッドはバーコードをビットマップ形式で、CreateMetafileメソッドはメタファイル形式で、画像イメージファイルとして出力します。
このプログラムでは、バーコードをビットマップ形式で保存するようにします。
コードの作成
コーディングはそんなに難しくありません。2つのComboBoxとTextBoxコントロールの値を連結し、GcBarCodeコンポーネントのValueプロパティにセットします。そして、CreateBitmapメソッドを実行し、バーコードをビットマップに保存します。
保存するファイル名は、「BarCode1.bmp」「BarCode2.bmp」と、バーコードを連続して作成できるように連番を振ったファイル名にします。
CreateBitmapメソッドは、引数に画像解像度のDPI値を指定できますので、ここでは120DPIのビットマップファイルを作成するようにしています。作成したビットマップはImageオブジェクトとして変数に格納し、Saveメソッドを実行してファイルに保存します。
なお、コード作成の際は、GrapeCity.Win.BarCode名前空間をインポートしてください。
Imports GrapeCity.Win.BarCode Public Class Form1 Private icount As Integer = 1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With Me.ComboBox1.Items .Add("101") .Add("102") .Add("103") .Add("201") .Add("202") .Add("203") .Add("301") .Add("302") End With With Me.ComboBox2.Items .Add("01") .Add("02") .Add("03") .Add("04") .Add("05") .Add("06") End With End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim codenumber As String codenumber = ComboBox1.Text & ComboBox2.Text & TextBox1.Text TextBox2.Text = codenumber End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click With GcBarCode1 .Type = GrapeCity.Win.BarCode.ValueType.BarType.JAN13 .Value = TextBox2.Text End With Dim imgBarcode1 As Image = GcBarCode1.CreateBitmap(120) Dim fname As String = "j:\barcode\BarCode" & icount & ".bmp" imgBarcode1.Save(fname, System.Drawing.Imaging.ImageFormat.Bmp) icount += 1 End Sub End Class
using GrapeCity.Win.BarCode; namespace mybarcode_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int icount = 1; private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.Add("101"); comboBox1.Items.Add("102"); comboBox1.Items.Add("103"); comboBox1.Items.Add("201"); comboBox1.Items.Add("202"); comboBox1.Items.Add("203"); comboBox1.Items.Add("301"); comboBox1.Items.Add("302"); comboBox2.Items.Add("01"); comboBox2.Items.Add("02"); comboBox2.Items.Add("03"); comboBox2.Items.Add("04"); comboBox2.Items.Add("05"); comboBox2.Items.Add("06"); } private void button1_Click(object sender, EventArgs e) { string codenumber; codenumber = comboBox1.Text + comboBox2.Text + textBox1.Text; textBox2.Text = codenumber; } private void button2_Click(object sender, EventArgs e) { gcBarCode1.Type = GrapeCity.Win.BarCode.ValueType.BarType.JAN13; gcBarCode1.Value = textBox2.Text; Image imgBarcode1 = gcBarCode1.CreateBitmap(120); string fname = "j:/barcode/BarCode" + icount + ".bmp"; imgBarcode1.Save(fname, System.Drawing.Imaging.ImageFormat.Bmp); icount++; } } }
Service Pack 1について
なお、PlusPak for Windows Forms 5.0Jの最新版であるSP1では、新たに「GS1 DataBar」(RSSシンボル)にも対応しています。これにあわせ、Typeプロパティに次のものが追加されています。
メンバ名 | 説明 |
---|---|
22 - RSS14 | RSS14(GS1 DataBar) |
24 - RSS14Stacked | RSS14 Stacked(GS1 DataBar Stacked) |
25 - RSS14StackedOmnidirectional | RSS14 Stacked Omnidirectional(GS1 DataBar Stacked Omnidirectional) |
23 - RSS14Truncated | RSS14 Truncated(GS1 DataBar Truncated) |
26 - RSSExpanded | RSS Expanded(GS1 DataBar Expanded) |
27 - RSSExpandedStacked | RSS Expanded Stacked(GS1 DataBar Expanded Stacked) |
まとめ
GcBarCodeコンポーネントは、サンプルプログラムを見てお分かりのように、とても簡単にバーコードを作成します。在庫管理や売り上げ管理、固定資産管理など、今やバーコードは当たり前のようになっているので、バーコード作成のアプリケーションを自社開発するのであれば、このGcBarCodeコンポーネントはとても大きな威力を発揮すると思います。
今回は、ドロップダウンリストから倉庫・棚・商品の番号からバーコードを作成する簡単な機能にしていますが、バーコードにするデータをExcelのワークシートで一覧表にし、一気にバーコードを作成する、などということも可能です。ぜひ試してみてください。