动作是自动标签解决方案的重要组成部分。当所定义的事件发生时,每个动作执行预定义的命令(或一系列命令)。

Desktop Designer 包括各种动作。其目的是避免从零开始进行解决方案编程。

使用动作编辑器对话框对动作进行管理。

下面介绍了基本动作概念和属性。

  • 可用动作:Desktop Designer 中包含的动作范围。这些动作按功能集分组。

  • 定义动作:在动作编辑器中,通过单击添加功能区组中的相应动作图标而定义的动作。主功能区包含常用的动作,以及之后您定义为常用动作的动作。要查看所有可用的动作,请单击所有操作。

  • 嵌套动作:不能自己独立操作的动作。其具体特点要求将其嵌套在另一个动作中。使用操作次序功能区组来更改动作放置。每个动作都使用一个 ID 号来标识,这个 ID 号表示了其在列表中的位置,包括其嵌套项。此 ID 号在潜在的错误消息中也会显示,以便您能更快地找到问题动作。

“打印标签”操作是此类操作的一个例子。此操作嵌套在“打开标签”操作之下,所以它能指向要打印的确切标签。

  • 执行动作:列出的(活动)操作按每次事件执行一次。动作顺序是关键 - 从列表顶部开始执行,然后向列表底部移动。

  • 条件动作:只有当提供的条件允许时,条件动作才会执行。条件是用单行 VBScript 表达式Python 脚本进行定义的。

  • 动作错误:如果动作配置不完整,将用一个红色感叹号图标标记。此类动作可以包括在事件列表中,但不能执行。

注意

如果有一个嵌套动作报告错误,则所有父动作也会变为红色。这表示嵌套动作错误。

  • 禁用动作:防止动作执行。默认情况下,添加的每个动作都已启用。不需要的动作可以禁用,禁用后仍然保留在配置中。启用与禁用动作的快捷方式是在定义动作列表中的动作名称前的复选框。

  • 复制动作:任何动作都可复制和粘贴。使用标准的 Windows 键盘快捷键,或在动作上单击右键。

操作编辑器

操作编辑器用于管理Desktop Designer 解决方案中的动作的对话框。

UUID-d0904e49-ae6d-f1ce-bf02-a8c8f533adeb.png

动作可定义为:

  • 表单:些操作由表单事件触发。它们适用于以下事件:

    • 在表单加载时:在加载表单后运行操作。

    • 在表单关闭时:在关闭表单后运行操作。

    • 在表单计时器时:在指定的时间间隔后运行操作。

    • 表单无活动时:在表单于给定的时间间隔无活动之后运行操作。

  • 表单对象:这些操作由对象相关的事件触发。

  • 变量:这些操作要根据接收的值触发。

功能区

操作编辑器对话功能区包含添加动作、删除动作和对动作排序的命令。还可直接访问常用动作。

剪贴板组图标激活下列动作:

  • 粘贴:粘贴剪贴板数据。

  • 剪切:剪切所选内容到剪贴板。

  • 复制:复制所选内容到剪贴板。

  • 删除:删除选定的项目。

撤消&重做组用来撤消或重复操作。

  • 撤消: Desktop Designer 允许用户撤消自打开编辑器那一刻起的整个操作序列。

  • 重做:重复所请求的动作范围。

操作次序组定义所选动作的执行顺序。

  • 向上和向下:箭头用于将选定的动作放在任何其他现有动作之前或之后。

  • 向右:箭头将选定的动作嵌入上一个现存的动作。

注意

嵌套操作是指在父操作进行中时启动的操作。

  • 向左:箭头使嵌套动作从前一个动作独立出来。

注意

某些动作无法独立退出。如果将此类动作添加到动作列表,将显示一条警告。该警告定义了应嵌入哪个动作下。

添加将动作指派给选定的表单对象。

  • 所有操作按钮可以访问整个范围的 Desktop Designer动作。最近使用的动作列在顶部。使用搜索...字段,输入动作名称就可快速找到任何动作。

  • 可以通过以下四个按钮直接访问最常用的操作:

    • 打开标签:该按钮将打开标签操作添加到事件列表。

    • 打印标签:该按钮将打印标签操作添加到事件列表。

    • 设置打印机:该按钮将设置打印机操作添加到事件列表。

    • 退出:该按钮将退出操作添加到事件列表。

动作浏览器

动作浏览器是一个用于添加动作、移除动作和对指派的动作进行排序的工具。使用功能区命令来操作现有动作或添加新动作。

浏览器各列可用来即时概览动作执行选项及其描述。

  • 已启用:启用或禁用所包含的动作。

  • 条件:显示执行动作的条件(如已设置)。

  • 说明:显示用户定义的有关该动作的信息。

通过操作浏览器,可以选择多个操作并使用它们执行复制、粘贴和删除操作。要进行选择,请在所需的操作上按住 Ctrl/Shift 并单击。

注意

只能在同一父操作下选择多个操作,例如,所有选定操作必须处于同一级别。请参阅下图。

UUID-6b3097f1-7ecf-b768-5a4d-04736562f88d.png

编辑字段

编辑字段用于编辑高级动作属性。

  • 选定动作的主要属性可用于编辑,在主要/编辑字段的最上面。每个动作的主要属性不同,请阅读操作说明部分以了解详细信息。

  • 关于组用来描述所有 NiceLabel 10 操作。

    • 名称:默认情况下,操作名称由其类型定义,因此不是唯一的。定义自定义的名称,使操作可立即从其他操作、日志和潜在的错误消息中辨认出来。

    • 说明:所选操作的用户注释。说明显示在操作浏览器中。

    • 操作类型:显示操作类型的只读字段。

    注意

    从旧版解决方案(使用 NiceLabel V6 及更低版本创建)进行升级时,请根据当前选择的语言更新操作名称。解决方案版本将变为已更新。

  • 隐藏属性定义了不经常定义的属性。每个操作的隐藏属性不同,请阅读操作说明部分以了解详细信息。

可用的动作

Desktop Designer 动作按多个功能集分组。下面列出了基本操作说明的组。

一般组包含常用的标签打开和激活相关的命令:

打印机组包含与打印相关的操作:

表单组定义与表单对象相关的操作:

变量组定义与变量相关的操作:

数据&连接组定义与数据库、数据发送、读取或接收以及网络相关的操作。

文件操作组定义了活动的文件相关操作:

流程控制组定义了不同的操作序列:

其他组包含运行命令、发送自定义命令及验证许可证的具体操作:

一般

打开标签

打开标签操作指定要打印的标签文件。执行此操作时,标签模板在内存缓存中打开。标签保留在缓存中,便于触发器或事件使用。

并发打开的标签数量没有限制。如果标签已加载并且已重新请求,NiceLabel Automation 会先确定是否有较新的版本可用,并批准打印,然后打开它。

在此示例中,将从文件夹 C:\ProjectA\Labels中加载标签 label.nlbl

C:\ProjectA\Labels\label.nlbl
UUID-85982b89-4df6-ce75-0252-37f1933af2f2.png

如果找不到指定的标签,则 NiceLabel 10 将在其他位置进行搜索。如需更多信息,请参阅《NiceLabel Desktop Designer 用户指南》中的“对请求文件的搜索顺序”一节。

使用相对路径

NiceLabel 10 支持使用相对路径来引用您的标签文件。根文件夹始终是用于存储解决方案(或配置,如果在 NiceLabel Automation 配置中使用了操作)的文件夹。

使用下列语法,标签将从配置文件位置中相应加载。Automation Builder 将在文件夹 ProjectA(位于当前文件夹上方的两级)中搜索该标签,然后在文件夹 Labels 中搜索。

..\..\ProjectA\Labels\label.nlbl

设置组用于选择标签文件。

  • 标签名称:指定标签名称。标签名可以是硬编码,并每次打印同一个标签。选项数据源可用于动态定义文件名。如果有触发器执行或事件发生,选定或增加包含路径和/或文件名的变量。

    提示

    通常,变量值由筛选器指定。

    注意

    对于网络资源,请使用 UNC 语法。

打印标签

此操作执行标签打印。它必须始终嵌套在打开标签操作中。通过嵌套,该操作可以获得对要打印标签的引用。这进一步使得用户能同时打开多个标签并指定应打印哪个标签。

发出此操作后,使用标签模板中定义的打印机驱动程序打印标签。如果系统中找不到定义的打印机驱动程序,将使用系统默认打印机驱动程序来打印标签。您可以通过设置打印机操作来覆盖打印机驱动程序选择。

为实现高性能的标签打印,默认情况下,激活两个设置:

  • 并行处理。同时全部执行多个打印进程。后台打印线程数取决于硬件,特别是处理器类型。每个处理器核心可以容纳单一打印线程。可以更改此默认设置。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“并行处理”一节。

  • 异步模式。只要完成触发器预处理,并且打印引擎的指令可用,那么打印线程就会在后台接管。而控制权会归还给触发器,以便可以尽快接受下一个传入数据流。如果启用同步模式,除非完成打印进程,否则控制权不会归还给触发器。这可能需要花费一段时间,但是如果将反馈发送回数据提供程序,触发器会从中获益。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“同步模式”一节。

    注意

    在异步模式下,使用操作执行和错误处理中的保存错误到变量选项不会产生任何结果,因为触发器不从打印进程接收反馈。要从打印进程捕获反馈,请先启用同步模式。

注意

如果“打印标签”操作嵌套在“用于循环”操作下,则 Automation 将在会话打印模式中执行“打印标签”操作。此模式可作为打印优化模式,使用单一打印作业文件来循环打印所有标签。欲了解详情,请参阅《NiceLabel Automation 用户指南》中的“会话打印”一节。

数量组定义了使用活动表单要打印的标签数。

  • 标签:设置打印的标签数。数据源指定或添加一个变量来动态定义标签打印数量。

    注意

    变量值通常由使用数据筛选器操作分配且必须为整数。

全部(无限数量):根据标签模板设计,打印不同数量的标签。

无限数量打印细节

通常,此选项在两种情况下使用.

  1. 命令触发器不断打印同一标签,直到触发器关闭或收到清除其内存缓冲区的命令为止。

    警告

    此场景要求安装Loftware打印机驱动程序并将其用于标签打印。

    如果打印固定标签,则仅向打印机发送单个打印作业,并将数量设置为“无限”。标签打印机具有一个指示“无限”打印的打印命令参数。

    如果标签未固定,但包含在打印期间发生更改的对象(如计数器),则将打印数量设置为打印机支持的最大数量。Loftware 打印机驱动程序了解打印机数量限制并打印尽可能多的标签。

    例 70. 示例

    支持的最大打印数量为 32,000。这是选择全部(无限数量)选项之后打印的标签数。


  2. 触发器不提供任何数据,而是仅充当“发生事件”信号。用于获取必要数据的逻辑包含在标签中。通常,将在标签上配置与数据库的连接,在每个触发器,标签必须连接到数据库并从数据库获取所有记录。在这种情况下,全部(无限数量)选项被理解为“从数据库打印所有记录”。

  • 变量数量(从标签变量定义):指定定义要打印的标签数量的标签变量。

    触发器不接收要打印的标签数量,所以将决定交给标签模板。标签可能包含到数据库的连接以提供标签数量,或者存在另一个数量信息源。单个标签变量必须定义为“变量数量”。

高级组定义标签打印细节。单击显示高级打印选项以定义高级打印选项:

此部分指定与不常用的标签数量相关的设置。

  • 跳过标签的数目:指定在第一页标签上跳过的标签数。该页标签可能已经打印一次,但未全部打印。您可以偏移起始位置来重复使用同一页。如果将标签打印到标签页而不是标签卷,则此选项适用,因此它对办公室打印机很有效,但对标签打印机无效。

  • 相同标签副本:指定每个唯一标签打印的标签副本数量。对于固定标签,此选项产生的结果与主标签数量选项相同。对于可变标签(例如,使用计数器的标签),您可以获得实际标签副本。

  • 标签集:指定整个标签打印过程重复次数。

    例 71. 示例

    触发器或事件接收包含 3 行 CSV 格式数据的内容,因此应打印 3 个标签(1、2、3)。如果将此选项设置为 3,则按以下顺序进行打印输出:1, 2, 3, 1, 2, 3, 1, 2, 3.


提示

所有高级组值可以进行硬编码,或者通过现有的或新添加的变量动态提供。

打开文档/程序

此操作提供外部应用程序接口,并使用命令行打开它们。

外部应用程序可以执行其他处理并将结果返回给 NiceLabel 10。此操作允许它与任何可以执行额外数据处理或获取数据的第三方软件绑定。外部软件将数据响应保存到文件中,您可从文件中读入变量。

您可以在命令行中使用方括号,列出要提供给程序的变量值。

C:\Applications\Processing.exe [variable1] [variable2]
UUID-5d28e5a1-7881-3792-3aca-f065586a3897.png

注意

如果在 NiceLabel 10 解决方案中使用此操作,您可以直接在表单中打开网页或创建电子邮件。请参阅《NiceLabel 10 用户指南》中的“在表单中创建超链接和发送电子邮件”一节。

文件组定义了要打开的文件。

  • 文件名:要打开的文件或应用程序的位置或文件名。

    选定文件名可以是硬编码,并每次均会使用同一文件。如果仅定义文件名而不定义路径,将使用包含 NiceLabel Automation 配置文件 (.MISX) 的文件夹。您可以使用对文件名的相对引用,其中将包含 .MISX 文件的文件夹用作根文件夹。

    数据源:启用变量文件名。选择一个包含路径和/或文件名或包含多个变量的文件名。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

    注意

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

执行选项组设置程序打开的细节。

  • 隐藏窗口:使已打开的程序窗口不可见。因为 NiceLabel 10 是作为一个服务应用程序在其自己的会话内运行,它无法与桌面进行交互,即使是使用当前登录用户的权限运行时也如此。出于安全考虑,微软已在 Windows Vista 和更新的操作系统中阻止此交互。

  • 等待完成:指定操作执行等待此操作完成的时间,此后必须继续到下一个计划操作。

    提示

    如果后面的操作取决于外部应用程序的结果,则启用此选项。

执行脚本

此操作使用自定义的 VBScript 或 Python 脚本增强软件功能。当内置的操作不满足数据操作要求时,使用此功能。

脚本可以包含触发器变量,其中包括内部变量和从标签定义或导入的变量。

请确保运行服务的 Windows 帐户有权执行脚本中的命令。

UUID-fafb7367-d5ff-2f2f-7066-ac42d66fa5f0.png

注意

在触发器属性中,根据触发器配置脚本类型。单个触发器中的所有“执行脚本”操作必须是同一类型。

脚本编辑器提供了下列功能:

  • 插入数据源:将现有的或新创建的变量插入到脚本中。

  • 验证:用于验证输入的脚本语法。

  • 脚本编辑器:打开编辑器,让您更轻松高效地编写脚本。

脚本编辑器

NiceLabel 10 提供了一个脚本编辑器,让您更轻松、更准确且更高效地编写 Python 或 VBScript 脚本。

UUID-71775a07-f174-df14-34c8-13e31eef6953.png

应该在脚本编辑器中使用的脚本语言选择在 NiceLabel Designer ProAutomation Builder 中不同:

  • Desktop Designer 中,双击表单设计表面以打开表单 属性 > 附加设置 > 表单脚本语言

  • Automation Builder中,转至配置 项目 > 单击编辑以打开触发器属性 > 设置> 其他 > 脚本

提示

NiceLabel 10 使用 Python 的 .NET 变量(名为 IronPython)。它用作 Python 脚本语言的完全兼容实施,并且还支持 .NET 方法。

编辑器功能区包含分布在多个功能组上的常用命令。

  • 剪贴板组提供剪切复制粘贴删除命令。

  • 撤消重做组用来撤消或重复脚本编辑操作。

  • 文件组用来加载脚本并将其保存在文件中。

    • 从文件加载:从之前保存的外部文本文件加载脚本。

    • 保存到文件:将当前编辑的脚本存储在文本文件中。

  • 编辑组用来查找和替换脚本中的字符串。

    • 查找:在脚本中定位输入的字符串。

    • 替换:替换脚本中的字符串。

  • 插入组:数据源命令将现有的或新定义的数据源插入到脚本中。

  • 脚本组:验证脚本命令验证所输入脚本的语法。

可用的脚本元素包含在构建脚本时可用的所有脚本项。双击元素或单击插入按钮可将光标位置处的元素插入到脚本中。

元素说明提供关于插入的脚本元素的基本信息。

错误列表包括在运行验证脚本命令后报告的错误。

打印机

设置打印机

此操作指定要用于打印当前标签的打印机的名称。

注意

此操作将覆盖标签属性中选定的打印机。

在多个打印机上打印相同的标签时,此操作非常有用。请始终在打开标签操作下嵌套此操作,以便为标签提供首选打印机参考。

此操作从所选打印机驱动程序读取默认设置(如速度和浓度),并将其应用到标签。如果您不使用设置打印机操作,则使用在标签模板中定义的打印机来打印标签。

警告

切换打印机时,例如从斑马到佐藤,甚至是从同一品牌的一个打印机型号到另一个型号时,需要小心。打印机设置可能不兼容,那么标签打印输出可能看起来不完全相同。此外,原始打印机的标签设计优化项,如内部计数器和内部字体,可能在新选择的打印机上不可用。

打印机组指定要用于当前打印作业的打印机名称。

  • 打印机名称:从本地安装的打印机驱动程序列表中进行选择,或手动输入打印机名称。选择数据来源以使用变量来动态选择打印机。如果启用,选择或创建一个包含打印机名称(在运行此操作时使用)的变量。

定义打印机设置

此操作打开所选打印机的打印机驱动程序属性对话。这些设置保存在标签文件中且仅对当前标签生效。

注意

用户使用此操作进行的修改是暂时的,只对当前的打印作业有效。所作修改不会保存到标签或表单中。

设置组定义用于打印机设置的变量。

  • 打印机设置:选择或创建一个变量来存储接收的输出打印机设置。如果打印机设置包含在该变量中,打印机属性对话框将显示这些设置。

设置打印作业名称

此操作指定 Windows 后台处理程序中显示的打印作业文件的名称。默认打印作业名称是使用的标签文件的名称。此操作将覆盖它。

注意

请始终在打开标签操作下嵌入此操作,以使之应用到足够的标签文件。

打印作业组定义打印作业名称。

  • 名称:设置打印作业名称。可以进行硬编码,那么每次打印操作都使用相同的名称。变量使文件名可变。如果发生事件或触发触发器,请选择或创建包含路径和/或文件名的变量。

    注意

    Automation Builder 模块中,变量值通常由筛选器分配。

重定向打印到文件

此操作将打印作业定向到文件。将打印输出重定向到一个文件,而不是将创建的打印文件发送到打印机驱动程序中定义的打印机端口。您可以将数据追加到现有文件或覆盖该文件。

此操作可用于捕捉打印机命令到单独的文件。

该操作指示 Automation Builder 模块重定向打印,因此,不会打印标签。请确保该操作的后面紧跟着打印标签操作。

注意

NiceLabel Automation 在定义的 Windows 用户帐户下作为服务运行。请确保此用户帐户有权访问指定的文件夹,要有读/写权限。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

重定向打印到文件操作可用于将多个不同的标签(.NLBL 文件)打印到网络打印机,同时保持标签的顺序正确。如果从同一触发器打印多个 .NLBL 文件,Automation Builder 会以单独的打印作业将每个标签发送到打印机,即使两个标签的目标打印机相同也如此。如果使用网络打印机,则可在两个作业之间插入其他用户的作业。触发器必须一起发送。使用此操作,可以将打印数据附加到同一文件,然后使用发送数据到打印机操作将其内容发送到打印机。

文件组设置设定了如何进行重定向文件选择。

  • 文件名:指定文件名。它可以进行硬编码,或者使用现有的或新创建的变量动态定义。

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

注意

使用此操作时,请确保您的用户帐户有足够的权限访问指定的文件夹,要有读/写权限。

文件写入模式组设置选择在反复重定向的情况下处理文件的方式。

  • 改写文件:如果磁盘上已存在指定的文件,则覆盖。

  • 附加数据至文件:将作业文件添加到所提供文件的现有数据中。

持续组控制重定向操作的持续性。其设定了受重定向打印到文件操作影响的打印标签操作数。

  • 应用于下一个打印操作:指定打印重定向仅适用于下一个打印标签操作(单个事件)。

  • 应用于所有后续打印操作:指定打印重定向适用于当前的重定向打印到文件操作之后的所有打印标签操作。

注意

此操作仅重定向打印。请确保它的后面紧跟着打印标签操作。

设置打印参数

此操作用来微调与打印机驱动程序相关的参数。这些包括标签打印机的速度、浓度,或激光打印机的纸盒等的参数。

打印机设置仅应用于当前的打印输出,在后续事件中不会记住。

警告

当您从 Control Center 预览或重新打印标签时,设置打印参数操作中的参数不适用。

您也可以使用保存在以下内容中的打印机属性避免出现这种情况:标签选项。打印机属性可能因不同的驱动程序或打印机而有所不同。

注意

如果使用设置打印机参数操作更改打印机名称,请确保更改后使用设置打印参数操作。对打印机驱动程序应用 DEVMODE 结构之前,必须先加载默认驱动程序设置。可以通过“设置打印机”操作进行。DEVMODE 仅与相同打印机驱动程序的 DEVMODE 兼容。

打印参数组允许在打印之前对操作进行微调。

  • 纸匣:包含标签介质的纸匣的名称。此选项通常用于有多个纸匣的激光打印机和喷墨打印机。提供的纸匣名称必须与打印机驱动程序中的纸匣名称相匹配。检查打印机驱动程序属性了解更多详细信息。

  • 打印速度:设定打印速度。此设置将覆盖标签上定义的设置。所提供的值必须在接受的值范围内。

    例 79. 示例

    第一个打印机型号接受从 0 到 30 的值范围,而第二个打印机型号接受从 -15 到 15 的值。有关详细信息,请参阅打印机驱动程序属性。


  • 浓度:设定打印对象在纸上的浓度,并将覆盖标签上的设置。所提供的值必须在接受的值范围内。

  • 打印偏移X:应用水平偏移量。标签打印输出将按指定数量的点在水平方向进行重新定位。可以设定负偏移量。

  • 打印偏移Y:应用垂直偏移量。标签打印输出将按指定数量的点在垂直方向进行重新定位。可以设定负偏移量。

提示

所有打印参数可以进行硬编码,或者使用现有的或新创建的变量动态定义。

高级组自定义与打印作业一起发送的打印机设置。

UUID-bf707cd8-345b-68bb-f942-4270ce167106.png

打印机设置,如打印速度、浓度、介质类型、偏移量和类似设置,可以按如下设定:

  • 在标签中定义

  • 从打印机驱动程序中调用

  • 打印时从打印机调用

受支持的方法取决于打印机驱动程序及其功能。打印模式(从标签或驱动程序或打印机调用设置)可在标签设计中配置。您可能需要在打印时应用这些打印机设置 - 每个打印输出的设置可能不一样。

例 80. 示例

一个标签可使用各种打印机进行打印,但每个打印机需要的参数略有不同。不同厂家的打印机并不使用相同的值来设置打印速度或温度。此外,某些打印机需要垂直或水平偏移量才能将标签打印到正确位置。在测试阶段,您可以确定要使用的每个打印机的最优设置,在打印前,将该设置应用到单个标签模板。此操作将应用相应设置到指定的每个打印机。


此操作预计接收 DEVMODE 结构的打印机设置。这是一个 Windows 标准数据结构,包含有关打印机初始化和环境的信息。

打印机设置选项应用自定义的打印机设置。以下输入可用:

  • 固定数据 Base64 编码的 DEVMODE.在此情况下,在编辑字段直接提供打印机的 DEVMODE 编码(用 Base64 编码的字符串)。如果执行,此操作将 Base64 编码数据转换回二进制形式。

  • 变量数据 Base64 编码的 DEVMODE.在此情况下,所选的数据源必须包含 Base64 编码的 DEVMODE。启用数据源并从列表中选择相应的变量。如果执行,此操作将 Base64 编码数据转换回二进制形式。

  • 变量数据二进制 DEVMODE(在 Automation Builder中可用)。在此情况下,所选的变量必须包含采用原生二进制形式的 DEVMODE。启用数据源并从列表中选择相应的变量。如果执行,此操作将按原样使用 DEVMODE,而不进行任何转换。

    注意

    如果该变量不提供二进制 DEVMODE,请确保在配置中将所选的变量定义为二进制变量。

注意

请确保在此操作前已定义设置打印机操作。

标签设置会覆盖在 Designer 的标签属性中定义的标签属性。当您将标签打印到具有不同属性(如 Designer 的标签属性中所定义)的打印机或介质时,请使用此选项。使用此选项,您可以:

  • 更改标签尺寸(宽度和高度)。

  • 添加或更改标签边距。

  • 禁用切刀。

  • 禁用批量打印。

  • 通过更改每页标签列数参数(水平和垂直计数、间距、处理顺序)来应用不同的标签库。

  • 重新定义纵向或横向的方向。

  • 将标签旋转 180°度。

PowerForms 在打印时应用标签设置。标签设置参数不会保存在标签模板中。您可以将标签设置作为 XML 有效载荷提供。

标签设置 XML 示例

以下示例提供了标签设置的结构视图及其属性。

<LabelSettings>
    <Width>100</Width>
    <Height>30</Height>
    <Margin>
        <Left>2</Left>
        <Right>3</Right>
        <Top>4</Top>
        <Bottom>5</Bottom>
    </Margin>
    <LabelsAcross>
        <Horizontal>
            <Count>2</Count>
            <Gap>4</Gap>
        </Horizontal>
        <Vertical>
            <Count>3</Count>
            <Gap>5</Gap>
        </Vertical>
        <ProcessingOrder>HorizontalTopRight</ProcessingOrder>
    </LabelsAcross>
    <Orientation>Landscape</Orientation>
    <Rotated>true</Rotated>
    <DisableCutter/>
    <DisableBatchPrinting/>
    <PaperType>Roll or Sheet</PaperType>
    <PaperName>A5</PaperName>
</LabelSettings>

标签设置 XML 规范

本节包含用于定义标签设置参数和值的 XML 文件结构说明。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="nonNegativeFloat">
    <xs:restriction base="xs:float">
      <xs:minInclusive value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="LabelSettings">
    <xs:complexType>
      <xs:all>
        <xs:element name="DisableCutter" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence/>
          </xs:complexType>
        </xs:element>
        <xs:element name="DisableBatchPrinting" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence/>
          </xs:complexType>
        </xs:element>
        <xs:element name="Width" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
        <xs:element name="Height" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
        <xs:element name="Margin" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="Left" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
              <xs:element name="Right"  type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
              <xs:element name="Top"  type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
              <xs:element name="Bottom" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="LabelsAcross" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:all>
              <xs:element name="Horizontal" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Count" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
                    <xs:element name="Gap" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="Vertical" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:all>
                    <xs:element name="Count" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
                    <xs:element name="Gap" type="nonNegativeFloat" minOccurs="0" maxOccurs="1"/>
                  </xs:all>
                </xs:complexType>
              </xs:element>
              <xs:element name="ProcessingOrder" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="HorizontalTopLeft"/>
                    <xs:enumeration value="HorizontalTopRight"/>
                    <xs:enumeration value="HorizontalBottomLeft"/>
                    <xs:enumeration value="HorizontalBottomRight"/>
                    <xs:enumeration value="VerticalTopLeft"/>
                    <xs:enumeration value="VerticalTopRight"/>
                    <xs:enumeration value="VerticalBottomLeft"/>
                    <xs:enumeration value="VerticalBottomRight"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="Orientation" minOccurs="0" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="Portrait"/>
              <xs:enumeration value="Landscape"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Rotated" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
</xs:schema>

重定向打印到 PDF

此操作将打印作业定向到 PDF 文档。创建的 PDF 文档将保留在标签设计过程中定义的精确标签尺寸。PDF 中的图形渲染质量与目标打印机的分辨率及所需的打印输出尺寸相匹配。

打印流数据可追加到现有文件,或覆盖现有文件。

该操作指示 NiceLabel 10 重定向打印,因此,不会打印标签。请确保该操作的后面紧跟着打印标签操作。

注意

NiceLabel Automation 模块在定义的 Windows 用户帐户下作为服务运行。请确保此用户帐户有权访问指定的文件夹,要有读/写权限。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

文件组设定重定向文件。

  • 文件名:指定将打印作业定向到的文件名称。如果是硬编码,打印每次都重定向到指定的文件。要进行动态定义,请使用现有变量或创建新变量。

  • 改写文件:如果磁盘上已存在指定的文件,则覆盖(默认选择)。

  • 附加数据至文件:将作业文件附加到所提供文件的现有数据中(默认取消选择)。

  • 在 PDF 中嵌入字体:如果您使用某些非标准字体,您的解决方案可能会在无此字体的计算机上生成不同的 PDF 输出。启用在 PDF 中嵌入字体选项后,即可将非标准字体嵌入到您的解决方案中,您的解决方案会在所有计算机上创建相同的 PDF。

    在 PDF 中嵌入字体选项可创建符合存档 (PDF/A) 文档的 PDF。无论您使用什么软件,PDF/A 标准可确保以完全相同的方式复制您的文档。将显示图像、字体和颜色信息等内容所需的信息嵌入到您的 PDF 文件中。

    注意

    启用此选项时保存输出 PDF 文件会占用更多空间。

持续组用于控制重定向操作的持续性。设定受重定向打印到文件操作影响的打印标签操作数。

  • 应用于下一个打印操作:指定打印重定向仅适用于下一个打印标签操作(单个事件)。

  • 应用于所有后续打印操作:指定打印重定向适用于当前的重定向打印到文件操作之后的所有打印标签操作。

打印机状态

此操作与打印机通信以获得其实时的状态,并联系 Windows 后台处理程序以获取打印机及其作业的其他信息。

因此,将收集有关错误、后台处理程序状态、后台处理程序中的作业数的信息。这可揭示潜在的错误并使其容易被识别。

可能的用例场景。(1) 在打印之前验证打印机状态。如果打印机处于错误状态,将标签打印机到备份打印机。(2) 计算在主打印机的后台处理程序中等待的作业数。如果数量太多,将标签打印到替代打印机。(3) 您将在打印之前验证打印机状态。如果打印机处于错误状态,您将不会打印标签,但使用任一出站操作(例如,发送数据到 TCP/IP 端口发送数据到 HTTP执行 SQL 语句Web 服务)将错误报告给主系统,或者作为触发器响应报告。

实时打印机状态先决条件

要让实时打印机状态监控成为可能,请按照以下说明进行操作:

  • 使用 Loftware 打印机驱动程序以接收详细的状态信息。如果使用任何其他打印机驱动程序,则只能监控从 Windows 后台处理程序检索的参数。

  • 打印机必须能够报告其实时状态。有关支持双向通信的打印机型号,请参阅 下载网页

  • 打印机必须连接到支持双向通信的接口。

  • 必须在控制面板 > 硬件和声音> 设备和打印机 > 驱动程序 > 打印机属性 > 端口选项卡 > 启用双向支持中启用双向支持。

  • 如果使用网络连接的标签打印机,请确保使用 高级 TCP/IP 端口(不是 标准 TCP/IP 端口)。有关更多信息,请参阅 知识文库文章 KB189

打印机组选择打印机。

  • 打印机名称:指定要用于当前打印作业的打印机名称。

    您可以从本地安装的打印机驱动程序列表中选择打印机,或输入任何打印机名称。“数据源”使打印机名称可变。如果启用,在执行触发器或发生事件时选择或创建包含打印机名称的变量。通常,变量值由筛选器分配。

数据映射组设置打印机状态操作返回的参数。

警告

Loftware 打印机驱动程序支持以下大部分参数。如果使用任何其他打印机驱动程序,则只能使用后台处理程序相关的参数。

  • 打印机状态:指定格式化为字符串的打印机实时状态。

    如果打印机报告多个状态,则所有状态都合并到一个字符串,用逗号","分隔。如果没有报告的打印机问题,此字段为空。打印机状态可设置为脱机、标签用尽或碳带将用完。由于不存在标准的报告协议,每个打印机供应商都使用专用的状态消息。

  • 打印机错误:打印机错误状态的布尔值 (true/false)。

  • 打印机脱机:打印机脱机状态的布尔值 (true/false)。

  • 驱动程序暂停:驱动程序暂停状态的布尔值 (true/false)。

  • Loftware 驱动程序:打印机驱动程序状态的布尔值 (true/false)。提供关于所选定的驱动程序是否为 Loftware 驱动程序的信息。

  • 后台处理程序状态:以字符串形式指定后台处理程序状态,如 Windows 系统所报告。后台打印程序可同时报告几种状态。在此情况下,使用逗号“,”来合并这些状态。

  • 后台处理程序状态 ID:指定格式化为数字的后台处理程序状态,如 Windows 系统所报告。后台打印程序可同时报告几种状态。在此情况下,返回的状态 ID 包含所有 ID 作为标志。例如,值 5 表示状态 ID 4 和 ID 1,意即是“打印机出错,打印机暂停”。请参阅下表。

    提示

    操作返回一个十进制值,下表中的值采用十六进制格式,因此在解析响应前必须进行转换。

  • 后台处理程序状态 ID 和匹配说明表

    后台处理程序状态 ID(十六进制)

    后台处理程序状态说明

    0

    无状态。

    1

    打印机暂停。

    2

    打印机正在打印。

    4

    打印机错误。

    8

    打印机不可用。

    10

    打印机无纸。

    20

    需要手动送纸。

    40

    打印机纸张问题。

    80

    打印机脱机。

    100

    活动输入/输出状态。

    200

    打印机忙。

    400

    卡纸。

    800

    出纸槽已满。

    2000

    打印机正在等待。

    4000

    打印机正在处理。

    10000

    打印机正在热身。

    20000

    墨粉/墨水余量低。

    40000

    打印机碳粉用尽。

    80000

    无法打印当前页。

    100000

    需要用户干预。

    200000

    打印机内存不足。

    400000

    门已打开。

    800000

    未知错误。

    1000000

    打印机处于省电模式。

  • 后台处理程序中的作业数:指定所选打印机的后台处理程序中的作业数。

  • Loftware 驱动程序扩展打印机状态: 返回打印机状态并显示 JSON 格式的错误数据。数据还包括打印机参数,比如固件版本、打印头距离和墨水量。

    注意

    需要最新版 Loftware 驱动程序获取 Loftware 驱动程序扩展打印机状态

    例 83. 示例

    NiceLabel Automation返回以下 JSON 内容:

    {
            "printerName":"Production_printer_09",
            "version":"1",
            "responseType":"status3",
            "overallStatus":"error",
            "operationState":"pause",
            "printerType":"Thermal Transfer Label Printer",
            "deviceStatus":
            [
                    {
                            "item": "fatalError",
                            "type": "string",
                            "internalId":"ERR_PAPER_OUT",
                            "shortString":"Paper Out",
                            "longString":"Printer is out of paper."
                    },
                    {
                            "item": "error",
                            "type": "string",
                            "internalId": "ERR_RIBBON_OUT",
                            "shortString": "Ribbon Out",
                            "longString": "Printer is out of Ribbon."
                    }
            ],
            "deviceParameters":
            [
                    {
                            "item":"state",
                            "type":"float",
                            "internalId":"INFO_PRINTHEAD_DISTANCE",
                            "unit": "meter",
                            "value": 789,
                            "shortDescription":"Printhead distance",
                            "longDescription":"Distance of printhead usage."
                    },
                    {
                            "item": "state",
                            "type": "string",
                            "internalId": "INFO_FW",
                            "unit": "",
                            "value": "FW27.3.13",
                            "shortDescription": "Firmware version",
                            "longDescription": "The version of the Firmware loaded on the printer."
                    },
                    {
                            "item": "property",
                            "type": "integer",
                            "internalId": "INFO_PRINT_DISTANCE",
                            "unit": "seconds",
                            "value": 16004,
                            "shortDescription": "Print Distance",
                            "longDescription": "Print Distance that the printer printed since odometer reset."
                    }
            ]
    }

存储标签到打印机

此操作将标签模板保存在打印机内存中。此操作是存储/调用打印模式的一个极其重要的部分,通过此操作可以先将标签模板存储到打印机的内存中,然后调用该模板。标签设计的不变部分已经存储在打印机中,因此您只需在打印时为可变标签提供数据即可。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用存储/调用打印模式”一节。

注意

由于要发送的信息减少,因此大大缩短了传输标签数据所需的时间。此操作通常用于独立打印场景,其中标签存储到生产线中的打印机或涂胶机,然后由某些软件或硬件触发器(例如,条码扫描器或光电管)调用。

将标签存储到打印机的高级选项组用来选择标签和首选存储变量。

  • 要在打印机上使用的标签名称:指定要用于在打印机内存中存储标签模板的名称。手动输入该名称或启用数据源,以便使用现有的或新创建的变量动态定义该名称。

    警告

    当存储标签到打印机时,建议将高级选项下的标签名称留空。这可以防止在标签调用过程中发生标签名冲突。

  • 存储变量:定义存储标签模板的打印机内存位置。手动输入该位置或启用数据源,以便使用现有的或新创建的变量动态定义该位置。

打印 PDF 文档

“打印 PDF 文档”操作打印未链接到 PowerForms 解决方案中的标签的静态 PDF 文档。使用此操作可从解决方案直接打印任意 PDF 文档。PDF 文档可以存储于:

  • 您的计算机

  • NiceLabel Control Center

  • Web 服务器

  • 共享的网络驱动器

提示

如果您计划在包装上加上内含明细的打印 PDF 报告,或者您希望打印包装文档而不打开文件浏览器,此操作将十分有用。

打印机组指定要用于当前打印作业的打印机名称。

  • 打印机名称:从本地安装的打印机驱动程序列表中进行选择,或手动输入打印机名称。选择数据来源以使用变量来动态选择打印机。如果启用,选择或创建一个包含打印机名称(在运行此操作时使用)的变量。

文件组设定重定向文件。

  • 文件名:指定要打印的 PDF。

注意

对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

表单

打开另一个表单

此操作从同一个解决方案或磁盘表单打开另一个表单。

设置组包括以下选项:

  • 导航到以前打开的表单:在打开另一个表单操作运行时,重新打开前一个表单。

  • 打开表单:指定在打开另一个表单操作运行时要打开的表单。

打开表单有四种方式:

  • 输入文件的绝对路径。

  • 从解决方案中选择一个现有表单。

  • 单击打开,查找磁盘上的文件。

  • 使用数据源动态定义文件路径

在切换表单时,表单数据源组有助于管理变量值。

  • 重置变量值:默认情况下,如果表单对象的内容是变量值,则切换到其他表单将保留其当前值。如果启用重置变量值选项,则在打开其他表单后,变量的值将重置为初始值。

  • 注意

    打开另一个表单操作只会保留用作对象数据源的变量的值。如果变量仅列在动态数据管理器中,则不会传输其值。

    注意

    如果变量没有初始值,则对象显示为空。

    例 87. 示例

    此选项对数据管理解决方案很有用。在编辑数据时,您可能想保留现有值。在添加新数据时,您需要重置值。如果使用第一个表单进行数据编辑,用第二个表单来添加新数据,则为数据编辑表单禁用重置变量值选项,并为数据添加表单启用此选项。


退出

此操作在 NiceLabel 10 中关闭表单。

移动焦点

此操作将焦点移到表单上的指定对象中。

设置组定义焦点移动:

  • 将焦点移到 Tab 键控制次序的第一个对象:运行该表单后,在规定顺序中的第一个对象上设定焦点。

  • 将焦点移到选定的对象在选定的对象上运行表单后放置焦点。

获取选定表格行

使用此操作,可以检索选定的行数,或者检索“数据库表”表单对象中的选定字段值。这些字段值存储在现有变量或新创建的变量中。“获取选定表格行”操作是选择表格行的对应操作。

表单表格组用来在表单中选择“数据库表格”对象并选择变量中应存储的值。

  • 表格:定义表单的中哪些“数据库表格”对象与此操作结合使用。

    • 选定行数:在选定行变量中存储选定的表格行数。

    • 选定行的表格字段内容:存储选定表格行的字段相关值。

      • 表格字段:定义从中提取值并将值存储在选定行变量中的表格字段。

    注意

    如果选择了多行,则用逗号分隔存储值(行数或字段值)。要启用多行选择,请打开数据库表格对象属性 > 设置,并启用多行选择。

    注意

    如果存储值(行数或字段值)包含逗号,请使用引号将它们引起来。

  • 选定行变量:选择或创建一个变量,以存储表格字段或选定行数值。

提示

使用此变量作为数据源,以显示表单对象中的选定值。

提示

要在表单运行后立即显示记录选择,请使用在表单加载时事件。转到表单属性 > 事件 > 在表单加载时,并单击操作...。添加选择表格行操作,并按本节所述定义行。

选择表行

此操作用来定义在数据库表格表单对象中选择哪一行。它与获取选定的表行操作对应。

表单表格组用来选择表单上的数据库表格对象,并选择以何种模式在所选表中选择行。

  • 表格:定义表单的中哪些“数据库表格”对象与此操作结合使用。

  • 选择模式:定义数据库记录的选择模式。

    • 第一行:选择数据库表格对象中的第一行。

    • 最后一行:选择数据库表格对象中的最后一行。

    • 行号:允许自定义对数据库表格行的选择。输入表行或使用数据源动态定义表行。要选择多行,请输入其行号并以逗号分隔。

    • 字段值:选择数据库表格中具有匹配数据值的所有记录。

      • 表格字段:具有在匹配情况下选择的值的数据库字段。

      • 字段值:在匹配情况下用于选择行(记录)的值。

    注意

    行号和字段值选项用于选择表格行,而不考虑表格行的当前排序。例如,即使表格排序将“表行 3”重新定位到其他任何行,但“表行 3”仍将保持选中状态。

    • 选择所有行:选择表格中的所有行。

    • 取消选择所有行:取消选择表格中的所有行。

    注意

    如果表格支持,可选择多行。否则,仅选择第一行。

选择表行时,行号可以存储在变量中。要启用此选项,请使用数据库表格属性中的将选定的行号存储到变量选项。

注意

“选择表行”操作定义其在数据集上的选择范围。这意味着直接从连接的数据库(而不是表格)中选择记录。如果数据库表格对象启用了筛选,这不会影响“选择表行”操作。

设置对象属性

此操作设置表单对象的属性,如宽度、高度和颜色。

设置组定义了要设置的属性:

  • 对象名称:要进行编辑的表单对象。下拉列表中包含表单上的对象。

  • 属性:定义要设置的表单对象属性。属性的可用性取决于当前选定的对象。

    提示

    这些设置在运行表单并发生分配的事件后生效。

    属性

    作用

    适用性

    X

    设置到左/右表单边框的距离。

    所有表单对象。

    Y

    设置到顶部/底部表单边框的距离。

    所有表单对象。

    宽度

    设置对象宽度。

    所有表单对象。

    高度

    设置对象高度。

    所有表单对象。

    已启用

    启用或禁用对象。

    所有表单对象。

    可见

    使对象可见或不可见。

    所有表单对象。

    字体名称

    将字体名称更改为选定名称。

    所有包含文本内容的表单对象。

    字体大小

    将字体大小更改为选定值。

    所有包含文本内容的表单对象。

    字体样式

    将字体样式更改为选定样式。

    所有包含文本内容的表单对象。

    字体颜色

    将字体颜色更改为选定颜色。

    所有包含文本内容的表单对象。

    颜色

    将对象颜色更改为选定颜色。

    所有表单对象,数据库导航器、图片除外。

    可见列

    使选定的表列可见。

    Value 字段中输入的列将以相同顺序显示。

    数据库表格。

  • 值:逗号分隔值。如果值名称包含逗号,请使用 “ 字符。

提示

《 Designer 用户指南》的数据库表格表单对象一节中介绍了对象属性定义示例。

翻译表单

此操作将表单上的所有字符串翻译为选定的语言。包含源语言中的字符串和已翻译字符串的翻译文件对于此操作是必需的。如果必须创建新翻译文件,请遵循以下格式化规则。

翻译表单设置组选择语言并选择翻译文件或创建新翻译文件。

  • 语言:翻译的表单上使用的语言。翻译文件的第一行设定了语言名称。

    提示

    用户可以配置翻译文件中的语言名称。使用在翻译文件中定义的操作中的相同 ID(名称)。语言名称可以为固定或变量。其用法取决于在表单上的语言选择类型。

    固定名称:硬编码的语言名称,必须与翻译文件第一行的名称匹配。

    变量名称:比如语言名称下拉框。当用户更改列表中的语言时,“onChange”事件执行“翻译表单”操作。下拉框将用户选择保存在一个变量中,然后将之用于操作。

  • 翻译文件:其中包含源字符串及各种语言翻译的文件。这是一个结构化的文本文件,类似于 CSV 文件。

  • 创建翻译文件:单击此按钮创建包含源字符串和翻译字符串的翻译文件。

翻译文件结构:采用 UTF-8 编码数据的文本文件。类似于逗号分隔值 (CSV)。

格式设置规则是强制性的。始终遵循下面列出的规则。

  • 第一行包含语言 ID。

  • 第一个字段始终命名为原文。请勿更改它。

  • 用户可以配置第一行中的其他字段的名称。使用建议的名称,如"Language 2"和"Language 3",或者替换为任何能够更好地描述该语言的名称,如"German"、"French"、"Chinese"等。

  • 第一行之后的所有行都是从原文翻译的译文行。第一个字段包含原始字符串,同一行中的下一个字段包含到其他语言的翻译。第一行指定译文应如何遵循原文字符串的顺序。

  • 所有值都用双引号字符(")括起来。

  • 所有值都用分号字符(;)分隔。

  • 如果您在表单中有多行文本对象,换行符(<CR><LF>)将编码为特殊字符串 $NEWLINE$。

  • 如果译文为空,则使用原文字符串。

翻译文件示例:

Source";"DE"
"&Print";"&Druck"
"Customize$NEWLINE$your$NEWLINE$printing$NEWLINE$forms";"
Anpassen$NEWLINE$Sie$NEWLINE$Ihre$NEWLINE$Druckformen"
"Printer:";"Drucker"
"Quantity";"Menge"
"SAMPLE";"PROBE"
"Se&ttings";"Einstellungen"
"Translate";"Übersetzen"
"www.loftware.com/solutions";""

翻译字符串

在表单中的任何地方使用“翻译表单”操作,则在保存表单时,整个表单的所有字符串都会自动都保存到翻译文件。这将确保表单的翻译文件始终是最新的。

翻译文件能检测到 Unicode 文本文件。您可以在任何文本编辑器进行编辑,但可能无法识别某些字段,因为它们的值是以分号分隔的,并不是一上一下对齐的。

您也可以在电子表格应用程序中打开该文件,如 Microsoft Excel。在此情况下,属于特定语言的字段显示在同一列数据中,并且更容易编辑。

注意

电子表格应用程序可能会更改翻译文件的输入文件结构。在此情况下,请在保存翻译文件后自行重新设置数据的格式。

例 94. 示例

Microsoft Excel 将翻译文件保存为 CSV。字段将去掉值前后的双引号,并用逗号(,)取代分号(;)进行分隔。您必须将逗号转换为分号,并在字段前后加上双引号。只需执行几次搜索和替换操作就可完成。


翻译解决方案中的标签值

表单有时会显示来自同一解决方案文档中标签的值。“翻译表单”操作不会自动翻译这些标签值,因为您需要将标签值手动添加到翻译文件中。

请使用上述相同的格式化规则将标签值添加到翻译文件。

例 95. 示例

您的解决方案包含一个表单和一个标签。该表单包含数据初始化对象,用于向标签变量分配值。您想使用“翻译表单”操作(即单击表单上的按钮)用德语显示原始英文表单。

UUID-5c254c5f-a00c-f135-ea08-44f7a72b70f3.png

变量的原始提示文本为 "Define variable value"。要显示德语翻译,请将此行添加到翻译文件中:"Define variable value";"Definieren Sie den Variablenwert";在单击分配了“翻译表单”操作的按钮后,提示文本将用德语显示。

UUID-1bae8fe2-f0f6-8823-901a-0e0c978c2869.png

消息操作

消息操作在您的解决方案中创建了自定义消息弹出窗口,以便为操作者提供:

  • 特别警告

  • 错误信息

  • 信息

  • 问题

您可以将固定值分配到标题消息操作,或与动态数据源关联。您可以将消息的回复(“OK”,“删除”,“是”,或“否”)保存为变量。当您在设计和测试表单时,也可以将消息作为调试工具,在其中显示函数结果。

UUID-618fc0a6-db10-5758-b8e1-97a88e3df673.png

操作编辑器为您的表单创建自定义消息。

其中的图形符号对应不同的消息:

  • 信息

    UUID-15c1396b-993b-2104-d7da-2646954db145.png
  • 错误

    UUID-2808d9ed-2052-e377-1660-517f81e01362.png
  • 警告

    UUID-28b7e391-be23-0a8b-915a-c3e8209bd938.png
  • 问题

    UUID-f00ed3d0-80ab-9792-6527-63de4d667a40.png

使用消息操作来添加消息,防止混淆,并在您的解决方案运行时告知操作者数据处理的错误。

变量

设置变量

此操作给所选变量赋一个新值。

变量通常使用“使用数据筛选器”操作(在 Automation Builder 中可用)获取其值,该操作从接收的数据中提取字段并将其映射到变量。您可能还需要自行设置变量值,通常用于进行故障排除。在 Automation Builder 模块中,在多个触发器之间不会记住变量值,但在处理同一触发器时保留变量值。

变量组定义变量名称及其值。

  • 名称:应该存储更改值的变量的名称。

  • 值:设置到变量的值。它可以使用现有的或新创建的变量手动或动态定义。

保存变量数据

此操作将单个或多个变量的值保存在关联数据文件中。

NiceLabel Automation 模块中,此操作可用于在触发器之间交换数据。要将数据读回触发器,请使用“加载变量数据”操作。

提示

值保存在 CSV 文件中,首行包含变量名称。如果变量包含多行值,则换行符 (CR/LF) 被编码为 \n\r

设置组可定义文件名。

  • 文件名:用于保存变量数据的数据文件。如果该名称是硬编码,则每次将值保存到相同的数据文件。

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

如果文件存在组提供用于保存值的附加选项。

  • 改写文件:用新的变量数据覆盖现有数据。旧内容会丢失。

  • 附加数据至文件:将变量值附加到现有数据文件。

文件结构组定义 CSV 变量数据文件参数:

  • 分隔符:指定分隔符类型(制表符、分号、逗号或自定义字符)。分隔符是将存储的变量值分隔的字符。

  • 文本限定符:指定将存储的内容限定为文本的字符。

  • 文件编码:指定数据文件中使用的字符编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

    提示

    UTF-8 是一个很好的默认选择。

  • 在第一行添加变量名:在文件第一行放置变量名。

变量组定义应从数据文件中读取其值的变量。将使用该文件中的值覆盖现有变量的值。

  • 所有变量:所有变量的变量数据是从数据文件读取。

  • 选定的变量:所列变量的变量数据是从数据文件读取。

加载变量数据

此操作将从 保存变量数据 操作保存的相关数据中加载一个或多个变量的值。使用此操作可在触发器之间交换数据。您可加载数据文件中存储的某一特定变量或所有变量。

设置组可定义文件名。

  • 文件名:指定加载变量数据的文件。如果该名称是硬编码,则每次从相同的文件加载。

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

文件结构组设置必须反映保存变量数据操作保存的文件的结构。

  • 分隔符:指定分隔符类型(制表符、分号、逗号或自定义字符)。分隔符是将值分隔的字符。

  • 文本识别符号:指定将内容限定为文本的字符。

  • 文件编码:指定数据文件中使用的字符编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

    提示

    UTF-8 是一个很好的默认选择。

变量组定义应从数据文件中加载的变量值。

  • 所有变量:指定要读取的数据文件中的所有已定义的变量。

  • 选定的变量:指定要从数据文件读取的各个选定变量。

字符串操作

此操作定义应该如何格式化所选变量的值。

最常用的“字符串操作”操作有:删除前导空格和尾随空格、搜索和替换字符以及删除左右引号。

如果触发器收到非结构化数据文件或旧数据,通常需要此功能。在这种情况下,需要使用非结构化数据筛选器解析数据。“字符串操作”操作用来微调数据值。

注意

对于特定情况,如果此操作不提供足够的字符串操作功能,则改用执行脚本操作,以便使用 Visual Basic Script 或 Python 脚本操作数据。

UUID-e7689da1-7fbe-e698-af8e-884c627bf335.png

变量组定义需要格式化其值的变量。

  • 所有变量:指定要格式化的数据文件中的所有已定义的变量。

  • 选定的变量:指定要从数据文件格式化的变量选择。

格式文本组设定要应用于所选变量或字段的字符串操作函数。可使用多个函数。函数应用的顺序与编辑器中的一样 - 从上到下。

  • 删除开头的空格:删除字符串开头的所有空格字符(十进制 ASCII 码 32)。

  • 删除结尾的空格:删除字符串结尾的所有空格字符(十进制 ASCII 值 32)。

  • 删除开头结尾字符:删除发现在字符串中第一次出现的开头和结尾字符。

    例 100. 示例

    如果使用 "{" 作为开头字符并使用 "}" 作为结尾字符,则输入字符串 {{selection}} 转换为 {selection}


  • 搜索和替换:按照提供的查找内容和替换为,执行标准的搜索和替换功能。支持正则表达式。

注意

正则表达式有几种实际用法。 NiceLabel 10 对正则表达式使用 .NET Framework 语法。有关更多信息,请参阅 知识文库文章 KB250

  • 使用空格替换非打印字符:将字符串中的所有控制字符都替换为“空格”字符(十进制 ASCII 码 32)。非打印字符是十进制 ASCII 值介于 0-31 和 127-159 之间的字符。

  • 删除非打印字符:删除字符串中的所有控制字符。非打印字符是十进制 ASCII 值介于 0-31 和 127-159 之间的字符。

  • 解码特殊字符:解码在键盘上没有的字符(或控制码),如回车符或换行符。NiceLabel 10使用符号字符以人类可读的形式来编码此类字符,例如 <CR> 表示回车,<LF> 表示换行。此选项将特殊字符从 NiceLabel 语法转换为实际的二进制字符。

    例 101. 示例

    当您接收到数据 "<CR><LF>",Desktop Designer 将之用作 8 个字符的普通字符串。您必须启用此选项来对接收到的数据进行解释和使用,即作为两个二进制字符CR(回车 – ASCII 码 13)和LF(换行 - ASCII 码 10)。


  • 搜索和删除此前全部:查找提供的字符串,并删除指定字符串前面的所有字符。该字符串也可被删除。

  • 搜索和删除此后全部:查找提供的字符串,并删除指定字符串后面的所有字符。该字符串也可被删除。

数据和连接

执行 SQL 语句

此操作发送 SQL 命令到 SQL Server 并收集结果。使用的命令有 SELECT、INSERT、UPDATE 和 DELETE。

使用“执行 SQL 语句”操作可实现以下两个目标:

  • 从数据库中获取额外数据:您想使用数据库中的数据打印标签,但不是所有必需值。例如,只有 Product IDDescription 的值,而不包含 Price 的值。创建 SQL 语句,在 SQL 数据库中查找 Price 的值。

    SELECT Price FROM Products
    WHERE ID = :(Product ID)

    ID 是数据库中的字段,Product ID 是在触发器中定义的变量。

  • 在数据库中更新或删除记录:打印标签后,更新数据库记录并通知系统特定记录已处理完毕。SQL 代码示例:对于当前处理的记录,将表格字段 AlreadyPrinted 值设置为 True

    UPDATE Products
    SET AlreadyPrinted = True
    WHERE ID = :(Product ID)

    或者,从数据库中删除当前记录,因为不再需要该记录。

    DELETE FROM Products
    WHERE ID = :(Product ID)

    ID 是数据库中的字段,Product ID 是在触发器中定义的变量。

注意

要在 SQL 语句内使用变量值,您必须在其名称前面插入冒号 (:)。这表示后接一个变量名称。

重要

当您使用数据库连接创建解决方案时,请在标签上使用提示变量,而不是数据库字段。

对提示变量使用与为数据库字段定义的相同的名称,例如:

数据库字段:food_products_1c.ProdCode

标签上的提示变量:ProdCode

NiceLabel自动将相应的变量映射到数据库字段。

数据库连接组对将用在语句中的数据库连接进行定义。

提示

必须先建立数据库连接,然后才能向其发送 SQL 语句。单击定义按钮并按照屏幕上的说明进行操作。您可以连接到能够用 SQL 命令进行控制的数据源,这样就无法使用文本文件 (CSV) 或 Excel 文件。

SQL 语句组定义了要执行的 SQL 语句或查询。

提示

允许来自数据操作语言 (DML) 中的语句来执行现有数据库表格查询。

使用标准 SQL 语句,如 SELECT、INSERT、DELETE 和 UPDATE,包括连接、函数和关键字。不允许 DDL 语言用来创建数据库和表格的语句(CREATE DATABASE、CREATE TABLE)或删除的语句 (DROP TABLE)。

  • 测试:打开数据预览部分。模拟执行(默认选中)测试 SQL 语句的执行。单击执行运行模拟。

    提示

    数据预览部分可用于测试对一组实时数据执行 SQL 语句的情况。要防止意外更新数据,请确保已启用模拟执行选项。将执行 INSERT、DELETE 和 UPDATE 语句。这样,您便可获得有关多少条记录将受到影响的反馈,然后将会取消所有事务。

    如果在 SQL 语句中使用触发变量,您将能够输入其值来执行测试。

  • 插入数据源:将预定义的或新创建的变量插入到 SQL 语句中。

  • 导出/导入:启用从外部文件导入 SQL 语句和将 SQL 语句导出到外部文件。

  • 执行模式:指定 SQL 语句执行的显式模式。

    提示

    对于复杂的 SQL 查询,越来越难以自动确定所要采取的操作。如果内置逻辑无法确定您的意图,则需手动选择主要操作。

    • 自动:自动确定操作。

    • 返回记录集 (SELECT):接收包含记录的数据集。

    • 不返回记录集(INSERT、DELETE、UPDATE):如果您执行的查询不返回记录,请使用此选项。要么插入新记录,要么删除或更新现有记录。其结果是一个状态响应,报告了您的查询所影响的行数。

  • 执行超时:可以定义将命令发送至 SQL Server 的延时。发送需要较长处理时间的多个连续 SQL 命令时,可以使用执行超时。

    输入需要的超时持续时间(以秒为单位)。执行超时持续时间默认为 60 秒。如果希望数据库提供程序来定义超时,请输入 0 秒。

结果组可用于设置 SQL 语句结果的存储方式,并定义操作迭代。

  • 保存数据到变量:选择或创建一个变量来存储 SQL 语句结果。此选项取决于已选定的执行模式。

    • SELECT 语句的结果。执行 SELECT 语句后,将产生一组记录数据。您会收到 CSV 格式的文本内容。第一行包含在结果中返回的字段名称。后面几行包含记录。

      要从返回的数据集中提取值并将它们用于其他操作,请定义“使用数据筛选器”操作并对此变量的内容执行该操作(此操作在 Automation Builder 中可用)。

    • INSERT、DELETE 和 UPDATE 语句的结果。使用 INSERT、DELETE 和 UPDATE 语句时,结果将是表示表格中受影响的记录数的一个数字。

  • 对每个记录执行迭代。启用后,NiceLabel会自动添加一个新操作用于每条记录。有关此操作的更多信息,请参阅专门主题

    那么,使用 SQL 语句返回的每个记录都会重复所有嵌套操作。

    注意

    自动映射将启动。无法删除“用于每个记录”操作。

    数据库字段:food_products_1c.ProdCode

    标签上的提示变量:ProdCode

失败时重试组用来配置操作,在第一次连接数据库服务器不成功的情况下,继续重试。如果操作无法在规定的尝试次数内建立连接,则将引发错误。

  • 重试次数:指定尝试连接到数据库服务器的次数。

  • 重试间隔:指定每次重试之间的持续时间。

警告

使用执行 SQL 语句操作,请勿将数据库表格对象置于打印表单上。结果可能是错误的。

例 103. 示例

您想要使用 food_products_1c 数据库中的数据打印标签,但仅打印具有预定义字段值 UseBy 的记录。

使用变量 ProdUser 定义 UseBy 值。在这种情况下,ProdUser 的值为“3”。

打印每个标签后,NiceLabel 将数据库的值写入光盘的文本文件。使用下列操作:

UUID-507bcc38-919d-635b-5209-8706fb3d61e2.png
UUID-cb65b196-d5b2-4725-89d9-14f266f5cb64.png

仅打印 UseBy 值等于“3”的标签,并将值写入文本文件:

UUID-637fe74b-7603-a307-be15-a9e8afba04f5.png

刷新表格

此操作重新读取指定的数据库表格。

表格组选择要重新读取的数据库表格。

  • 表格:设定要重新读取的现有表格,或使用分步骤数据库向导来创建一个新表格。

导入数据到表格

此操作可从带格式的 CSV 文本文件中读取数据并导入到 SQL 数据库。

注意

使用此操作前,必须已设置到 SQL 数据库的连接。此操作不能用于基于文件的数据库(如 Microsoft Access)或数据文件(如 Microsoft Excel)或纯文本文件。使用基于服务器的 SQL 数据库,如 Microsoft SQL Server。

下列规则适用于此操作:

  • 表格必须已存在于 SQL 数据库中。

  • 表格必须包含主键。

  • 文本文件的第一行必须定义字段名称。

  • 文本文件中的字段名称必须与数据库表格中的字段名称相匹配。

  • 如果文本文件未提供一些字段的值,则会在数据库中写入 NULL。如果该字段不接受 NULL 值,则写入空字符串("")。

  • 自动增量字段的设置值将被忽略。数据库将为这些字段提供值。

  • 如果文本文件中获得的值与字段的结构不匹配,则取消该操作并显示一条错误消息。例如,试图在数字字段中输入字母数字值。

  • 如果要筛选的表单上的记录并显示仅匹配某些条件的记录,您只能导入没有为筛选字段提供值,或与表单定义的过滤器提供相同值的记录。

  • 只允许条件为"等于"、不"大于"、"小于"、"包含"或类似条件的过滤器。

  • 如果文本文件中包含未在 SQL 数据库中定义的字段,则在导入过程中将忽略它们。只有已知的字段将被导入。

设置组用于选定表格。

  • 表格可用于选择下拉菜单中的预定义表格,或使用分步骤数据库向导来创建一个新表格。

文件文本结构组指定文本数据库参数:

  • 分隔符:指定数据文件中的分隔符类型。选择一个预定义分隔符,或者创建一个自定义分隔符。

  • 文本识别符号:指定文本限定符。选择一个预定义分隔符,或者插入自定义分隔符。

  • 文件编码:指定数据文件中使用的字符编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

发送数据到 TCP/IP 端口

此操作将数据发送到任何接受在预定义端口号上连接 TCP/IP 的外部设备。

发送数据到 TCP/IP 端口与设备建立连接,发送数据,然后终止连接。连接和通信受客户端控制 – 启动或终止 TCP 连接时发生的服务器握手。

重要

如果您使用连接到本地 SQL 数据库 Web Client,以 “LOCAL_” 前缀启动 “执行 SQL 语句” 操作名称。

Local_prefix_SQL.png

连接设置组设置连接的详细信息。

  • 回复发件人:允许直接回复作为触发器数据来源的套接字。使用此选项可提供有关打印过程的反馈。

    注意

    此选项在 NiceLabel Automation 中可用。

    回复发件人设置的先决条件如下:

    • 在传递消息后,远程方没有关闭通信通道。

    • 在 TCP/IP 服务器触发器中使用“发送数据到 TCP/IP 端口”操作。

    • 不要在 TCP/IP 服务器触发器中将执行事件配置为在客户端断开连接时。

  • 目的地(IP 地址:端口):目标地址和 TCP/IP 服务器端口。硬编码的连接参数使用固定的主机名或 IP 地址,或通过单击向右箭头并选择一个预定义的变量来使用变量的连接参数。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“在对象中组合多值”一节。

    例 107. 示例

    如果变量 hostname 提供 TCP/IP 服务器名称,变量 port 提供端口号,则为目标输入以下参数:[hostname]:[port]


  • 断开延迟:在交付数据后,按规定的间隔时间,延长与目的 Socket 的连接。某些设备需要更多时间来处理数据。手动输入延迟值,或单击箭头增加或减少该值。

  • 保存数据回复到变量:选择或创建一个变量来存储服务器回复。传递“断开延迟”之后从 TCP/IP 服务器接收的任何数据将存储在此变量中。

注意

发送数据到 TCP/IP 端口操作是在 Web 打印服务器上执行的,而不是在 Web 打印客户端执行的。

如果您在 NiceLabel Web Client中使用发送数据到 TCP/IP 端口操作并且想要在本地执行(绕过 Web 打印服务器),请将前缀“LOCAL_”添加到您的操作名称中。

_LOCAL_01.png

内容组定义要发送到 TCP/IP 服务器的内容。

提示

使用固定的内容,固定和变量内容混合,或仅仅是变量内容。要输入变量内容,请单击数据区域右侧的箭头按钮,从列表中插入变量。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“在对象中组合多值”一节。

  • 数据:要发送出站的内容。

  • 编码:发送数据的编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

发送数据到串行端口

此操作将数据发送到串行端口。它用来与外部串行端口设备进行通信。

提示

请确保两端的端口设置相匹配,即:在配置的操作中和串行端口设备上。串行端口可由计算机中的单个应用程序使用。要成功地从此操作使用该端口,其他应用程序不得同时使用该端口,甚至包括任何打印机驱动程序。

端口组设定串行端口。

  • 端口名:外部设备连接到的端口名称。可以是硬件 COM 端口或虚拟 COM 端口。

端口设置组定义附加的端口连接设置.

  • 每秒位数:外部设备用来与 PC 进行通信的速率。此设置的通常别名是“波特率”。从下拉菜单中选择值。

  • 数据位:每个字符中的数据位数。较新的设备几乎普遍使用 8 个数据位。从下拉菜单中选择值。

  • 奇偶校验:传输中检测错误的方法。最常见的奇偶校验设置为“无”,即由一种通信协议(流量控制)来检测错误。从下拉菜单中选择值。

  • 停止位:暂停每个字符结尾发送的数位,使得接收信号硬件能够检测字符结尾,并与字符流重新同步。电子设备通常使用单个停止位。从下拉菜单中选择值。

  • 流量控制:串行端口可使用接口信号来暂停和恢复数据传输。

内容组设定要发送到串行端口的内容。

提示

允许使用固定的内容,固定和变量内容混合,或仅仅是变量内容。要输入变量内容,请单击数据区域右侧的箭头按钮,从列表中插入变量。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“在对象中组合多值”一节。

  • 数据:要发送出站的内容。

从串行端口读取数据

此操作通过串行端口 (RS-232) 收集数据并将其保存在选定变量中。使用此操作来与外部串行端口设备进行通信。

端口组设定串行端口。

  • 端口名:外部设备连接到的端口名称。可以是硬件 COM 端口或虚拟 COM 端口。

端口设置组定义附加的端口连接设置.

  • 每秒位数:外部设备用来与 PC 进行通信的速率。此设置的通常别名是“波特率”。

  • 数据位:指定每个字符中的数据位数。较新的设备几乎普遍使用 8 个数据位。

  • 奇偶校验:指定传输中检测错误的方法。最常见的奇偶校验设置为“无”,即由一种通信协议(流量控制)来检测错误。

  • 停止位:暂停每个字符结尾发送的数位,使得接收信号硬件能够检测字符结尾,并与字符流重新同步。电子设备通常使用单个停止位。

  • 流量控制:串行端口可使用接口信号来暂停和恢复数据传输。

例 110. 示例

慢的设备可能需要与串行端口握手来指示设备处理接收到的数据时,数据应该暂停。


选项组包括以下设置:

  • 读取延迟:从串行端口读取数据时可选的延迟。延迟之后,读取串行端口缓冲区的全部内容。手动输入延迟,或单击箭头增加或减少该值。

  • 发送初始化数据:指定在读取数据之前发送到选定的串行端口的字符串。此选项启用初始化设备操作,以便能提供数据。该选项也可用将具体问题发送到设备,以及接收具体的回答。单击箭头按钮,输入特殊字符。

数据提取组定义如何提取接收的数据的指定部分。

  • 起始位置:数据提取的起始位置。

  • 结束位置:数据提取的结束位置。

结果组设定用于数据存储的变量。

  • 保存数据到变量:选择或创建一个变量来存储接收的数据。

发送数据到打印机

此操作将数据发送到选定打印机。它可用于将预生成的打印机数据流发送到任何可用的打印机。

NiceLabel Automation 模块以直通模式使用已安装的打印机驱动程序,以便能够将数据发送到打印机连接的目标端口,例如 LPT、COM、TCP/IP 或 USB 端口。

注意

可能的场景。触发器接收的数据必须打印输出在相同的网络打印机上,但在不同的标签模板(.NLBL 标签文件)上。打印机可以从各种工作站接收数据,并且通常将按接收顺序打印作业。Automation Builder 模块将以单独的打印作业发送每个标签模板,使另一个工作站可以将其作业插入到在我们自己的 Automation Builder 模块中创建的作业之间。合并所有标签作业(使用重定向打印到文件操作)并将单个“大型”打印作业发送到打印机,而不是将每个作业单独发送到打印机。

打印机组选择打印机。

  • 打印机名称:将数据发送到的目标打印机名称。从本地安装的打印机驱动程序的下拉列表中选择打印机,输入自定义打印机名称,或者使用现有的或新创建的变量进行动态定义。

数据源组定义要发送到打印机的内容。

  • 使用触发器接收的数据:使用触发器接收的数据。在这种情况下,要将接收的打印机数据流用作筛选器输入。目标是将其重定向到打印机,而不进行任何修改。通过启用内部变量 DataFileName 并使用其所引用文件的内容,可以获得相同的结果。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

  • 文件名:包含打印机流的文件的路径和文件名。指定文件的内容被发送到打印机。选择数据来源使用变量值来动态设定文件名。

  • 变量:包含打印机流的(现有或新)变量。

  • 自定义:设定要发送到打印机的自定义内容。允许使用固定的内容,固定和变量内容混合,或仅仅是变量内容。要输入变量内容,请单击数据区域右侧的箭头按钮,从列表中插入变量。有关详细信息,请参阅《NiceLabel 10 用户指南》中的“在对象中组合多值”一节。

HTTP 请求

此操作使用选定的 HTTP 方法将数据发送到目标 Web 服务器上。允许 HTTP 和 HTTPS URI 方案。

HTTP 的工作方式如同“客户端-服务器”计算模型中的“请求-响应”协议。在此操作中,充当与远程服务器通信的客户端。此操作将选定的 HTTP 请求消息提交到服务器。服务器返回响应消息,其中包含有关请求的完成状态信息,还可包含在正文中请求的内容。

重要

如果您使用连接到本地 SQL 数据库 Web Client,以 “LOCAL_” 前缀启动 “执行 SQL 语句” 操作名称。

Local_prefix_SQL.png

连接设置组设置连接参数。

注意

此操作支持 Internet 协议版本 6 (IPv6)。

  • 目标位置:Web 服务器的地址、端口和目标位置(路径)。

    注意

    如果 Web 服务器在默认端口 80 上运行,请跳过端口号。硬编码连接参数,并使用固定的主机名或 IP 地址。使用一个变量的值来动态定义此选项。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

    例 113. 示例

    如果变量 hostname 提供 Web 服务器名称,且变量 port 提供端口数,则可针对目标输入以下内容:[hostname]:[port]


  • 请求方法:可用的请求方法。

  • 超时:应建立服务器连接和接收响应的超时持续时间(以毫秒为单位)。

  • 保存状态回复到变量:此变量用于存储从服务器接收的状态代码。

    提示

    范围 2XX 中的状态代码为成功代码。命令“OK”响应为代码 200。代码 5XX 为服务器错误。

  • 保存数据回复到变量:此变量用于存储从服务器接收的数据。

身份验证组用于确保 Web 服务器之间的连接安全。

  • 启用基本身份验证用于输入连接 Web 服务器的所需凭据。用户名和密码可以为固定值,也可以使用变量提供。

HTTP 基本身份验证 (BA) 使用静态标准 HTTP 标头。此 BA 验证机制无法对传输的凭据提供机密保护。传输时,仅使用 Base64 进行编码,且未进行任何加密和哈希处理。基本身份验证应通过 HTTPS 使用。

  • 显示密码:取消屏蔽密码字符。

注意

HTTP 请求操作是在 Web 打印服务器上执行的,而不是在 Web 打印客户端执行的。

如果您在 NiceLabel Web Client中使用HTTP 请求操作并且想要在本地执行(绕过 Web 打印服务器),请将前缀“LOCAL_”添加到您的操作名称中。

_LOCAL_02.png

内容组定义要发送到 Web 服务器的内容。

  • 数据:要发送出站的内容。允许使用固定的内容,固定和变量内容混合,或仅仅是变量内容。要输入变量内容,请单击数据区域右侧的箭头按钮,从列表中插入变量。有关详细信息,请参阅《NiceLabel 10 用户指南》中的“在对象中组合多值”一节。

  • 编码:发送数据的编码类型。

    提示

    自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

  • 类型:HTTP 消息的“内容-类型”属性。如果未选择类型,则使用默认应用程序 application/x-www-form-urlencoded。如果未列出相应的类型,则自动定义类型或设置一个可动态定义类型的变量。

其他 HTTP 标头用于某些 HTTP 服务器(尤其是 REST 服务)。

注意

HTTP 请求动作已使用了内置的订阅键,因此您无需在额外 HTTP 标头中输入 Ocp-Apim-Subscription-Key 值。

如果从非NiceLabel应用程序调用云 API,您必须提供 Ocp-Apim-Subscription-Key 值。

  • 额外标头:硬编码标头或从变量值获得的标头。要访问变量,请单击文本区域右侧的小箭头按钮。有关详细信息,请参阅《NiceLabel 10 用户指南》中的“在对象中组合多值”一节。

    特定 HTTP 服务器(尤其是 REST 服务器)要求消息内包含自定义 HTTP 标头。此部分用于提供所需的 HTTP 标头。

    必须使用以下语法输入 HTTP 标头:

    header field name: header field value

    例如,要使用标头字段名称 AcceptUser-AgentContent-Type,可以使用以下语法:

    Accept: application/json; charset=utf-8
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,
    like Gecko) Chrome/31.0.1650.63 Safari/537.36
    Content-Type: application/json; charset=UTF-8

    您可以将标头字段名硬编码,或者从触发变量中获取其值。按需自定义任意数量的标头字段,只要确保每个标头字段均放置在新行中即可。

    注意

    输入的 HTTP 标头将覆盖操作属性(如 Content-Type.)中其他位置已定义的标头。

Web 服务

Web 服务是在两个电子设备或软件实例之间进行通信的一种方法。Web 服务定义为数据交换标准。它使用 XML 格式标记数据,SOAP 协议用于传输数据,而 WSDL 语言用于描述可用服务。

此操作连接到远程 Web 服务并对其执行该方法。方法可以描述为在 Web 服务上发布的操作。该操作将入站值发送到远程 Web 服务中的所选方法,收集结果,然后将其保存在选定变量中。

重要

如果您使用连接到本地 SQL 数据库 Web Client,以 “LOCAL_” 前缀启动 “执行 SQL 语句” 操作名称。

Local_prefix_SQL.png

导入 WSDL 并添加 Web 服务引用之后,其方法将在方法组合框中列出。

注意

您可以通过 Web 服务传输简单类型(例如,字符串、整数、布尔值),但是不能传输复杂类型。WSDL 只能包含单一绑定。

您计划打印产品标签。触发器只会收到一段所需数据。触发器接收 Product IDDescription 变量的值,而不接收 Price 的值。价格信息在单独的数据库中提供,该数据库可通过 Web 服务调用进行访问。Web 服务使用 WSDL 定义对该函数进行定义。例如,函数输入为 Product ID,其输出为 Price。“Web 服务”操作将 Product ID 发送到 Web 服务。它将执行并在其数据库的内部查找,从而提供匹配的 Price。该操作将结果保存在变量中,可用于标签。

Web 服务定义组包括以下设置:

注意

此操作支持 Internet 协议版本 6 (IPv6)。

  • WSDL:WSDL 定义的位置。

    WSDL 通常由 Web 服务提供。通常您要输入 WSDL 链接,并单击导入来读取定义。如果无法从联机资源中检索 WSDL,请将 WSDL 保存到文件,并输入路径和文件名用于加载方法。自动检测远程 Web 服务使用文档还是 RPC 语法以及是否进行适当的通信。

  • 地址:Web 服务的发布地址。

    起初此信息是从 WSDL 检索的,但可在执行此操作前上传。这对分离的开发/测试/生产环境非常有用,其中使用时相同的操作列表,但运行 Web 服务的服务器具有不同的名称。

    允许使用固定的内容,固定和变量内容混合,或仅仅是变量内容。要输入变量内容,请单击数据区域右侧的箭头按钮,从列表中插入变量。有关详细信息,请参阅《NiceLabel 10 用户指南》中的“在对象中组合多值”一节。

  • 方法:可用于所选 Web 服务的方法(函数)。此列表根据 WSDL 定义自动生成。

  • 参数:选定方法(函数)的输入和输出变量。

    入站参数期望有输入。出于测试和故障排除的考虑,您可以输入一个固定值,在屏幕上可看到预览结果。通常您会选择一个变量作为入站参数。该变量的值将作为输入参数。出站参数提供该函数的结果。您必须选择存储结果的变量。

  • 超时:建立与服务器的连接的超时时间。

注意

Web 服务操作是在 Web 打印服务器上执行的,而不是在 Web 打印客户端执行的。

如果您在 NiceLabel Web Client中使用 Web 服务操作并且想要在本地执行(绕过 Web 打印服务器),请将前缀“LOCAL_”添加到您的操作名称中。

_LOCAL_03.png

身份验证:启用基本用户身份验证。此选项定义建立远程 Web 服务出站调用所必需的用户凭据。

  • 启用基本身份验证:用来定义用户名和密码(可手动输入或由变量值定义)。选择数据源来选择或创建变量。

  • 显示密码:显示用户名和密码掩码字符。

    NiceLabel Automation 用户指南》中的“安全访问触发器”一节提供了有关安全问题的详细信息。

数据预览字段用来完成测试 Web 服务执行。

  • 执行按钮将执行 Web 服务调用。

    它将入站参数的值发送到 Web 服务并在出站参数中提供结果。使用此功能可测试 Web 服务的执行情况。您可以输入入站参数的值并在屏幕上查看结果。对执行感到满意时,将为入站参数输入的固定值替换为列表中的变量。

文件操作

保存数据到文件

此操作将变量值或其他数据流(例如,二进制数据)保存在选定文件中。NiceLabel Automation 服务必须对定义的文件夹具有写权限。

文件组定义了要打开的文件。

  • 文件名:在此操作中要打开的文件的位置。

    路径和文件名可以进行硬编码,每次都将使用相同的文件。如果仅定义文件名而不定义路径,将使用包含 NiceLabel Automation 配置文件 (.MISX) 的文件夹。您可以使用对文件名的相对引用,其中将包含 .MISX 文件的文件夹用作根文件夹。

    数据源:启用变量文件名。选择一个包含路径和/或文件名或包含多个变量的文件名。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

如果文件存在组处理存在现有文件情况下的选项。

  • 改写文件:用新数据覆盖现有数据。旧内容会丢失。

  • 附加数据至文件:将变量值附加到现有数据文件。

内容组定义要写入指定文件的数据。

  • 使用触发器接收的数据:触发器接收的原始数据将保存在文件中。实际上,此选项将复制传入数据。

  • 自定义:保存在文本区域中提供的内容。允许固定值、变量值和特殊字符。要输入变量和特殊字符,请单击文本区域右侧的箭头按钮。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“在对象中组合多值”一节。

  • 编码:发送数据的编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

从文件中读取数据

此操作读取所提供文件名的内容,并将其保存在变量中。可以读取任何文件类型的内容,包括二进制数据。

通常,Automation Builder 模块使用触发器接收用于标签打印的数据。例如,如果使用文件触发器,则触发器文件的内容将自动读取并可由筛选器进行解析。但是,您可能需要绕过筛选器来获取某些外部数据。一旦执行此操作并将数据存储在变量中,即可通过任何可用操作使用数据。

在以下情况下,此操作非常有用:

  • 必须合并触发器接收的数据与存储在文件中的数据。

警告

如果从二进制文件(例如,位图图像或打印文件)加载数据,请确保将用于存储读取内容的变量定义为二进制变量

  • 需要在触发器之间交换数据。一旦触发器准备好数据并将其保存到文件(使用保存数据到文件操作),其他触发器将读取数据。

文件组定义要从中读取内容的文件。

  • 文件名:在此操作中要读取的文件的位置。

    路径和文件名可以进行硬编码,每次都将使用相同的文件。如果仅定义文件名而不定义路径,将使用包含 NiceLabel Automation 配置文件 (.MISX) 的文件夹。您可以使用对文件名的相对引用,其中将包含 .MISX 文件的文件夹用作根文件夹。

    数据源:启用变量文件名。选择一个包含路径和/或文件名或包含多个变量的文件名。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

    注意

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

内容组设置文件内容相关的详细信息。

  • 变量:存储在文件内容中的变量。应定义至少一个(现有或新创建的)变量。

  • 编码:发送数据的编码类型。自动将自动定义编码。必要时,从下拉列表中选择首选的编码类型。

    注意

    如果从二进制变量读取数据,无法选择“编码”。在这种情况下,变量按原样包含数据。

失败时重试组定义无法访问指定的文件时,应如何继续执行操作。

提示

Automation Builder 模块可能无法访问该文件,因为它已被另一应用程序锁定。如果一个应用程序仍将数据写入到所选的文件中,并将其保持在独占模式下,那么没有其他应用程序可以在同一时间打开它,即使是读取也不可以。操作重试的其他可能原因有:文件尚不存在、文件夹尚不存在或服务用户不具有访问该文件的权限。

  • 重试次数:设定访问文件的重试次数。如果值设置为 0,则不重试。

  • 重试间隔:每次重试之间的时间间隔,以毫秒为单位。

删除文件

此操作从驱动器中删除选定文件。

NiceLabel Automation 模块在定义的 Windows 用户帐户下作为服务运行。请确保该帐户有权在指定文件夹中删除该文件。

文件组设置文件相关的详细信息。

  • 文件名:待删除文件的名称。文件名可以为硬编码。数据源使用现有的或新创建的变量动态定义文件名。

    路径和文件名可以进行硬编码,每次都将使用相同的文件。如果仅定义文件名而不定义路径,将使用包含 NiceLabel Automation 配置文件 (.MISX) 的文件夹。您可以使用对文件名的相对引用,其中将包含 .MISX 文件的文件夹用作根文件夹。

    数据源选项使文件名可变。选择或创建包含路径和/或文件名的变量,或者组合多个用于创建文件名的变量。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用复合值”一节。

    注意

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

浏览文件/文件夹

此操作打开系统的文件或文件夹浏览器。

对话组设置您的浏览首选项。

  • 浏览:选择浏览文件或文件夹。

  • 筛选器:设置要查找的文件类型。手动输入文件类型,使用定义文件筛选器对话来定义筛选器,或选择数据来源以使用一个变量来确定动态筛选器。定义文件过滤器对话框允许用户:

    • 列出过滤器。每个筛选器都可通过筛选器名称和筛选器类型进行识别。

    • 使用添加、删除、上移和下移按钮来管理现有过滤器。

    注意

    如果删除所有过滤器,则在对话框打开时,不会显示文件类型选择下拉列表。

  • 初始文件夹:设置初始文件夹,通过操作选项将其打开。

  • 对话框标题:通过操作选项打开的文件浏览器窗口的标题。

  • 允许不存在文件:可浏览不存在于特定文件夹中的文件。此选项可将路径存储至不存在于某一变量的文件中,并在一系列操作中进行使用。可使用其他操作选项,例如保存数据到文件,稍后创建文件。

输出数据来源组选择用于存储文件/文件夹路径的变量。

  • 保存路径至:用于保存文件/文件夹路径的现有变量或新变量。

流程控制

用于循环

此操作多次执行所有从属(嵌套)操作。所有嵌套操作在一个循环中执行,起始值和结束值之间的差即为执行次数。

UUID-7cda050d-5e85-d9bd-6bf4-1e1b227b0fa3.png

注意

“用于循环”操作可开启会话打印模式,这是一种打印优化模式,可使用单一打印作业文件来循环打印所有标签。欲了解详情,请参阅《NiceLabel Automation 用户指南》中的“会话打印”一节。

循环设置组包括以下选项:

  • 起始值:循环起始点参考。选择数据来源使用变量值来动态设定起始值。选择或创建包含数字值的变量作为起始。

  • 结束值:结束点参考。选择数据来源使用变量值来动态设定起始值。选择或创建包含数字值的变量作为起始。

    提示

    起始值和结束值允许负值。

  • 保存循环值至变量:将当前的循环步骤值保存到现有变量或新创建的变量中。循环步骤值可包含起始值和结束值之间的任何值。保存该值,以便在另一个操作中重复使用,并识别当前迭代。

为每条记录

此操作多次执行从属嵌套的操作。所有嵌套操作循环执行,连接数据库的表单表格中存在的记录数即为执行次数。

您可以使用所有记录或选定记录来执行从属嵌套操作。

设置组选择记录。

  • 表单表格:包含重复操作记录的表单表格。

  • 使用全部记录:对规定表格中的所有记录重复一个操作。

  • 使用选定的记录:仅对所选的记录重复该操作。

使用操作 执行 SQL 语句 并启用选项对每个记录执行迭代时,NiceLabel将自动插入用于每条记录操作。出现关于变量自动映射的注释。

UUID-08ef64fa-dadd-78ca-d45c-532bb4f3df5e.png
UUID-5a9a15e9-e794-afd8-19e9-4070f474001c.png

标签上的提示变量会自动连接到具有相同名称的数据库字段。请参阅关于如何创建解决方案的说明:

重要

当您使用数据库连接创建解决方案时,请在标签上使用提示变量,而不是数据库字段。

对提示变量使用与为数据库字段定义的相同的名称,例如:

数据库字段:food_products_1c.ProdCode

标签上的提示变量:ProdCode

NiceLabel自动将相应的变量映射到数据库字段。

例 121. 示例

您的解决方案已连接到您的数据库。您想要在标签上打印选定的记录。

使用用于每条记录操作和嵌套操作来打印您的标签。选择使用选定记录选项。

UUID-b47fe2c9-3177-a5c0-bf46-e771f9478b67.png

在打印表单上选择数据库表格的记录,然后打印标签。


尝试

此操作可用来:

  • 监测执行操作过程中的错误

  • 运行一组替代操作(如果发生错误)

“尝试”操作创建 DoOn error 占位符用于操作。触发器触发时应执行的所有操作都必须放在 Do 占位符里面。如果执行 Do 占位符中的操作时未检测到任何错误,那么这些就是执行的唯一操作。但如果出现错误,则 Do 占位符中的操作停止执行,切换到执行 On error 占位符中的操作。

UUID-3cce3b0f-703f-8112-8657-b94a17ee1a7c.png

例 123. 示例

如果 Do 占位符中的任何操作失败,则停止执行操作并恢复 On Error 占位符中的操作。如果“尝试”是独立操作,则会终止执行触发器。在此情况下,“尝试”被嵌套在“For 循环”操作下。通常在 Do 占位符中出现任何错误会也停止执行“For 循环”操作,即使“For 循环”操作仍然还有其他步骤才能完成。在此情况下,“保存数据到文件”操作也不会执行。默认情况下,每个错误都会中断整个触发器处理。但是,您还可以继续执行“For 循环”操作中的下一个迭代。为此,请在“尝试”操作中启用“忽略失败”选项。如果是“For 循环”中的当前步骤的数据导致 Do 占位符出错,则执行 On Error 中的操作。之后,“保存数据到文件”进行级别 2 执行,然后“For 循环”操作继续执行下一个迭代。


通过此操作,可以轻松地检测错误并执行“反馈”或“报告”操作。例如,如果触发器处理过程中发生错误,您可以发出警告。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“打印作业状态反馈”一节。

注意

重要!尝试操作以异步操作得到预期结果。如果“尝试”循环包含的打印标签操作失败,则操作执行仍然会完成“尝试”循环,并不会如预期切换到 On error 操作。不切换到 On error 操作的结果是“打印标签”操作默认以同步模式运行。要避免这种情况,请确保已打开“指导打印”。转至触发器设置 > 其它 > 打印引擎的反馈并启用指导打印。

注意

有关指导打印的详细信息,请参阅同步打印模式一节。

此操作配置同一容器内的多个操作。放置在组操作下的所有操作均属于同一组,且将一起执行。

此操作可带来以下益处:

  • 更好地组织和显示操作工作流。您可以展开或折叠“组”操作,且仅在需要时显示嵌套操作。这有助于使配置区域更清晰。

  • 定义条件执行。您可以在组操作中一次性定义条件,而不必针对每个操作分别定义。如果满足条件,则系统将执行该组内的所有操作。这可以节约许多配置时间并减少配置错误。“组”操作为多个操作执行规则定义 IF..THEN 提供了一个好方法。

其他

获取标签信息

此操作返回关联标签文件的结构信息。它提供标签大小、打印机驱动程序的相关信息,并列出所有标签变量及其主要属性。

“获取标签信息”操作返回标签文件中保存的原始信息。此外,它还可在模拟打印进程之后提供信息。该模拟可确保所有标签变量获得像正常打印期间一样的值。此外,如果将标签定义为可变高度标签(在这种情况下,标签大小取决于要打印的数据量),标签高度信息将提供正确的大小。该操作返回标签大小的尺寸,而不是页面大小的尺寸。

该操作将标签结构信息保存在选定变量中。稍后,您可以使用“HTTP 请求”操作(或类似的出站数据连接操作)将数据发送回系统,或者(如果使用双向触发器)使用触发器响应将其发送回。

UUID-3c296fd4-f620-5bd8-9b6e-cbac77453a14.png

注意

此操作必须嵌套在打开标签操作下。

变量组可选择或创建一个变量,以存储标签的结构信息。

  • 名称:指定变量名称。选择或创建一个变量,以存储 XML 格式的标签信息。

    • 如果要使用来自此触发器内部的 XML 信息,可以利用“使用数据过滤器”操作来定义并执行(仅限 Automation Builder)。

    • 如果要返回 XML 数据作为 HTTP 或 Web 服务触发器中的响应,请直接在触发器配置页面的响应数据字段中使用此变量。

    • 如果要将 XML 数据保存到某个文件,请使用保存数据到文件操作。

附加设置组用来启用临时值的使用。

  • 使用临时值:将缺失的数据源值替换为临时值。

    提示

    有关临时值的详细描述,请参阅《NiceLabel 10用户指南》中的“变量”一节。

标签信息 XML 示例

以下示例提供了标签元素的结构视图及其返回的属性。

<?xml version="1.0" encoding="UTF-8"?>
<Label>
    <Original>
        <Width>25000</Width>
        <Height>179670</Height>
        <PrinterName>QLS 3001 Xe</Printer>
    </Original>
    <Current>
        <Width>25000</Width>
        <Height>15120</Height>
        <PrinterName>QLS 3001 Xe</Printer>
    </Current>
    <Variables>
        <Variable>
            <Name>barcode</Name>
            <Description></Description>
            <DefaultValue></DefaultValue>
            <Format>All</Format>
            <CurrentValue></CurrentValue>
            <IncrementType>None</IncrementType>
            <IncrementStep>0</IncrementStep>
            <IncrementCount>0</IncrementCount>
            <Length>100</Length>
        </Variable>
    </Variables>
</Format>

标签信息 XML 规范

本节介绍“获取标签信息”操作返回的 XML 文件结构。

注意

所有测量值均以 1/1000 mm 为单位表示。例如,宽度 25000 为 25 mm。

  • <Label>:这是根元素。

  • <Original>:指定标签文件中存储的标签尺寸和打印机名称。

    • Width:此元素包含原始标签宽度。

    • Height:此元素包含原始标签高度。

    • PrinterName:此元素包含已为其创建标签的打印机名称。

  • Current:在完成模拟打印后指定标签大小和打印机名称。

    • Width:此元素包含实际标签宽度。

    • Height:此元素包含实际标签高度。如果标签定义为可变高度标签,则标签可随标签对象的增加而增加。例如,文本框和 RTF 对象大小可能会纵向增加,并导致标签也会扩展。

    • PrinterName:此元素包含将用于打印的打印机名称。

      例 126. 示例

      如果此计算机上未安装原始打印机驱动程序,或者如果已使用设置打印机操作更改打印机,则使用非原始打印机。


  • <Variables> 和 <Variable>:元素 Variables 包含所有提示标签变量的列表,其中每个变量均在单独的 Variable 元素中加以定义。从 NiceLabel 10 打印标签时,提示变量会在打印对话框中列出。如果未在标签中定义任何提示变量,则元素 Variables 为空。

    • Name:包含变量名称。

    • Description:包含变量说明。

    • DefaultValue:包含在标签设计过程中为变量定义的默认值。

    • Format:包含可接受的变量内容类型(字符)。

    • IsPrompted:包含打印时是否提示变量的信息。

    • PromptText:包含提示用户输入值的文本。

    • CurrentValue:包含用于打印的实际值。

    • IncrementType:包含变量是否定义为计数器的信息。如果确定为计数器,则显示计数器的类型。

    • IncrementStep:包含计数器间隔的信息。计数器值针对此值在下一个标签上递增/递减。

    • IncrementCount:包含计数器值递增/递减点的信息。通常,计算器会更改每个标签上的值,但可对此加以更改。

    • Length:包含变量中存储的最大字符数。

    • IsPickListEnabled:包含用户是否从挑选列表中选择变量值的信息。

    • PickListValues:包含实际(可选)的挑选列表值。

标签规范 XML 的 XML 架构定义 (XSD)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Format" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Label">
        <xs:complexType>
            <xs:all>
                <xs:element name="Original">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Width" type="xs:decimal" minOccurs="1" />
                            <xs:element name="Height" type="xs:decimal" minOccurs="1" />
                            <xs:element name="PrinterName" type="xs:string" minOccurs="1" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Current">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Width" type="xs:decimal" minOccurs="1" />
                            <xs:element name="Height" type="xs:decimal" minOccurs="1" />
                            <xs:element name="PrinterName" type="xs:string"                    minOccurs="1" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Variables">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Variable" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Name" type="xs:string" minOccurs="1" />
                                        <xs:element name="Description" type="xs:string" minOccurs="1" />
                                        <xs:element name="DefaultValue" type="xs:string" minOccurs="1" />
                                        <xs:element name="Format" type="xs:string" minOccurs="1" />
                                        <xs:element name="CurrentValue" type="xs:string" minOccurs="1" />
                                        <xs:element name="IncrementType" type="xs:string" minOccurs="1" />
                                        <xs:element name="IncrementStep" type="xs:integer" minOccurs="1" />
                                        <xs:element name="IncrementCount" type="xs:integer" minOccurs="1" />
                                        <xs:element name="Length" type="xs:string" minOccurs="1" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

运行命令文件

此操作执行包含在所选命令文件中的命令。所有文件类型选项都提供 NiceLabel 10 按从上到下的顺序执行的命令。

命令文件通常提供单个标签的数据,但您可以定义任何复杂性级别的文件。有关详细信息,请参阅“命令文件类型”一节。

文件组定义要执行的命令文件(JOB、XML 或 CSV)的类型和名称。

  • 文件类型。指定要执行的命令文件类型。

  • 文件名。指定命令文件名。

    文件名可以进行硬编码,每次都将执行相同的命令文件。变量选项使文件名可变。如果执行触发器或发生事件,请选择或创建包含路径和/或文件名的变量。通常,变量值由筛选器指定。

    对于网络资源,请使用 UNC 语法。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“访问网络共享资源”一节。

发送自定义命令

此操作执行输入的自定义 NiceLabel 命令。

请始终在打开标签操作下嵌入此操作。这样便可引用应用命令的标签。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“使用自定义命令”一节。

注意

绝大多数自定义命令可通过个别操作实现,因此在大多数情况下,不需要自定义命令。

注意

“发送自定义命令”操作可用来终止会话打印模式。此模式可作为打印优化模式,使用单一打印作业文件来循环打印所有标签。要终止会话打印,请将“发送自定义命令”操作嵌套到“用于循环”操作之下,并使用 SESSIONEND 命令。有关详情,请参阅《NiceLabel Automation 用户指南》中的“会话打印”和“使用自定义命令”章节。

脚本编辑器提供了下列功能:

  • 插入数据源:将现有的或新创建的变量插入到脚本中。

  • 脚本编辑器:打开编辑器,让您更轻松高效地编写脚本。

确认许可证

此操作读取激活的许可证,仅当使用某一许可证类型时,才执行此操作下面嵌套的操作。

提示

“验证许可证”操作可防止在未经授权的计算机上运行触发器配置。

注意

激活软件的许可证密钥也可以编码一个解决方案 ID。这是一个唯一的数字,用来标识出售此 NiceLabel 10 许可证的解决方案提供商。

如果配置的解决方案 ID 与许可证中的解决方案 ID 相匹配,则允许目标计算机运行嵌套的操作,这样可有效限制对该解决方案提供商出售的许可证的执行。

触发器可以进一步加密和锁定,这样就只允许授权用户打开配置。有关详细信息,请参阅《NiceLabel Automation 用户指南》中的“保护触发器配置”一节。

许可证信息组用来选择许可证 ID。

  • 许可证 ID:定义允许运行嵌套操作的许可证的 ID 号。

    • 如果输入的值不是在许可证中编码的许可证 ID,将不会执行嵌套的操作。

    • 如果输入的值设置为 0,则在发现任何有效的许可证时执行操作。

注意

数字合作伙伴 UID 也可以用作许可证 ID。此选项可用于 NiceLabel 数字合作伙伴计划的成员。

日志事件

此操作向 NiceLabel Control Center 记录日志事件,以便用于历史记录和故障排除目的。

注意

为了激活日志事件操作,请确保已启用打印作业记录到 NiceLabel Control Center

事件数据组提供有关日志记录事件的信息。

  • 信息:有关 NiceLabel Control Center 事件日志中要包括的事件的简短描述。此区域最多允许 255 个字符。

  • 详细信息:日志记录在 NiceLabel Control Center 中的事件详细的描述。此区域最多允许 2000 个字符。

提示

这些描述在信息和详细信息字段中输入,可筛选出 Control Center 所有活动历史记录中的事件。使用控制中心时,请转到历史记录 > 所有活动 > 定义过滤器。有关更多详细信,请参阅 Control Center 用户指南

预览标签

此操作执行打印进程并提供标签的图像预览。默认情况下,预览以 JPEG 图像保存在磁盘中,但可以选择其他图像格式。也可以控制创建的预览图像的大小。此操作将为单个标签生成预览。

创建标签预览文件之后,您可以使用某一出站操作(例如,发送数据到 HTTP发送数据到串行端口发送数据到 TCP/IP 端口)将文件发送给第三方应用程序,或者将其用作双向触发器(例如,Web 服务器触发器)的响应消息。第三方应用程序可以提取该图像,并将其作为标签预览向用户显示。

预览组定义要预览的文件及其详细信息。

  • 文件名:指定路径和文件名。如果为硬编码,则每次均使用使用文件。如果使用文件名(而不是路径),则使用含配置文件 (.MISX) 的文件夹。可以使用文件名的相对引用,其中,含有 .MISX 文件的文件夹将用作根文件夹。数据源选项使文件名可变。选择或创建执行触发之后包含该路径和/或文件夹的变量。通常,变量值由筛选器指定。

  • 图像类型:指定用于保存标签预览的图像类型。

  • 预览标签背面(双面标签):用于预览标签背面。如果使用双面标签并想预览标签背面,此操作十分有用。

例 132. 示例

例如,如果标签模板将尺寸定义为 4" × 3",且标签打印机的分辨率设置为 200 DPI,则生成的预览图像尺寸为 800 × 600 像素。宽度等于 4 英寸 x 200 DPI,结果为 800 像素。高度等于 3 英寸 x 200 DPI,结果为 600 像素。


附加设置组用来启用临时值的使用。

  • 使用临时值:使用临时值替换丢失的数据源值,并在标签预览中显示。

    提示

    临时值在设计标签或表单时,定义对象中的自定义占位符变量值。在标签对象中,临时值在打印时替换为实际变量值。

创建标签变量

此操作用来创建现有标签的查看就绪变量。此类变量中的标签对象已锁定数据源值。其内容由适用数据源的当前值定义。

使用“锁定”数据源创建标签的查看就绪变量的目的在于使标签适用于审批流程,期间需要同时审批数据和模板。审批者使用定义的值检查变量,而非在没有为其对象定义内容的情况下查看标签。这样,审批者可以快速查看最终标签布局并通过用于打印的实际值进行审批。

提示

标签审批流程适用于存储在 Control Center 文档存储中的标签。您可以对存储的标签和标签变量应用各种不同的审批工作流类型。审批工作流选择取决于用户业务环境的要求。有关更多详细信息,请参阅《NiceLabel 10 Control Center 用户指南》。

设置组定义要转换的标签文件和输出文件(标签变量)。

  • 标签名称:要使用锁定数据源值转换为查看就绪变量的标签文件的名称。数据源使用现有的或新创建的变量动态定义标签名称。

  • 打印时间数据源:此选项用来定义将在实际打印时间为其提供值的数据源。如果数据源在此字段中列出,则其值不会锁定并可在打印时提供。典型的例子就是批号、到期日期等生产值的数据源。

    提示

    仅插入数据源名称,不带方括号,并以逗号分隔或使用 Enter 键在列中列出。

  • 输出文件名:要准备查看的标签变量文件的名称。数据源使用现有的或新创建的变量动态定义标签名称。

有几条规则适用于查看就绪标签变量:

  1. 默认情况下,数据源值已锁定。要将数据源从锁定中排除,请将其列在打印时间数据源字段中,使之在查看就绪标签上保持活动状态。您可以在打印时定义其值。

  2. 计数器变量、函数、数据库字段和全局变量将转换为无提示变量。

  3. 图形是嵌入的。

  4. 存储在 NiceLabel Control Center 文档存储中的目标标签变量将自动签入。原始标签名称和打印时间数据来源将作为签到评论。

  5. 处于锁定状态时,可以在 NiceLabel 10 Designer 中打开标签变量。

  6. 无法导入使用此操作生成的标签文件。

  7. 如果标签变量存储在打印机内存中,则调用命令只能为打印时间数据源提供值。

  8. 如果使用 NiceLabel Control Center,则可通过“文档存储”中的标签预览对打印时间数据源进行编辑。

  9. 在查看就绪标签变量上,不能将当前时间和当前日期变量设为打印时间数据源。

在对象中组合多值

某些对象接受多个值作为其内容。这些内容可以是固定值、变量和特殊字符(控制代码)的组合。接受组合值的对象的右侧有一个小的右箭头按钮作为标识。单击箭头按钮,输入变量或特殊字符。

  • 使用固定值。输入一个固定值给该变量。

  • 使用固定值和变量数据。组合值可能包含变量值和固定值。变量名称必须括在方括号 [] 内。手动输入变量,或者通过单击向右箭头按钮插入变量。处理期间,变量值与固定数据合并,用作对象内容。

    下面的示例中,是从三个变量和固定数据项合并的。

    例 135. 示例

    [variable1] // 这是一个固定值 [variable2][variable3]


  • 使用特殊字符。组合值支持特殊字符。您可以手动输入特殊字符,或使用下拉列表插入。在此情况下,variable1的值与固定数据和换页二进制字符合并。此处列出了可用的特殊字符。

    例 136. 示例

    [variable1] 换页符将遵循这个固定文本 <FF>


对共享网络资源的访问

本主题介绍了使用共享网络资源的最佳实施步骤。

服务模式的用户权限

在指定用户账户下,Desktop Designer 的执行组件以服务模式运行,并继承该帐户的访问权限。

关联的用户账户必须拥有足够的权限,才能在 Desktop Designer 中打开标签文件和使用打印机驱动程序。

网络共享 UNC 表示法

访问网络驱动器上的文件时,需要使用 UNC 语法而不是映射的驱动器号。UNC 是网络驱动器指定和映射的命名约定。Desktop Designer 将自动尝试用 UNC 语法替换驱动器号语法。

例 137. 示例

如果文件可作为 G:\Labels\label.lbl 访问,在 UNC 表示法中表示为 \\server\share\Labels\label.lbl(其中 G: 驱动器 映射到 \\server\share)。


访问 Control Center 中的文件的表示法

在 Control Center 里打开“文档存储”中的文件时,使用 HTTP 表示法如 http://servername:8080/label.lbl,或 WebDAV 表示法如 \\servername@8080\DavWWWRoot\label.lbl

注意

您必须在 Control Center 中首先添加和配置使用“文档存储”中所存储文件的用户。有关用户管理的更多内容,请参阅 Control Center 用户指南

打印机驱动程序的可用性

要使用网络共享打印机打印标签,必须使打印机驱动程序在安装 Desktop Designer 的服务器上可用。

请确保运行 Desktop Designer 用户账户有权访问打印机驱动程序。如果网络打印机是安装在本机上,Desktop Designer 可能看不到它,必须重新启动该服务。

提示

要允许自动通知新网络打印机驱动程序,您必须在 Windows 防火墙中启用相应的入站规则。有关详细信息,请参阅 知识库文章 KB 265

对请求文件的搜索顺序

如果 Desktop Designer 尝试加载标签或图像文件,但没有立即找到此文件,则它既不会取消处理过程,也不会报告错误.而是将在其他位置尝试查找所请求的文件。

Desktop Designer将按下面列出的顺序执行文件位置检查:

  1. 检查文件是否在操作中设定的位置。

  2. 检查文件是否在解决方案或标签文件的相同文件夹中。

  3. 检查标签文件是否在 .\Labels 文件夹中(对于图形文件,则检查 .\Graphics 文件夹)。

  4. 检查标签文件是否在 ..\Labels 文件夹中(对于图形文件,则检查 ..\Graphics 文件夹)。

  5. 检查文件是否在全球标签文件夹中(对于图形文件,则检查图形文件夹)。

如果在上面列出的所有位置都找不到文件,则操作失败。发生错误。

后台处理程序状态 ID

后台处理程序状态 ID(十六进制)

后台处理程序状态说明

0

无状态。

1

打印机暂停。

2

打印机正在打印。

4

打印机错误。

8

打印机不可用。

10

打印机无纸。

20

需要手动送纸。

40

打印机纸张问题。

80

打印机脱机。

100

活动输入/输出状态。

200

打印机忙。

400

卡纸。

800

出纸槽已满。

2000

打印机正在等待。

4000

打印机正在处理。

10000

打印机正在热身。

20000

墨粉/墨水余量低。

40000

打印机碳粉用尽。

80000

无法打印当前页。

100000

需要用户干预。

200000

打印机内存不足。

400000

门已打开。

800000

未知错误。

1000000

打印机处于省电模式。