IRONBARCODEの使用

C#を使用してCrystal Reportsにバーコードを追加する方法

ジョルディ・バルディア
ジョルディ・バルディア
2024年4月3日
共有:

Crystal Reports は、開発者がアプリケーション用に豊富な機能を持つレポートを作成できる強力なレポートツールです。 バーコードC#を使用してCrystal Reportsに含める際には、データ表現に新たな次元を加え、情報の管理や追跡を容易にします。 この記事では、C#を使用してCrystal Reportsにバーコードを統合する手順を探ります。

Crystal ReportsでC#を使用してバーコードを追加する方法

  1. バーコードライブラリをインストールします。

  2. データベーステーブルに画像として保存するためのバーコード画像を生成します。

  3. Crystal Reportのレイアウトを設計してください。

  4. データベースへの接続を確立し、必要なテーブルを選択します。

  5. Crystal Reportレイアウトにバーコード画像フィールドを含める。

  6. プロジェクトを構築して実行します。

バーコードライブラリを選択

実装に入る前に、Crystal ReportsおよびC#をサポートするバーコードライブラリを選択することが重要です。 人気の選択肢の一つは、IronBarcode for .NETです。

IronBarcodeとは

IronBarcode は、バーコードの生成読取りを簡素化する多用途な.NETライブラリです。 IronBarcodeを使用すると、エンコードする値を指定することにより、Code 128やQRコードを含むさまざまなバーコードを簡単に作成できます。 また、サイズ変更カスタマイズもサポートしています。 読み取り面では、IronBarcode は画像やPDFからバーコードデータを抽出することができ、在庫管理や文書追跡に最適です。 その使いやすいAPIにより、プロジェクトへの迅速な統合が保証され、クロスプラットフォーム対応により、異なる.NETバージョン間でシームレスな開発が可能です。 経験豊富な開発者であろうと初心者であろうと、IronBarcodeは効率的にバーコードを処理する力を提供します。

新しいプロジェクトを作成

ASP.NET Crystal Reports Web Site を作成するために Visual Studio を開きます。私はVisual Studio 2022を使用しています。 特定のバージョンのCrystal Reports for Visual Studioがインストールされていることを確認してください。

Crystal Reportsにバーコードを追加する方法 C#を使用: 図1 - Visual Studioを開く。 新しい「ASP.NET Crystal Reports Webサイト」プロジェクトを作成します。

プロジェクト名、場所、ターゲットフレームワークを選択してください。 作成ボタンをクリックしてください。 以下のように新しいプロジェクトが作成されます。

Crystal Reportsでバーコードを追加する方法C#を使用する: 図 2 - デフォルトのCrystalReport1.rptページで新しいプロジェクトが作成されます。

始める前に、データベースが必要です。 新しいデータベースとサンプルテーブルを作成しましょう。

新しいデータベースを作成する

以下のスクリプトは新しいデータベースを作成します。

CREATE DATABASE ProductDB;
USE [ProductDB]
GO
/****** Object:  Table [dbo].[Products]    Script Date: 3/10/2024 2:57:18 PM**/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
    [Product_ID] [int] NULL,
    [Product_Name] [varchar](100) NULL,
    [Product_Price] [decimal](18, 0) NULL,
    [Product_Barcode] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

このテーブルにデータを挿入しましょう。 バーコードを作成し、製品テーブルに保存する必要があります。 したがって、C#コードを使用してデータを挿入する必要があります。 バーコードを作成するための機能を使用するには、プロジェクトにIronBarcodeライブラリをインストールする必要があります。

IronBarcodeライブラリをインストール

NuGet パッケージ マネージャー コンソールを使用して IronBarcode ライブラリ をインストールするには、次の手順に従ってください。

NuGet パッケージ マネージャー コンソールを開きます。 「表示」->「その他のウィンドウ」->「パッケージ マネージャー コンソール」に移動して見つけることができます。

![Crystal Reportsにバーコードを追加する方法(C#使用)の図3 - NuGetパッケージマネージャーコンソールを開く。] ビュー メニューに移動 - その他のウィンドウ - パッケージ マネージャー コンソール](/static-assets/barcode/blog/barcode-in-crystal-report-csharp/barcode-in-crystal-report-csharp-3.webp)

パッケージマネージャーコンソールで、以下のコマンドを使用してIronBarcodeライブラリをインストールします:

Install-Package Barcode

コマンドを実行するにはEnterキーを押してください。

あるいは、Manage NuGet Packages for Solutionを使用してIronBarcodeライブラリをインストールすることもできます。

Crystal Reportsにバーカードを追加する方法(C#使用):図4 - NuGetパッケージマネージャの検索バーで"IronBarcode"を検索し、プロジェクトを選択後、インストールボタンをクリックして、ソリューション用のNuGetパッケージの管理を使ってIronBarcodeをインストールします。

NuGet パッケージ マネージャーが IronBarcode ライブラリとその依存関係をダウンロードしてインストールするのを待ちます。 インストールが完了すると、パッケージ マネージャー コンソールに確認メッセージが表示されます。

これで、IronBarcodeライブラリがプロジェクトにインストールされ、バーコードの生成および読み取りの機能を使用し始めることができます。

バーコード画像を生成し、データベースに保存する

バーコード画像を生成し、それらをADO.NETを使用してデータベースに保存します。 以下のコードは、C#でバーコードを生成する例を示します。

static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
Shared Sub Main(ByVal args() As String)
	Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
	myBarcode.AddBarcodeValueTextBelowBarcode()
	myBarcode.ResizeTo(600, 300)
	Dim cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;")
	Dim cmd As New SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn)
	 cn.Open()
	 cmd.ExecuteNonQuery()
	 cn.Close()
End Sub
$vbLabelText   $csharpLabel

上記のソースコードはバーコードを生成し、SQL Server データベースに接続し、データ(バーコードを含む)を Products テーブルに挿入し、その後データベース接続を閉じます。

コードの説明

バーコード生成

  1. var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);

    この行は、BarcodeWriter クラスの CreateBarcode() メソッドを使用してバーコードを作成します。 バーコードは、文字列 "77446252" によって表されるバイナリデータから、Code 128 エンコーディング形式を使用して生成されます。myBarcode 変数には生成されたバーコードが保持されています。

  2. AddBarcodeValueTextBelowBarcode() 関数はバーコードの下にテキスト値を追加します。

  3. ResizeTo(600, 300) は、指定された寸法でバーコード画像の高さを変更します。

  4. バーコード画像をファイルシステムに保存するには、SaveAs() メソッドを使用できます。

    以下のコードから次のバーコードが生成されます。

    Crystal ReportsでC#を使用してバーコードを追加する方法: 図5 - 出力: 生成されたバーコード

データベース接続設定

  1. SqlConnection cn = new SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;");

  2. ここでは、SQL Server データベースへの接続が確立されます。 接続文字列は、サーバー(localhost\SQLEXPRESS)、初期カタログ(データベース名: ProductDB)、および認証情報(ユーザーID: sa、パスワード: 123456)を指定します。

3. SQL コマンドの作成

  1. SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);

  2. 新しいSqlCommandオブジェクトが作成されます。 このコマンドは、製品テーブルにデータを挿入するためのSQLクエリを表します。

  3. クエリは、テーブルの列に次の値を挿入します: 77446252、'Pine Apple Small'、'100'、および生成されたバーコードのバイナリストリーム (myBarcode.BinaryStream)。

データベースのインタラクション

  1. cn.Open() : データベースへの接続が開かれます。

  2. cmd.ExecuteNonQuery():SQLクエリが実行され、指定された値がProductsテーブルに挿入されます。

  3. cn.Close(): リソースを解放するためにデータベース接続を閉じます。

クリスタルレポートのバーコード生成ツールを設計する

レポートのレイアウトを設計し、データベース接続を追加し、必要なフィールドを配置してください。 これが初めての場合は、以下のステップに従ってください。

  1. Open Field Explorer => データベースフィールド => データベースエキスパート

    Crystal Reportsにバーコードを追加する方法: 図 6 - レポートレイアウトにデータベース接続を追加: フィールドエクスプローラーを開く - データベースフィールド - データベースエキスパート。

  2. 新しい接続を展開 => OLE DB(ADO) => 新しい接続を作成

    Crystal ReportsでC#を使用してバーコードを追加する方法: 図7 - 新しい接続の作成を展開 - OLE DB(ADO) - 新しい接続の作成。

  3. Microsoft OLE DBデータソースをSQL Server用に選択してください。 次へ進む。

    Crystal Reports に C# を使用してバーコードを追加する方法: 図 8 - Microsoft OLE DB データ ソースを SQL Server 用に選択し、[次へ] をクリックします。

  4. 以下の情報を提供してください: サーバー名、ログイン資格情報、およびデータベース名。

    ![Crystal Reportsでバーコードを追加する方法 C#を使用: 図9 - SQLサーバー名、ログイン資格情報、およびデータベース名を指定します。 次に「次へ」をクリックし、「完了」をクリックします。

  5. 「次へ」ボタンを押すと、新しいウィンドウが表示されるので、「完了」をクリックしてください。

  6. 追加するテーブルを選択してください。 この場合、製品テーブルを選択してください。

    ![Crystal Reportsでバーコードを追加する方法(C#使用):図10 - テーブル追加: ProductDBデータベースからProductsテーブルを選択します。 次に、OK ボタンをクリックします。

  7. 「OKボタン」をクリックしてください。

    データベース接続を設定しました。 では、レポートのレイアウトを設定しましょう。

    次に、「Barcode in Crystal report C#」というテキストを含むテキストボックスを追加しました。 次のようにテキストボックスを追加し、製品ID、製品名、製品価格フィールド、データベースの製品バーコードフィールドをドラッグ&ドロップしてボックス内に配置しました。

    ![Crystal ReportsでバーコードをC#で追加する方法: 図11 - C#でCrystal Reportを作成する。] データベースフィールドから商品ID、商品名、商品価格、商品バーコードフィールドをドラッグアンドドロップします。

    Crystal Report ViewerでCrystal Reportのプレビューを表示します。

    Crystal Reportsでバーコードを追加する方法: 図12 - Crystal Report ViewerでCrystal Reportプレビューを確認します。

    プロジェクトを構築して実行します。 出力は次のようになります:

    C# を使用して Crystal Reports にバーコードを追加する方法: 図 13 - 出力: バーコード付き Crystal Report

    サンプルデータセットパッケージをダウンロードせずに、正しいデータファイルを確認し、包括的なデータ可視化のためにC#でCrystal Reportを作成しました。

    このようにして、バーコードフォントをダウンロードすることなく、Crystal Reportsアプリケーションでバーコードを作成することができます。 同様に、ご要望に応じてQRコードも追加することができます。

結論

結論として、C#を使用してCrystal Reportsにバーコードを統合することは、データの表現と管理を強化する強力な方法です。 信頼性の高いバーコードライブラリであるIronBarcodeを選択すると、多様性と使いやすさを提供し、プロセスがスムーズになります。 IronBarcodeは、さまざまなバーコードタイプのサポート、サイズ変更、およびカスタマイズ機能を備えており、バーコードの生成および読み取りタスクにおいて貴重な資産となります。 ここに提供されているステップバイステップガイドは、ライブラリの選択からCrystal Reportレイアウトの設計まで、シームレスな実装プロセスを保証します。

さらに、IronBarcode、追加機能とサポートをアンロックして、バーコード統合体験をさらに向上させます。 この柔軟性により、IronBarcode は小規模なプロジェクトでもエンタープライズレベルのアプリケーションでも開発者にとって魅力的な選択肢となります。

ジョルディ・バルディア
ソフトウェアエンジニア
ジョルディは、Iron Softwareでのスキルを活かしていないときには、ゲームプログラミングをしており、Python、C#、C++に最も堪能です。彼は製品テスト、製品開発、研究の責任を共有しており、継続的な製品改善に大きな価値をもたらしています。この多様な経験は彼を常に挑戦的で魅力的に保ち、彼はIron Softwareで働く一番好きな側面の一つだと言っています。ジョルディはフロリダ州マイアミで育ち、フロリダ大学でコンピューターサイエンスと統計学を学びました。
< 以前
VB .NETでバーコードを生成する方法
次へ >
VB.NETでバーコードスキャナーを作成するチュートリアル