1. 請確定您的 SAP Crystal Reports 的位元數。
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)

公式欄位中的第一個參數是要編碼的字串。
公式欄位中的第二個參數是索引。
公式的第三個參數是格式 (Format)。其值在 0 到 30 之間。當設定為零時,表示自動選擇格式。
第四個參數是編碼方法 (Encodation method)。其值在 1 到 6 之間,分別代表以下編碼:ASCII, C40, TEXT, X12, EDIFACT, BASE256。
第五個參數是 GS1 指示符。它是一個布林值,指示這是否是符合 GS1 標準的條碼。如果它不符合 GS1-datamatrix 標準,請將其設定為零。
5. 在您的報表中插入文字物件。
將所有公式欄位依序拖曳到此文字物件中。您會在報表中看到一些十六進位代碼。別擔心!您還沒有套用 BCSDatamatrix 字型。
6. 套用字型 BcsDatamatrix。
對文字物件按一下右鍵,然後從快顯功能表中選擇「設定物件格式」。然後選擇「BcsDatamatrix」作為字型。
7. Datamatrix 在您的 Crystal Reports 中建立完成。
按一下「確定」按鈕。您將在報表中得到 Data Matrix 條碼。