フッターコンテンツにスキップ
IRONBARCODEの使用

VB.NETでCrystal Reportsでバーコードを印刷する方法

Crystal Reportsにバーコードを追加することで、在庫の追跡から詳細なレポートの作成まで、業務プロセスを強化し、より迅速かつ正確にすることができます。 VB.NETでフォントベースのバーコードを使用しようとしたことがある場合、複雑な数式、限られたフォーマット、プリンターの問題があり、イライラすることがあります。

幸運にも、IronBarcodeのような最新のバーコード生成SDKを使用すると、バーコードの作成と印刷が簡単になります。 このガイドでは、Visual StudioでのIronBarcodeのセットアップ、バーコードの生成、Crystal Reportsに直接表示する方法をすべて説明します。 最後には、プロフェッショナルで信頼性のあるバーコードを最小限の手間で作成できるようになります。

Crystal Reportsでバーコードを印刷する方法は何ですか?

Crystal Reportsにバーコードを追加するための主なアプローチは2つあります:フォントベースの方法とSDKソリューションです。

フォントベースの方法は、フォントフォルダ内に特殊なバーコードフォント(True Typeフォント)をインストールし、数式やユーザ関数ライブラリ(UFL)を使用してデータをエンコードすることが必要です。 このアプローチは機能しますが、複雑なエンコーディング数式、限られたバーコードフォーマットのサポート(例:Code 39またはデータマトリックス)、さまざまなプリンターやシステム間でのフォントレンダリングの問題が頻繁に発生します。

SDKベースのソリューションは、より強力な代替手段を提供します。これらのライブラリはプログラム的にバーコード画像を生成し、信頼性を向上させ、フォーマットのサポートを拡張し、実装を容易にします。 IronBarcode exemplifies this modern approach, allowing developers to IronBarcodeは、この現代的なアプローチを例示しており、開発者がCrystal Reportsとシームレスに統合される画像としてバーコードを生成することを可能にします。 この方法は、すべてのプラットフォームで一貫したレンダリングを確保し、VB.NETを使用してCrystal Reportsでプリントする際のフォント依存の問題を解消します。

VB.NET用のIronBarcodeを設定するにはどうすれば良いですか?

VB.NETプロジェクトでのIronBarcodeの設定は最小限の構成を必要とします。 最初に、NuGetパッケージマネージャを介してライブラリをインストールします。

Install-Package BarCode

代わりに、Visual StudioのパッケージマネージャUIを使用して「IronBarcode」を検索してインストールすることもできます。 インストールが完了したら、VB.NETコードに名前空間をインポートします。

Imports IronBarCode
Imports IronBarCode
VB .NET

プロジェクトが.NET Framework 4.0以上、または.NET Core/.NET 5以上をターゲットとしていることを確認してください。 IronBarcodeは、画像フィールドをサポートするすべてのCrystal Reportsバージョンで動作し、既存プロジェクトと広く互換性があります。 詳細な設定手順については、IronBarcodeのドキュメントを参照してください。

本日IronBarcodeをダウンロードして、Crystal Reportsでプロフェッショナルなバーコードを作成し始めてください。

バーコードを生成してデータベースに保存する方法は?

IronBarcodeを使用してバーコードを作成し、それらをCrystal Reports用に保存するには、バーコード画像を生成し、新しいOleDbConnectionまたはSqlConnectionを使用してデータベースに保存します。 以下は完全な例です:

オプション1: データベースを使用する

Imports IronBarCode
Imports System.Data.SqlClient
Module BarcodeGenerator
    Sub CreateAndStoreBarcode()
        ' Generate a Code128 barcode
        Dim myBarcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
        ' Add readable text below the barcode
        myBarcode.AddBarcodeValueTextBelowBarcode()
        ' Resize to appropriate dimensions and adjust font size
        myBarcode.ResizeTo(400, 150)
        ' Connect to your database (example uses connection string)
        Using connection As New SqlConnection("YourConnectionString")
            ' SQL command to post barcode data
            Dim cmd As New SqlCommand("INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)", connection)
            ' Add parameters
            cmd.Parameters.AddWithValue("@Code", "CUSTOMER-12345")
            cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream)
            ' Execute the command
            connection.Open()
            cmd.ExecuteNonQuery()
        End Using
    End Sub
End Module
Imports IronBarCode
Imports System.Data.SqlClient
Module BarcodeGenerator
    Sub CreateAndStoreBarcode()
        ' Generate a Code128 barcode
        Dim myBarcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
        ' Add readable text below the barcode
        myBarcode.AddBarcodeValueTextBelowBarcode()
        ' Resize to appropriate dimensions and adjust font size
        myBarcode.ResizeTo(400, 150)
        ' Connect to your database (example uses connection string)
        Using connection As New SqlConnection("YourConnectionString")
            ' SQL command to post barcode data
            Dim cmd As New SqlCommand("INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)", connection)
            ' Add parameters
            cmd.Parameters.AddWithValue("@Code", "CUSTOMER-12345")
            cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream)
            ' Execute the command
            connection.Open()
            cmd.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB .NET

SqlConnection(または新しいOleDbConnection)を使用してデータベースに接続し、バーコードデータを投稿します。

オプション2: DataTableを使用する

Imports IronBarCode
Imports System.Data
Function CreateBarcodeDataTable() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))
    ' Add table row for each product
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "PROD-12345"
    ' Create barcode on-the-fly and convert to binary
    Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
    barcode.AddBarcodeValueTextBelowBarcode()
    barcode.ResizeTo(400, 150)
    row("Barcode") = barcode.BinaryStream
    dt.Rows.Add(row)
    Return dt
End Function
Imports IronBarCode
Imports System.Data
Function CreateBarcodeDataTable() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))
    ' Add table row for each product
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "PROD-12345"
    ' Create barcode on-the-fly and convert to binary
    Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
    barcode.AddBarcodeValueTextBelowBarcode()
    barcode.ResizeTo(400, 150)
    row("Barcode") = barcode.BinaryStream
    dt.Rows.Add(row)
    Return dt
End Function
VB .NET

このコードは、値が「PROD-12345」のCode 128バーコードを生成します。 AddBarcodeValueTextBelowBarcode()メソッドは、バーコードの下に人間が読めるテキストを追加します。 ResizeTo()メソッドは、レポートレイアウトに適合するように寸法を調整します。 詳細なバーコードフォーマットについては、サポートされているバーコードタイプを参照してください。

Crystal Reportsにバーコードを表示するにはどうすれば良いですか?

一旦バーコードがデータベースに保存されると、Crystal Reportsでの表示には標準の画像フィールドの手順が続きます:

  1. Crystal Reportsを開き、新しいレポートを作成するか、既存のレポートを開く
  2. フィールドエクスプローラで「データベースフィールド」を右クリックし、「データベースエキスパート」を選択

VB.NETでCrystal Reportsにバーコードを印刷する方法:図1 - データベースエキスパートウィンドウ

  1. データベースに接続し、バーコード画像を含むテーブルを選択
  2. レポートデザインの表面にバーコード画像フィールドをドラッグする
  3. 必要に応じてフィールドをリサイズして位置を調整する

レポートデザイナーは次のようになります:

VB.NETでCrystal Reportsにバーコードを印刷する方法:図2 - レポートデザイナーのレイアウト

レポート実行中に動的にバーコードを生成するには、DataTableやデータベースクエリを変更して、実行時にバーコードをオンザフライで生成します:

Function GetReportData() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))
    ' Add table row
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "CUSTOMER-12345"
    ' Create barcode on-the-fly and convert to binary
    Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
    row("Barcode") = barcode.BinaryStream
    dt.Rows.Add(row)
    Return dt
End Function
Function GetReportData() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))
    ' Add table row
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "CUSTOMER-12345"
    ' Create barcode on-the-fly and convert to binary
    Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
    row("Barcode") = barcode.BinaryStream
    dt.Rows.Add(row)
    Return dt
End Function
VB .NET

このアプローチは、レポートの読み込み時に動的にバーコードを生成し、データベースに画像を事前に保存する必要を排除します。 Crystal Reportsのエクスポート機能を使用して、レポートをPDFに変換することもできます。 Crystal Reportsのデータソースに関する詳細情報については、SAPのCrystal Reportsドキュメントを参照してください。

出力

あなたのCrystal Reportは、読みやすいテキストと適切なフォントサイズでバーコードを表示するはずです。スキャナー、プリンター、またはラベルに合わせてフォント、フィールドサイズ、マージンを調整してください。 バーコードは、VBプログラムから直接PDF、プリントフォーム、またはテンプレートに含めることができます。

VB.NETでCrystal Reportsにバーコードを表示する方法:図3 - Crystal Reports Viewerで生成されたバーコードを表示

一般的な問題と解決策は何ですか?

VB.NETを使用してCrystal Reportsにバーコードを実装する際にいくつかの問題が発生する可能性があります:

  • ぼやけたバーコード: myBarcode.ResizeTo()を使用して解像度を向上し、より大きな寸法を指定します。
  • スキャンに関する問題: バーコード周辺に十分な余白を確保するか、Code 39の場合にはアスタリスクマーカーを含めます。
  • データベース接続の問題: 新しいOleDbConnectionまたは新しいOleDbDataAdapterのパラメータを確認してください。 データセットバインディングを正しく行ってください。
  • データタイプの問題: バーコードのバイナリデータを格納するには、常に画像またはvarbinary(max)フィールドを使用してください。
  • バーコードが表示されない: Crystal Reportsビューアがデータベース、DataTable、またはファイルリソースにアクセス権を持っていることを確認してください。
  • システムの問題: 必要なすべてのDLLがインストールされ、プロジェクトが正しいIronBarcode DLLを参照していることを確認してください。
  • フォントまたはプリンターの問題: True Typeフォントがフォントフォルダーにインストールされ、プリンターに設定されていることを確認してください。

追加のトラブルシューティングのサポートについては、IronBarcodeのトラブルシューティングガイドを参照してください。

結論

VB.NETとIronBarcodeを使用してCrystal Reportsにバーコードを実装することは、レポートを強化するための信頼性があり、シンプルなソリューションを提供します。 このSDKベースのアプローチはフォント依存を排除し、広範なカスタマイズオプションを提供します。 データベースまたはDataTableを使用するかにかかわらず、あなたのCrystal Reportsアプリケーションにデータマトリックス、Code 39、および他のフォーマットを含むプロフェッショナルなバーコードを実装できます。

VB.NETを使用してCrystal Reportsでバーコードを印刷するためのIronBarcodeの無料トライアルをダウンロードし、そのすべての機能を探索して、あなたのプロジェクトでバーコードを実装し始めましょう。

よくある質問

Crystal ReportsでVB.NETとIronBarcodeを使用する利点は何ですか?

VB.NETでCrystal ReportsでIronBarcodeを使用することで、バーコードをシームレスに統合でき、在庫追跡や詳細なレポート作成などのタスクのビジネスプロセスを強化できます。これは、フォントベースのソリューションに比べてバーコード生成を簡素化します。

IronBarcodeはどのようにしてCrystal Reportsでのバーコード生成を改善しますか?

IronBarcodeは、複雑な数式の必要性を排除し、Crystal Reportsにおける限られたフォーマットおよびプリンターの互換性に関連する問題を削減する簡単なSDKを提供することで、バーコード生成を改善します。

IronBarcodeはCrystal Reportsで異なるバーコードフォーマットを扱うことができますか?

はい、IronBarcodeはさまざまなアプリケーション内のCrystal Reportsにおける互換性と信頼性を確保するため、幅広いバーコードフォーマットをサポートしています。

VB.NETプロジェクトにIronBarcodeを統合するのは難しいですか?

いいえ、IronBarcodeはユーザーフレンドリーに設計されており、明確なドキュメントとサポートがあるため、VB.NETプロジェクトへの統合はスムーズで効率的です。

なぜフォントベースのバーコードソリューションに対してIronBarcodeを選ぶべきですか?

IronBarcodeは、複雑な式やプリンターの問題を回避し、広範なフォーマットサポートと信頼性を提供するため、フォントベースのバーコードよりも強力で柔軟なソリューションを提供します。

IronBarcodeはCrystal Reportsから直接バーコード印刷をサポートしていますか?

はい、IronBarcodeはCrystal Reportsからの直接バーコード印刷を可能にし、高品質の出力を確保し、他のメソッドにしばしば伴う複雑さを軽減します。

VB.NETにおけるフォントベースのバーコードの一般的な問題は何ですか?

フォントベースのバーコードはしばしば複雑な式、限られたフォーマットオプション、およびプリンターの互換性の問題を伴いますが、IronBarcodeはその包括的なSDKでこれらを克服するのに役立ちます。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。