Crystal ReportsでData Matrixバーコードを生成する
Crystal ReportsでData Matrixバーコードを生成するには?
Crystal ReportsでData Matrixバーコードを生成するには、Barcodesoft UFLライブラリの BCSDataMatrixEncodeCR 関数を使用して新しい式フィールドを作成します。データベースフィールドを引数として渡し、デザインキャンバスに式フィールドを配置して、フォントファミリー BcsDataMatrix を適用します。
-
ステップ 1: SAP Crystal Reportsのビット数の確認とDLLの登録
お使いのSAP Crystal Reportsバージョンのビット数(32ビットまたは64ビット)を確認してください。SAP Crystal Reports 2008から2016までは32ビット版、SAP Crystal Reports 2020および2025は64ビット版です。
64ビット版 Crystal Reports (2020 / 2025) の場合:
コマンドプロンプトを管理者として実行し、以下を実行します:
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
32ビット版 Crystal Reports (2008–2016) の場合:
コマンドプロンプトを管理者として実行し、以下を実行します:
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
-
ステップ 2: Barcodesoft UFL関数の場所を確認する
Crystal Reportsで、関数エクスプローラーの階層を次のように移動します:関数リスト ⇒ 追加関数 ⇒ COM および .NET UFL (u212com.dll) ⇒ Visual Basic UFL。次に、BCSDataMatrixEncodeCR 関数をダブルクリックします。
-
ステップ 3: 新しい式フィールドを作成する
式フィールドを右クリックし、コンテキストメニューから新規作成...を選択します。新しいフィールド名に「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)
式フィールドの第1パラメータは、エンコードする文字列です。 第2パラメータは、インデックスです。 第3パラメータは、フォーマットです。値の範囲は0から30で、0に設定した場合は自動選択フォーマットを意味します。 第4パラメータは、エンコード方式(Encodation)です。値の範囲は1から6で、それぞれ以下のエンコードに対応しています:ASCII (1), C40 (2), TEXT (3), X12 (4), EDIFACT (5), BASE256 (6)。 第5パラメータは、GS1インジケーター(Boolean)です。GS1準拠のバーコードであるかどうかを示します。GS1-DataMatrixに準拠していない場合は「0」に設定します。
-
ステップ 5: レポートにテキストオブジェクトを挿入する
作成したすべての式フィールドを、このテキストオブジェクトの中に順番にドラッグ&ドロップします。レポート上には一時的に16進数のコードが表示されますが、フォント「BCSDatamatrix」がまだ適用されていないためですので、問題ありません。
-
ステップ 6: フォント「BcsDatamatrix」を適用する
テキストオブジェクトを右クリックし、コンテキストメニューから「オブジェクトの書式設定」を選択します。次に、フォントとして「BcsDatamatrix」を選択します。
-
ステップ 7: Crystal ReportsでのData Matrixの作成完了
「OK」ボタンをクリックします。レポート上にData Matrixバーコードが生成されます。