跳到主要内容
版本:Next

PrintLabelActivity - 标签打印

概述

属性
节点名称标签打印
节点描述标签打印步骤
节点类型业务节点
命名空间CMS.Plugin.MesSuite.Activitys
程序集CMS.Plugin.MesSuite.Activitys
分类工序步骤
排序9
发布
基类BusinessActivity

功能说明

PrintLabelActivity 是标签打印节点,用于通过打印代理服务将标签打印到指定打印机。该节点支持批量打印、自定义打印数据源、打印记录保存等功能。

配置属性

属性名显示名称类型必填默认值说明
PrinterName打印机名称stringnull打印机名称
PrintAgentIP代理IPstringnull打印代理IP,本机打印使用 127.0.0.1
PrintTemplate模板路径stringnull打印模板路径,如 D:\模板1.btw
PrintNumber打印份数int1打印份数
RequestTimeOut请求超时时间(s)int60请求超时时间(秒)
SubStringLength字符串截取长度int100打印数据字符串截取长度

业务逻辑

执行流程

开始


获取打印数据模型列表

├─► 为空 → 使用节点配置创建默认模型


遍历打印数据模型

├─► 检查打印配置(代理、打印机、模板)
│ │
│ └─► 配置为空 → 设置结果=2,返回

├─► 验证代理 IP 地址
│ │
│ └─► 无效 → 设置结果=2,返回

├─► 合并扩展打印数据源

├─► 截取超长字符串

└─► 调用打印服务执行打印

├─► 成功 → 记录成功

└─► 失败 → 记录失败原因


设置打印结果


退出时保存打印记录


结束

结果值说明

结果值说明
1打印成功
2打印失败
3打印机连接失败

流程数据项

输入数据项

数据项类型说明
PrintDataModelList<PrintDataModel>打印数据模型列表
LabelPrintDataSourceDictionary<string, string>扩展打印数据源

输出数据项

数据项类型说明
LabelPrintResultValueint打印结果(1=成功,2=失败,3=连接失败)
LabelPrintDescriptionValuestring打印说明

依赖服务

服务接口说明
IPrintService打印服务
ILabelProvider标签提供者
ISettingManager设置管理器
IJsonSerializerJSON 序列化器

使用示例

基本配置

<PrintLabelActivity Name="标签打印">
<PrinterName>Printer1</PrinterName>
<PrintAgentIP>127.0.0.1:9100</PrintAgentIP>
<PrintTemplate>D:\Templates\Label1.btw</PrintTemplate>
<PrintNumber>1</PrintNumber>
<RequestTimeOut>60</RequestTimeOut>
</PrintLabelActivity>

批量打印配置

通过流程数据项设置多个打印任务:

<PrintInitializeActivity Name="打印初始化" />
<PrintLabelActivity Name="标签打印" />

典型流程配置

打印初始化 → 标签打印 → 条件分支(成功/失败)
<PrintInitializeActivity Name="打印初始化" />

<PrintLabelActivity Name="标签打印">
<RequestTimeOut>60</RequestTimeOut>
<SubStringLength>100</SubStringLength>
</PrintLabelActivity>

<ConditionActivity Name="打印结果判断">
<Condition>Flow.DataItems["LabelPrintResultValue"] == 1</Condition>
<TrueBranch>继续生产</TrueBranch>
<FalseBranch>异常处理</FalseBranch>
</ConditionActivity>

相关节点

注意事项

  1. 此节点当前未发布(Visible = false)
  2. 打印代理 IP 必须是有效的 IP 地址
  3. 打印模板路径必须在打印代理机器上存在
  4. 超长字符串会被截取并添加省略号
  5. 打印记录会在节点退出时自动保存