
VB.NETでCrystal Reportsでバーコードを印刷する方法
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でプリントする際のフォント依存の問題を解消します。
| 要素 | フォントベースの方法 | SDKベースの方法(IronBarcode) |
|---|---|---|
| セットアップの複雑さ | 高 -- フォントのインストールとエンコード式が必要です | 低レベル -- 単一のNuGetパッケージのインストール |
| バーコードフォーマットサポート | 限定便(コード39、コード128) | QRコード、データマトリックス、PDF417など30種類以上のフォーマット |
| プリンター間の一貫性 | 一貫性がない - インストールされているフォントによって異なる | 一貫性のある画像ベースのレンダリング |
| メンテナンスの負担 | 高 -- フォントはマシンごとに管理する必要があります | 低 -- NuGetアップデートで管理 |
| スキャン信頼性 | 変数 | 高 -- IronBarcodeは検証済みの画像を生成します |
.NET用のIronBarcodeはどのようにインストールするのですか?
VB.NETプロジェクトでのIronBarcodeの設定は最小限の構成を必要とします。 最初に、NuGetパッケージマネージャを介してライブラリをインストールします。
または、Visual Studio のパッケージ マネージャーの UI を使用して、"BarCode"を検索してインストールしてください。 インストールが完了したら、VB.NETコードに名前空間をインポートします。
Imports IronBarCode
プロジェクトが.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
この例では、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
このデータテーブル方式は、レポートのプレビュー、単発の印刷ジョブ、またはデータベースインフラストラクチャが利用できない場合に最適です。 商品リストをループ処理して、各商品ごとに行を追加し、必要に応じてバーコードを生成できます。 その他のバーコード形式については、サポートされているバーコードの種類を確認するか、 IronBarcodeのチュートリアルを参照してください。
バーコードの外観をカスタマイズするにはどうすればよいですか?
IronBarcodeは、単純な生成機能に加えて、印刷レポートに役立ついくつかのカスタマイズオプションを提供します。
- 余白 --
myBarcode.SetMargins()を使用してバーコードの周りに余白を追加し、スキャンの信頼性を向上させます -色-- ブランド化されたレポートデザインに合わせて、前景色と背景色を変更します。 - 注釈 --
AddBarcodeValueTextAboveBarcode()を使用してバーコードの上または下にカスタムテキストを追加します - 解像度 --
myBarcode.SetDPI()を使用して高品質の印刷出力のためのDPIを設定します
各オプションに対応したコード例については、バーコードカスタマイズガイドを参照してください。
Crystal Reportsでバーコードを表示するにはどうすればよいですか?
一旦バーコードがデータベースに保存されると、Crystal Reportsでの表示には標準の画像フィールドの手順が続きます:
-
Crystal Reportsを開き、新しいレポートを作成するか、既存のレポートを開く
-
フィールドエクスプローラで"データベースフィールド"を右クリックし、"データベースエキスパート"を選択

-
データベースに接続し、バーコード画像を含むテーブルを選択
-
レポートデザインの表面にバーコード画像フィールドをドラッグする
-
必要に応じてフィールドをリサイズして位置を調整する
レポートデザイナーは次のようになります:

レポート実行時に動的にバーコードを生成するには、データテーブルまたはデータベースクエリを変更して、その場でバーコードを生成するようにします。 次の例は、動的に作成された 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
このアプローチは、レポートの読み込み時に動的にバーコードを生成し、データベースに画像を事前に保存する必要を排除します。 Crystal Reportsに組み込まれているエクスポート機能を使用すると、レポートをPDF形式でエクスポートできます。 Crystal Reportsのデータソースに関する詳細情報は、SAPのCrystal Reportsドキュメントをご覧ください。
出力
Crystal Reportには、読みやすいテキストと適切な寸法でバーコードが表示されます。 スキャナー、プリンター、ラベルなどに合わせて、必要に応じてフィールドサイズや余白を調整してください。 バーコードは、VB .NETアプリケーションから直接、PDF、印刷フォーム、またはラベルテンプレートに含めることができます。

よくあるバーコード印刷の問題にはどのように対処していますか?
Crystal Reportsで.NETを使用してバーコードを実装する場合、いくつかの問題が発生する可能性があります。 以下のトラブルシューティングのヒントは、よくある問題への対処法です。
| 課題 | 原因 | ソリューション |
|---|---|---|
| ぼやけたバーコード | 画像解像度が低い | より大きな寸法で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プロジェクトのステップバイステップのセットアップ -バーコード生成の例をご覧ください-- 一般的な使用例すべてに対応したコード例 -サポートされているフォーマットを確認する-- アプリケーションに適したバーコードの種類を見つける
- バーコード読み取りチュートリアルを確認 -- PDFや画像からバーコードを読み取る方法を学びます ライセンスページをご覧ください。個人利用とチーム利用のプランを比較してください。
IronBarcodeの無料トライアルを利用して、VB .NETを使用してCrystal Reportsでバーコードを印刷するためのすべての機能を体験し、今日からプロジェクトにバーコードを実装しましょう。 SAP Crystal Reports SDKに関するドキュメントは、 SAP開発者ポータルに掲載されており、その他の統合パターンも参照できます。

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


