欧盟颁发的强制性食品标签法规在 Regulation (EU) No. 1169/2011 中正式确立,它不仅规定了必须显示的信息,而且还详细说明如何显示这些具体信息,包括字体、颜色和对比度。该法规详细地阐述了字体大小,但由用户决定过敏原高亮显示的确切类型。必须使用特别的字体(例如,粗体、斜体、下划线、反白、不同的颜色)打印配料过敏原,使之与配料表中的其他配料区分开来。

NiceLabel 为使用自定义函数格式化过敏原提供了内置支持.您可以使用这些预定义函数高亮显示配料表中的过敏原。要高亮显示,您可以使用粗体斜体下划线、大写格式或此格式的组合。通过该函数将获得可用于富文本框对象的 RTF 格式数据。

某些未归类为过敏原的配料内可能会出现过敏原字眼。在这种情况下,可以使用 "WithExceptions" 类型的函数。这些函数会接受另一个输入参数,即:例外列表。这些例外是即使包含过敏原字眼也不得格式化的单词或语句。例如,如果将 "milk" 一词定义为过敏原,那么它也会在过敏原 "coconut milk" 中高亮显示,而这是不正确的。您可以将 "coconut milk" 定义为例外,这样在组合 "coconut milk" 中使用时,Desktop designer 就不会高亮显示 "milk" 一词。

注意

有关示例和其他操作文档,请参阅 NiceLabel 网页:欧盟食品过敏原标签法规

先决条件

食品过敏原函数连接到提供的数据源并读取包含的过敏原。要打开数据源,必须在计算机上安装适当的数据库驱动程序(ODBC 驱动程序)。

  • 对于 Excel 和 Access 数据源。如果在同一台计算机上安装了 Microsoft Office,则表示已经具有数据库驱动程序。否则,请单独安装这些驱动程序。访问 Microsoft 下载中心下载并安装 Microsoft Access Database Engine 2010 RedistributableMicrosoft Access 2013 Runtime

  • 对于 MS SQL 数据源。 Microsoft SQL Server Feature Pack 中已经发布了 ODBC 驱动程序。必须已安装 SQLSQLNCLI11 提供程序支持。访问 Microsoft 下载中心并下载该驱动程序。

将格式设置应用于过敏原

要格式化配料表中的过敏原,您必须执行格式化函数并提供输入参数。格式化函数作为 VBScript 函数执行并将在输出变量中提供结果,该变量可在富文本框对象中直接使用。将使用的函数必须与保存过敏原列表的数据位置匹配,例如,CSV 字符串、Microsoft Excel 电子表格或 Microsoft Access 数据库。

要格式化 Excel 列表中的过敏原,请执行以下操作:

  1. Desktop designer 中创建一个新标签并打开动态数据管理器

  2. 单击“函数”,选择 VBScript,然后键入函数名称

  3. 打开脚本编辑器。

  4. Result = "0" 一行更改为 Result = 并将光标定位在等号后面。

  5. 可用的脚本元素下,展开食品过敏原并选择 FormatAllergensFromExcel

  6. 脚本编辑字段类别中,定义函数参数,例如:

    Result = FormatAllergensFromExcel([Products.Ingred],"c:\Data\DB.xlsx","Allergens","Allergen","bold,italic,underline")

    这将读取变量 Products.Ingred 中提供的配料表,从 Products 工作表 Product 列中的 Microsoft Excel 文件 DB.xls 读取过敏原列表,并将粗体格式应用于其中的所有过敏原。

  7. 单击确定

  8. 输出变量名中,定义变量名称,已格式化的过敏原将保存在其中。

    注意

    请确保变量以前缀 RTF_ 开头,例如,RTF_FormattedIngredients。这将指示富文本对象遵循变量中指定的控制码。

  9. 单击确定

  10. 选择富文本框对象并将其添加到设计表面。

  11. 富文本编辑器中,在列表中选择变量并将其添加到内容。

    您可以根据需要添加附加变量或固定文本。

  12. 您可以使用富文本编辑器中提供的控件格式化字体类型、大小和颜色。

  13. 单击确定

过敏原格式化函数的语法

用户提供的过敏原列表

此函数接受两个变量中的配料表和过敏原列表,并使用高亮显示的过敏原创建 RTF 代码。Allergens 中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。

语法:

FormatAllergens(成分,过敏原,高亮)

参数

说明

Ingredients

CSV 配料表。

Allergens

CSV 过敏原列表。

Highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

例 139. 示例

FormatAllergens("wheat flour,salt,veg fat,hazelnuts","wheat,hazelnuts","bold,italic")

FormatAllergens(Ingredients,"wheat,hazelnuts","bold,italic")


Microsoft Excel 电子表格中的过敏原

此函数接受配料表和 Microsoft Excel 电子表格的位置。此函数从该电子表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该电子表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。

语法:

FormatAllergensFromExcel(成分,Excel文件,电子表格,栏目,高亮)

参数

说明

Ingredients

CSV 配料表。

Excel 文件

包含过敏原的 Microsoft Excel 文件的完整路径和文件名。

Spreadsheet

包含过敏原列表的电子表格的名称。

字段

包含过敏原的字段名称(列名)。

还可以提供包含过敏原列表的列索引号。A 列必须为 "1",B 列必须为 "2",依此类推。

Highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

Microsoft Access 数据库中的过敏原

此函数接受配料表和 Microsoft Access 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该数据库表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。

语法:

FormatAllergensFromAccess(成分,AccessDb,表格,字段,高亮)

参数

说明

ingredients

CSV 配料表。

AccessDb

包含过敏原的 Microsoft Access 数据库文件的完整路径和文件名。

table

包含过敏原列表的表格的名称。

field

包含过敏原的字段名称(列名)。

还可以提供包含过敏原列表的列索引号。Field1 必须为 "1",Field2 必须为 "2",依此类推。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

Microsoft SQL 数据库中的过敏原

此函数接受配料表和 Microsoft SQL Server 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该数据库表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。

语法:

FormatAllergensFromMSSQL(ingredients,sqlserver,dbusername,dbpassword, dbname,table,field,highlight

参数

说明

ingredients

CSV 配料表。

sqlserver

包含过敏原的 Microsoft SQL Server 数据库文件的完整路径和文件名。

dbusername

用于访问该数据库的用户名。

dbpassword

用于访问该数据库的密码。

dbname

包含过敏原列表的数据库的名称。

table

包含过敏原列表的表格的名称。

field

包含过敏原的字段名称(列名)。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

SQL Server 中的过敏原

此函数接受配料表和 SQL Server 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该数据库表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。

语法:

FormatAllergensFromSQL(成分,关联字符串,表格,字段,高亮)

参数

说明

ingredients

CSV 配料表。

connectionstring

用于连接 SQL Server 数据库的连接字符串。

table

包含过敏原列表的表格的名称。

field

包含过敏原的字段名称(列名)。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

标记中的过敏原

此函数读取放在自定义标记中的格式以高亮显示配料中的过敏原。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。Ingredients 下包含匹配标记的所有词将通过 Highlight 规范格式化。

语法:

FormatAllergensFromTags(成分,吊牌,高亮)

参数

说明

ingredients

CSV 配料表。

tag

用于将配料标识为过敏原的标记。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

过敏原格式化函数的语法和排除支持

用户提供的过敏原列表

此函数接受两个变量中的配料表和过敏原列表,并使用高亮显示的过敏原创建 RTF 代码。Allergens 中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。最后一个参数提供即使包含过敏原字眼也不得高亮显示的 CSV 语句列表。

语法:

FormatAllergensWithExclusions(Ingredients,Allergens,Highlight,Exclusions)

参数

说明

Ingredients

CSV 配料表。

Allergens

CSV 过敏原列表。

Highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

Exclusions

即使包含过敏原字眼也不会高亮显示的 CSV 单词和语句列表。

milk 是过敏原,因此 "milk" 一词必须高亮显示,但在上下文 "coconut milk" 中使用时不得如此。在这种情况下,"coconut milk" 必须定义为例外。

例 140. 示例

FormatAllergensWithExclusions(“小麦粉,盐,植物脂肪,榛子,椰子”)

牛奶”,“小麦,榛子,牛奶”,“粗体,斜体”,“椰奶”


Microsoft Excel 电子表格中的过敏原

此函数接受配料表和 Microsoft Excel 电子表格的位置。此函数从该电子表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该电子表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。最后一个参数提供即使包含过敏原字眼也不得高亮显示的 CSV 语句列表。

语法:

FormatAllergensFromExcelWithExclusions(Ingredients,ExcelFile,Spreadsheet,Field,Highlight,SpreadsheetEx,FieldEx)

参数

说明

Ingredients

CSV 配料表。

Excel 文件

包含过敏原的 Microsoft Excel 文件的完整路径和文件名。

Spreadsheet

包含过敏原列表的电子表格的名称。

字段

包含过敏原的字段名称(列名)。

还可以提供包含过敏原列表的列索引号。A 列必须为 "1",B 列必须为 "2",依此类推。

Highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

SpreadsheetEx

包含要从过敏原格式设置中排除的单词和语句列表的电子表格的名称。

FieldEx

包含要从格式设置中排除的字符串的字段名称(列名)。

还可以提供包含过敏原列表的列索引号。A 列必须为 "1",B 列必须为 "2",依此类推。

例 141. 示例

FormatAllergensFromExcelWithExclusions("wheat flour,salt,veg fat,hazelnuts","c:\files\data.xlsx","Sheet1","1","bold,italic","Sheet2","2")

FormatAllergensFromExcelWithExclusions(Ingredients,"c:\files\data.xlsx","Sheet1","1","bold,italic","Sheet2","2")


Microsoft Access 数据库中的过敏原

此函数接受配料表和 Microsoft Access 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该电子表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。最后一个参数列出即使包含过敏原字眼也不得高亮显示的字符串。

语法:

FormatAllergensFromAccessWithExclusions(ingredients,accessdb,table_with_allergens,field_with_allergens,highlight,table_with_exclusions,field_with_exclusions)

参数

说明

Ingredients

CSV 配料表。

accessdb

包含过敏原的 Microsoft Access 数据库文件的完整路径和文件名。

table_with_allergens

包含过敏原列表的表格的名称。

field_with_allergens

包含过敏原的字段名称(列名)。

table_with_exclusions

包含要从过敏原格式设置中排除的单词和语句列表的表格的名称。

field_with_exclusions

包含要从格式设置中排除的字符串的字段名称(列名)。

Microsoft SQL 数据库中的过敏原

此函数接受配料表和 Microsoft SQL Server 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该数据库表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。最后一个参数列出即使包含过敏原字眼也不得高亮显示的字符串。

语法:

FormatAllergensFromMSSQLWithExclusions(ingredients,sqlserver,dbusername,dbpassword,dbname,table_with_allergens,field_with_allergens,highlight,table_with_exclusions,field_with_exclusions)

参数

说明

ingredients

CSV 配料表。

sqlserver

包含过敏原的 Microsoft SQL Server 数据库文件的完整路径和文件名。

dbusername

用于访问该数据库的用户名。

dbpassword

用于访问该数据库的密码。

dbname

包含过敏原列表的数据库的名称。

table_with_allergens

包含过敏原列表的表格的名称。

field_with_allergens

包含过敏原的字段名称(列名)。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

table_with_exclusions

包含要从过敏原格式设置中排除的单词和语句列表的表格的名称。

field_with_exclusions

包含要从格式设置中排除的字符串的字段名称(列名)。

SQL Server 中的过敏原

此函数接受配料表和 SQL Server 数据库的位置。此函数从该表格读取过敏原,并使用高亮显示的过敏原创建 RTF 代码。该数据库表格中的所有 Ingredients 匹配词将通过 Highlight 规范格式化。最后一个参数列出即使包含过敏原字眼也不得高亮显示的字符串。

语法:

FormatAllergensFromSQLWithExclusions(ingredients,connectionstring,table_with_allergens,field_with_allergens,highlight,table_with_exclusions,field_with_exclusions)

参数

说明

ingredients

CSV 配料表。

connectionstring

用于连接 SQL Server 数据库的连接字符串。

table_with_allergens

包含过敏原列表的表格的名称。

field_with_allergens

包含过敏原的字段名称(列名)。

highlight

要应用于过敏原的 CSV 格式转换列表。您可以使用“粗体”、“斜体”、“下划线”、“大写”、文本颜色和/或背景颜色。对于 RGB 模式,将采用十六进制语法格式化颜色,例如,"#FF0000" 表示红色。对于文本颜色,仅提供颜色代码;对于背景,为颜色代码添加前缀 "bg:",例如,"bg:#FF0000"。

这是可选参数。如果为空值 (""),将使用粗体格式。

field_with_exclusions

包含要从格式设置中排除的字符串的字段名称(列名)。