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

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

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

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パッケージマネージャを介してライブラリをインストールします。

Install-Package BarCode
Install-Package BarCode
SHELL

または、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での表示には標準の画像フィールドの手順が続きます:

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

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

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

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

VB .NETを使用して Crystal Reports でバーコードを印刷する方法 : 図 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

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

出力

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

VB .NETを使用して Crystal Reports でバーコードを印刷する方法 : 図 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 Reportsの出力画像からバーコードを読み取る方法については、バーコードリーダーのチュートリアルを参照してください。

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

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

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

IronBarcodeをダウンロードして、無料トライアルを今すぐ始めましょう。 -入門ガイドをお読みください-- .NETプロジェクトのステップバイステップのセットアップ -バーコード生成の例をご覧ください-- 一般的な使用例すべてに対応したコード例 -サポートされているフォーマットを確認する-- アプリケーションに適したバーコードの種類を見つける -バーコード読み取りチュートリアルを確認する-- PDFや画像からバーコードを読み取る方法を学ぶ ライセンスページをご覧ください。個人利用とチーム利用のプランを比較してください。

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

よくある質問

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はフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね