Skip to main content
Version: Next

Print Label

Introduction​

PrintLabelActivity is a label printing node used to print labels to a specified printer via the print agent service. This node supports batch printing, custom print data sources, print record saving, and other functions.

Configuration Items​

Property NameDisplay NameTypeRequiredDefault ValueDescription
PrinterNamePrinter NamestringNonullPrinter Name
PrintAgentIPAgent IPstringNonullPrint Agent IP, use 127.0.0.1 for local print
PrintTemplateTemplate PathstringNonullPrint template path, e.g., D:\Template1.btw
PrintNumberPrint NumberintNo1Number of copies
RequestTimeOutRequest Timeout(s)intYes60Request timeout in seconds
SubStringLengthSubstring LengthintYes100Length to truncate print data strings

Business Logic​

Execution Flow​

Start
│
▼
Get print data model list
│
├─► Empty → Create default model using node config
│
▼
Traverse print data models
│
├─► Check print config (Agent, Printer, Template)
│ │
│ └─► Config empty → Set result=2, return
│
├─► Verify Agent IP Address
│ │
│ └─► Invalid → Set result=2, return
│
├─► Merge extended print data sources
│
├─► Truncate overlong strings
│
└─► Call print service to execute printing
│
├─► Success → Record success
│
└─► Failure → Record failure reason
│
▼
Set print result
│
▼
Save print record on exit
│
▼
End

Result Values​

Result ValueDescription
1Print Success
2Print Failure
3Printer Connection Failure

Flow Data Items​

Input Data Items​

Data ItemTypeDescription
PrintDataModelList<PrintDataModel>Print Data Model List
LabelPrintDataSourceDictionary<string, string>Extended Print Data Source

Output Data Items​

Data ItemTypeDescription
LabelPrintResultValueintPrint Result (1=Success, 2=Failure, 3=Connection Failure)
LabelPrintDescriptionValuestringPrint Description

Usage Example​

Basic Configuration​

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

Batch Printing Configuration​

Set multiple print tasks via flow data items:

<PrintInitializeActivity Name="Print Initialization" />
<PrintLabelActivity Name="Print Label" />

Typical Flow Configuration​

Print Initialization → Print Label → Condition Branch (Success/Failure)
<PrintInitializeActivity Name="Print Initialization" />

<PrintLabelActivity Name="Print Label">
<RequestTimeOut>60</RequestTimeOut>
<SubStringLength>100</SubStringLength>
</PrintLabelActivity>

<ConditionActivity Name="Print Result Judgment">
<Condition>Flow.DataItems["LabelPrintResultValue"] == 1</Condition>
<TrueBranch>Continue Production</TrueBranch>
<FalseBranch>Exception Handling</FalseBranch>
</ConditionActivity>

Notes​

  1. This node is currently not published (Visible = false).
  2. Print Agent IP must be a valid IP address.
  3. Print template path must exist on the print agent machine.
  4. Overlong strings will be truncated with ellipsis added.
  5. Print records are automatically saved when the node exits.