Crystal Reports で Data Matrix バーコードを生成する
SAP Crystal Reports 2008 / 2011 / 2013 / 2016 は32ビットです。
SAP Crystal Reports 2020 / 2025 は64ビットです。
1.1 SAP Crystal Reports が64ビットの場合は、以下の手順に従って64ビットの cruflbcs_x64.dll を登録してください。
コマンドプロンプトを右クリックし、管理者として実行します。

64ビット DLL を登録するには、以下のコマンドを入力します。
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
1.2 SAP Crystal Reports が32ビットの場合は、以下の手順に従って32ビットの cruflbcs.dll を登録してください。
以下のコマンドを入力して32ビットの cruflbcs.dll を登録します。
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll

以下のようなウィンドウがポップアップ表示された場合、登録は成功です。

2. UFL 関数を見つけます。
階層をナビゲートします: [関数リスト] ⇒ [追加関数] ⇒ [COM および .NET UFL (u212com.dll)] ⇒ [Visual Basic UFL]。 BCSDataMatrixEncodeCR 関数をダブルクリックします。
3. 新しい式フィールドを作成する
Crystal Report を開きます。式フィールド を右クリックし、コンテキストメニューから 「新規...」 を選択します。名前を「BcsDataMatrix1」に設定し、「エディタを使用」 をクリックします。
Data Matrix のエンコード処理後、短い文字列でも予想以上に多くのコードワードが生成される場合がありますが、Crystal Reports では式フィールドに255文字までしか入力できません。
したがって、Data Matrix コードワードを複数の部分に分割し、BcsDataMatrix フォントを適用する前にテキストオブジェクト内で連結する必要があります。
必要な式フィールドの数については、以下の関数を使用して確認できます:
BCSDatamatrixFormulaNoForCR({Test.Data})

4. 複数の式フィールドを作成する
BCSDatamatrixFormulaNoForCR({Test.Data}) の戻り値が1より大きい場合は、以下に示すように複数の式フィールドを作成します。次に、それらを同じテキストオブジェクト内に順番に配置します。
BCSDataMatrixEncodeCR({Test.Data}, 1, 0, 0, 0)
BCSDataMatrixEncodeCR({Test.Data}, 2, 0, 0, 0)
BCSDataMatrixEncodeCR({Test.Data}, 3, 0, 0, 0)

式フィールドの最初のパラメータは、エンコードする文字列です。
式フィールドの2番目のパラメータは、インデックスです。
式の3番目のパラメータはフォーマットです。値の範囲は 0 から 30 です。ゼロに設定した場合、自動選択フォーマットを意味します。
4番目のパラメータはエンコードメソッドです。その値は1から6の範囲で、それぞれ以下のエンコードを表します:ASCII、C40、TEXT、X12、EDIFACT、BASE256。
5番目のパラメータは GS1 インジケーターです。これは、GS1 準拠のバーコードであるかどうかを示すブール値です。GS1-datamatrix 準拠でない場合はゼロに設定します。
5. レポートにテキストオブジェクトを挿入する。
すべての式フィールドを順番にこのテキストオブジェクトにドラッグアンドドロップします。レポートにいくつかの16進コードが表示されますが、心配はいりません。まだ BCSDatamatrix フォント書式を適用していないためです。

6. フォント書式 BcsDatamatrix を適用する。
テキストオブジェクトを右クリックし、コンテキストメニューから「オブジェクトの書式設定」を選択します。次に、フォントとして「BcsDatamatrix」を選択します。

7. Crystal Reports で Datamatrix が作成されます。
OK ボタンをクリックします。レポートに Data Matrix バーコードが表示されます。
