作成日: 2022/03/14 最終更新日: 2022/04/06
文書種別
使用方法
詳細
GcBarCodeコントロールでQRコードの連結機能を使用するには、QRCodeクラスでConnectionプロパティをtrue、および連結番号のConnectionNoプロパティにループ変数を設定してバーコードを作成していきます。
また、QRコードの分割単位をSplitModeプロパティで設定し、文字エンコードをValueEncodingプロパティで指定します。(SplitModeプロパティをバイト単位ではなく、文字単位に設定すると、全角文字が2つのQRコードに分割されるのを防ぐことができるため、正しく読み取れるようになります。)
全てのデータ出力が終わると、NoMoreConnectionエラー(BarCodeException)が発生しますので、これを確認したらループを抜けます。
[Visual Basic]
Imports GrapeCity.Win.BarCode
Imports GrapeCity.Win.BarCode.Options
Private Sub GenerateQRCode()
' バーコードの値
Dim strVal As String = "物流業、製造業などあらゆる業界で利用" +
"されるようになった「バーコード」は、個人がもつ携" +
"帯電話でも活用されており、ますます便利で身近なも" +
"のになりつつあります。GcBarCodeは、.NET専用のバー" +
"コードコンポーネントです。さまざまな規格のバーコ" +
"ードを簡単に生成でき、.NETアプリケーションに組み" +
"込むことが可能です。"
Dim bcd As New GcBarCode()
bcd.Type = GrapeCity.Win.BarCode.ValueType.BarType.QRCode
bcd.Value = strVal + strVal + strVal
Dim QRCodeOption As New QRCode()
QRCodeOption.Model = QRCode.EnumModel.Model2
QRCodeOption.ErrorLevel = QRCode.EnumErrorLevel.L
QRCodeOption.Mask = QRCode.EnumMask.Auto
QRCodeOption.Connection = True
QRCodeOption.Version = 7
QRCodeOption.SplitMode = QRCode.EnumSplitMode.Character, ' SplitMode指定(Byte Or Character)
QRCodeOption.ValueEncoding = QRCode.EnumValueEncoding.UTF8 ' ValueEncoding(CP932 or UTF8)
bcd.QRCode = QRCodeOption
Dim i As Integer = 0
Dim MoreConnection As Boolean = True
While (MoreConnection)
bcd.QRCode.ConnectionNo = i
Try
' バーコードイメージを出力
Using imgBarCode1 As Image = bcd.CreateBitmap(120)
imgBarCode1.Save(String.Format("Barcode{0}.png", i), System.Drawing.Imaging.ImageFormat.Png)
End Using
Debug.Print("{0}番目出力完了", i)
Catch ex As BarCodeException
Select Case ex.ErrorCode
Case BarCodeException.EnumErrorCode.NoMoreConnection
MoreConnection = False
Debug.Print("バーコードを作成しました。")
Case Else
Debug.Print(ex.StackTrace)
End Select
Exit While
End Try
i += 1
End While
End Sub
[C#]
using GrapeCity.Win.BarCode;
using GrapeCity.Win.BarCode.Options;
private void GenerateQRCode()
{
// バーコードの値
string strVal = "物流業、製造業などあらゆる業界で利用" +
"されるようになった「バーコード」は、個人がもつ携" +
"帯電話でも活用されており、ますます便利で身近なも" +
"のになりつつあります。GcBarCodeは、.NET専用のバー" +
"コードコンポーネントです。さまざまな規格のバーコ" +
"ードを簡単に生成でき、.NETアプリケーションに組み" +
"込むことが可能です。";
GcBarCode bcd = new GcBarCode();
bcd.Type = GrapeCity.Win.BarCode.ValueType.BarType.QRCode;
bcd.Value = strVal + strVal + strVal;
QRCode QRCodeOption = new QRCode();
QRCodeOption.Model = QRCode.EnumModel.Model2;
QRCodeOption.ErrorLevel = QRCode.EnumErrorLevel.L;
QRCodeOption.Mask = QRCode.EnumMask.Auto;
QRCodeOption.Connection = true;
QRCodeOption.Version = 7;
// SplitMode指定 (Byte or Character)
QRCodeOption.SplitMode = QRCode.EnumSplitMode.Character;
// ValueEncoding (CP932 or UTF8)
QRCodeOption.ValueEncoding = QRCode.EnumValueEncoding.UTF8;
bcd.QRCode = QRCodeOption;
int i = 0;
bool MoreConnection = true;
while (MoreConnection)
{
bcd.QRCode.ConnectionNo = i;
try
{
// バーコードイメージを出力
using (Image imgBarcode1 = bcd.CreateBitmap(120))
{
imgBarcode1.Save(string.Format("Barcode{0}.png", i), System.Drawing.Imaging.ImageFormat.Png);
}
Console.WriteLine("{0}番目出力完了", i);
}
catch (BarCodeException ex)
{
switch (ex.ErrorCode)
{
case BarCodeException.EnumErrorCode.NoMoreConnection:
MoreConnection = false;
Console.WriteLine("バーコードを作成しました。");
break;
default:
Console.WriteLine(ex.StackTrace);
break;
}
}
i++;
}
}
関連情報