Crystal Reportsでデータマトリックス・バーコードを生成する方法

Barcodesoft UFLのインストールから、高密度2次元コードを作成するための数式の使用方法まで、包括的なステップバイステップ・ガイドを提供します。

1 Barcodesoft UFL DLLの登録

データマトリックスのエンコード機能を有効にするには、cruflbcs.dllを登録する必要があります。まず、コマンドプロンプトを管理者として実行してください。

管理者としてコマンドプロンプトを実行

32ビット環境の場合は、以下のコマンドを実行します:

cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
cruflbcs.dll登録コマンド

64ビット環境の場合は、以下を実行します:

cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll

登録に成功すると、以下の確認メッセージが表示されます:

DLLの登録に成功

2 Crystal Reportsでの数式フィールドの作成

Crystal Reportsでは、1つの数式フィールドの文字数が255文字に制限されています。データマトリックスのエンコード結果は長くなることが多いため、データを分割する必要があります。

  1. フィールドエクスプローラーの「数式フィールド」を右クリックし、「新規作成...」を選択します。
  2. 名前にBcsDataMatrix1と入力し、「エディタを使用」をクリックします。
Crystal Reportsで数式を作成

ヒント:データの長さに応じていくつの数式フィールドが必要かを確認するには、以下の関数を使用してください:

BCSDatamatrixFormulaNoForCR({Test.Data})

データマトリックス Crystal Reports UFL

3 データの分割とエンコード

必要に応じて追加の数式フィールド(例:BcsDataMatrix2, 3)を作成し、BCSDataMatrixEncodeCR関数を使用します:

BCSDataMatrixEncodeCR({Data}, 1, 0, 0, 0)
BCSDataMatrixEncodeCR({Data}, 2, 0, 0, 0)

引数の内訳:

  • 1. 文字列: エンコードするデータフィールド。
  • 2. インデックス: 分割されたパーツの番号 (1, 2, 3)。
  • 3. フォーマット: 0-30 (0 = 自動選択)。
  • 4. エンコード方法: 1-6 (ASCII, C40, TEXT, X12, EDIFACT, BASE256)。
  • 5. GS1: ブール値 (GS1非準拠の場合は0を設定)。
UFL分割フィールド

4 組み立てとフォントの適用

レポートにテキストオブジェクトを挿入します。このオブジェクトの中に、作成した数式フィールドを順番に配置します。最初は16進数の文字列が表示されますが、問題ありません。

数式フィールドの組み立て

テキストオブジェクトを右クリックし、「オブジェクトの書式設定」を選択します。フォントをBcsDatamatrixに変更してください。

データマトリックスフォントの適用

最終結果

フォントを適用すると、レポート上にスキャン可能なデータマトリックス・バーコードが表示されます。

レポート上の最終結果