IRONBARCODEの使用

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

Curtis Chau
Curtis Chau
Updated: 2026年6月20日

Crystal ReportsでVB.NETを使用してバーコードを印刷するには、NuGetを介してIronBarcodeをインストールし、BarcodeWriter.CreateBarcode()を使用してバーコード画像を生成し、Crystal Reportのイメージフィールドに生成されたバイナリデータをバインドします。 この手法はフォントへの依存を排除​​し、スキャン可能で印刷可能なバーコードを数分で生成します。

Crystal Reportsにバーコードを追加することで、在庫管理から詳細レポートの作成まで、ビジネスプロセスを強化し、より迅速かつ正確な処理を実現できます。 VB .NETでフォントベースのバーコードを使おうとしたことがある方なら、複雑な数式、限られたフォーマット、プリンターの問題など、どれほど厄介でイライラするものかご存知でしょう。

IronBarcodeのような最新のバーコード生成SDKを使えば、バーコードの作成と印刷が簡単に行えます。 このガイドでは、Visual Studio でのIronBarcode の設定、バーコードの生成、Crystal Reports へのバーコードの直接表示など、必要なすべての情報を提供します。 最終的には、最小限の手間でProfessionalで信頼性の高いバーコードを作成できるようになります。

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

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

フォントベースの方法は、フォントフォルダ内に特殊なバーコードフォント(True Typeフォント)をインストールし、数式やユーザ関数ライブラリ(UFL)を使用してデータをエンコードすることが必要です。 このアプローチは機能しますが、しばしば複雑なエンコーディング式、限られたバーコード形式のサポート(Code 39やデータマトリックスなど)、および異なるプリンターやシステムでのフォントレンダリングの問題を伴います。これはMicrosoftのフォントレンダリングに関するドキュメントで説明されています。

SDKベースのソリューションは、より信頼性の高い代替手段となります。これらのライブラリはバーコード画像をプログラムで生成するため、信頼性が高く、幅広いフォーマットに対応し、実装も容易です。 IronBarcodeはこの現代的なアプローチを体現しており、開発者はバーコードを画像として生成し、標準のデータベースフィールドまたはDataTableオブジェクトを介してCrystal Reportsと統合することができます。 この方法は、すべてのプラットフォームで一貫したレンダリングを確保し、VB.NETを使用してCrystal Reportsでプリントする際のフォント依存の問題を解消します。

Crystal ReportsにおけるフォントベースとSDKベースのバーコード方式
要素フォントベースの方法SDKベースの方法(IronBarcode)
セットアップの複雑さ高 -- フォントのインストールとエンコード式が必要です低レベル -- 単一のNuGetパッケージのインストール
バーコードフォーマットサポート限定便(コード39、コード128)QRコード、データマトリックス、PDF417など30種類以上のフォーマット
プリンター間の一貫性一貫性がない - インストールされているフォントによって異なる一貫性のある画像ベースのレンダリング
メンテナンスの負担高 -- フォントはマシンごとに管理する必要があります低 -- NuGetアップデートで管理
スキャン信頼性変数高 -- IronBarcodeは検証済みの画像を生成します

.NET用のIronBarcodeはどのようにインストールするのですか?

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

PM > Install-Package BarCode

または、Visual Studio のパッケージ マネージャーの UI を使用して、"BarCode"を検索してインストールしてください。 インストールが完了したら、VB.NETコードに名前空間をインポートします。

Imports IronBarCode
VB

プロジェクトが.NET Framework 4.6.2以降、または.NET Core、 .NET 5、 .NET 6以降のいずれかのバージョンを対象としていることを確認してください。 IronBarcodeは、画像フィールドをサポートするすべてのCrystal Reportsバージョンで動作し、既存プロジェクトと広く互換性があります。 詳細な設定手順については、 IronBarcodeの入門ガイドを参照してください。

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

IronBarcodeはど for .NETバージョンをサポートしていますか?

IronBarcodeは、幅広い.NETランタイムを対象としています。

  • .NET Framework 4.6.2 以上
  • .NET Core 3.1以降
  • .NET 5、6、7、8、および9
  • .NET Standard 2.0 以上

この幅広い互換性により、 IronBarcodeは、 .NET Framework上で動作する従来のVB .NETアプリケーションにも、 .NET 8以降をターゲットとする最新のアプリケーションにも、同様に簡単に統合できます。 完全なサポートマトリックスについては、 IronBarcodeの互換性に関するドキュメントをご確認ください。

バーコードを生成してデータベースに保存するにはどうすればよいですか?

IronBarcodeを使用してバーコードを作成し、Crystal Reports用に保存するには、バーコード画像を生成し、SqlConnectionまたはOleDbConnectionを使用してデータベースに保存する必要があります。 以下に完全な例を示します。

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

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
        myBarcode.ResizeTo(400, 150)
        ' Connect to your database
        Using connection As New SqlConnection("YourConnectionString")
            Dim cmd As New SqlCommand(
                "INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)",
                connection)
            cmd.Parameters.AddWithValue("@Code", "PROD-12345")
            cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream)
            connection.Open()
            cmd.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB

この例では、Code 128バーコードを生成し、それをバイナリデータとしてSQL Serverに保存します。 AddBarcodeValueTextBelowBarcode()メソッドは、バーコードシンボルの下に人間が読みやすいテキストを追加し、スキャンと視覚検査の両方で使用可能にします。 ResizeTo()メソッドは、レポートのレイアウトに合わせて寸法を調整します。

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

永続的なストレージを必要としないシナリオでは、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()))

    ' Generate a barcode for each product
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "PROD-12345"

    Dim barcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
    barcode.AddBarcodeValueTextBelowBarcode()
    barcode.ResizeTo(400, 150)
    row("Barcode") = barcode.BinaryStream

    dt.Rows.Add(row)
    Return dt
End Function
VB

このデータテーブル方式は、レポートのプレビュー、単発の印刷ジョブ、またはデータベースインフラストラクチャが利用できない場合に最適です。 商品リストをループ処理して、各商品ごとに行を追加し、必要に応じてバーコードを生成できます。 その他のバーコード形式については、サポートされているバーコードの種類を確認するか、 IronBarcodeのチュートリアルを参照してください。

バーコードの外観をカスタマイズするにはどうすればよいですか?

IronBarcodeは、単純な生成機能に加えて、印刷レポートに役立ついくつかのカスタマイズオプションを提供します。

  • 余白 -- myBarcode.SetMargins()を使用してバーコードの周りに余白を追加し、スキャンの信頼性を向上させます -色-- ブランド化されたレポートデザインに合わせて、前景色と背景色を変更します。
  • 注釈 -- AddBarcodeValueTextAboveBarcode()を使用してバーコードの上または下にカスタムテキストを追加します
  • 解像度 -- myBarcode.SetDPI()を使用して高品質の印刷出力のためのDPIを設定します

各オプションに対応したコード例については、バーコードカスタマイズガイドを参照してください。

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

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

  1. Crystal Reportsを開き、新しいレポートを作成するか、既存のレポートを開く

  2. フィールドエクスプローラで"データベースフィールド"を右クリックし、"データベースエキスパート"を選択

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

  3. データベースに接続し、バーコード画像を含むテーブルを選択

  4. レポートデザインの表面にバーコード画像フィールドをドラッグする

  5. 必要に応じてフィールドをリサイズして位置を調整する

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

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

レポート実行時に動的にバーコードを生成するには、データテーブルまたはデータベースクエリを変更して、その場でバーコードを生成するようにします。 次の例は、動的に作成された DataTable を CrystalReportViewer にバインドする方法を示しています。

Imports IronBarCode
Imports System.Data

Function GetReportData() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))

    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "CUSTOMER-12345"

    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

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

出力

Crystal Reportには、読みやすいテキストと適切な寸法でバーコードが表示されます。 スキャナー、プリンター、ラベルなどに合わせて、必要に応じてフィールドサイズや余白を調整してください。 バーコードは、VB .NETアプリケーションから直接、PDF、印刷フォーム、またはラベルテンプレートに含めることができます。

Crystal ReportsでVB.NETを使用してバーコードを印刷する方法: 図3 - Crystal Reports Viewerで生成されたバーコードを表示

よくあるバーコード印刷の問題にはどのように対処していますか?

Crystal Reportsで.NETを使用してバーコードを実装する場合、いくつかの問題が発生する可能性があります。 以下のトラブルシューティングのヒントは、よくある問題への対処法です。

Crystal Reportsのバーコード印刷に関する一般的な問題と解決策
課題原因ソリューション
ぼやけたバーコード画像解像度が低いより大きな寸法でResizeTo()を使用するか、より高い DPI を設定してください。
スキャン失敗静穏区域が不十分SetMargins()で余白を追加し、コード 39 にはアスタリスクを追加します。
データベース接続エラー接続パラメータが正しくありませんOleDbConnectionまたはSqlConnection文字列とデータセットのバインディングを確認します。
データベース内のデータ型が間違っていますフィールドがバイナリ型に設定されていませんimageまたはvarbinary(max)列タイプを使用してください
バーコードが表示されない権限またはパスの問題Crystal Reportsビューアにデータベース/データテーブルへのアクセス権限があることを確認してください。
DLLが見つからないエラーインストールが完了していませんNuGet経由で再インストールし、プロジェクトでIronBarcode DLL が参照されていることを確認してください。

トラブルシューティングに関する追加サポートについては、 IronBarcodeのトラブルシューティングガイドをご覧ください。 また、ドキュメントに記載されていない具体的な質問や特殊なケースについては、IronBarcodeのサポートフォーラムもご利用いただけます。

適切なバーコード形式はどのように選べばよいですか?

適切なバーコード形式を選択することは、スキャン機器の互換性やデータ容量にとって重要です。 ビジネスレポートで最も一般的な形式は以下のとおりです。

-コード128 -- 汎用リニアバーコード 高密度なデータ; ほとんどのスキャナーに対応しています。 BarcodeWriterEncoding.Code128を使用してください。 -コード39 -- 旧規格; 広く支持されている。 英数字をエンコードします。 BarcodeWriterEncoding.Code39を使用してください。

  • QRコード-- 2次元バーコード; URLを含む大量のデータを保存します。 BarcodeWriterEncoding.QRCodeを使用してください。 -データマトリックス-- コンパクトな2次元バーコード。 製造業や物流業でよく見られる。 BarcodeWriterEncoding.DataMatrixを使用してください。
  • PDF417 -- 高容量2次元バーコード; 配送ラベルや識別番号に使用されます。 BarcodeWriterEncoding.PDF417を使用してください。

ご使用の用途に適したエンコード方式を選択する際は、サポートされているバーコード形式の全リストを参照してください。 Crystal Reportの出力画像からバーコードを読み取るためのバーコードリーダーチュートリアルを参照してください。

次のステップは何ですか?

.NETとIronBarcodeを使用してCrystal Reportsにバーコードを実装することで、レポートの機能強化のための信頼性の高いソリューションが提供されます。 このSDKベースのアプローチはフォント依存を排除し、広範なカスタマイズオプションを提供します。 データベースを使用する場合でも、データテーブルを使用する場合でも、Crystal Reportsアプリケーションに、データマトリックス、コード39、QRコードなどのProfessionalバーコードを実装できます。

バーコードワークフローの構築を続けるには:

IronBarcodeをダウンロードして、無料トライアルを今すぐ始めましょう。 -入門ガイドをお読みください-- .NETプロジェクトのステップバイステップのセットアップ -バーコード生成の例をご覧ください-- 一般的な使用例すべてに対応したコード例 -サポートされているフォーマットを確認する-- アプリケーションに適したバーコードの種類を見つける

IronBarcodeの無料トライアルを利用して、VB .NETを使用してCrystal Reportsでバーコードを印刷するためのすべての機能を体験し、今日からプロジェクトにバーコードを実装しましょう。 SAP Crystal Reports SDKに関するドキュメントは、 SAP開発者ポータルに掲載されており、その他の統合パターンも参照できます。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

詳しく読む

関連する記事