在 Crystal Reports 中生成 Data Matrix 条形码
如何在 Crystal Reports 中生成 Data Matrix 条形码?
要在 Crystal Reports 中生成 Data Matrix 条形码,请使用 Barcodesoft UFL 库中的 BCSDataMatrixEncodeCR 函数创建一个新的公式字段。将您的 database 字段作为参数传递,把公式字段放置在设计画布上,然后应用 BcsDataMatrix 字体系列。
-
步骤 1:确定 SAP Crystal Reports 位数并注册 DLL
确定您的 SAP Crystal Reports 版本的位数。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 编码处理后,即使是很短的字符串也可能会产生比您预期多得多的代码字(code words),而 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 之间。当设置为 0 时,表示自动选择格式。 第四个参数是编码方式(Encodation)。其值范围在 1 到 6 之间,分别代表以下编码:ASCII, C40, TEXT, X12, EDIFACT, BASE256。 第五个参数是 GS1 指示器。这是一个布尔值,表示这是否是符合 GS1 标准的条形码。如果不是符合 GS1-datamatrix 的条形码,请将其设置为 0。
-
步骤 5:在报表中插入文本对象
将您所有的公式字段按顺序拖放到该文本对象中。您会在报表中看到一些十六进制代码。不用担心!您此时还没有应用 BCSDatamatrix 字体。
-
步骤 6:应用字体 BcsDatamatrix
右键单击文本对象,然后从上下文菜单中选择“格式化对象...”。然后选择 “BcsDatamatrix” 作为字体。
-
步骤 7:Data Matrix 已经在您的 Crystal Reports 中创建成功
点击确定按钮。您将在报表中获得 Data Matrix 条形码。