Sending more labels in one batch (Session print)


The goal is to generate the printer-data for all labels in a batch into a single print file. When you apply all data as one print stream instead of several chunks. and printing is faster.

When you use printers that print on sheets of labels (inkjets, lasers), not rolls of labels, all the labels print continuously, without ejecting the page between the labels, and if necessary printing continues on the next pages.

Session print is also useful when more users print to shared printers. All labels in the same session from one user print consecutively. The labels from other users do not print between your labels.


NiceLabel software automatically enables the session print technology to minimize the communication with the printer. So in most cases, you don’t need to change anything.

There are some rules on how to enable session print:

  • Use only one label template (.nlbl or .lbl file).

  • Do not use the following actions: Set printer, Close label, Send custom commands, Run job, or Visual Basic Script.

  • You cannot use NiceCommands SETDATABASE and SETTABLE within a session.

  • If you use actions Set printer or Open label, the session print can only start if the value of the action doesn't change (the printer name or label name remains the same). If the value changes, the existing session ends, and another session starts, causing two (or more) print files sent to the printer.

For example, to print all selected records from a table in PowerForms, the Print button has the following actions defined:

Open label

Set printer

For every record in a table

Print label

Make sure the actions are nested. Open label is in the 1st level, Set printer and For every record in a table in the 2nd level, and Print label in the 3rd label (nested below For every record in a table).


If you use NiceLabel's command files (e.g. .JOB, and similar), you can force session printing using commands SESSIONSTART, SESSIONPRINT, SESSIONEND. The same rules as mentioned above apply. See the NiceLabel Desktop Designer user guide for more information.

If you use the print engine from NiceLabel.NET AP, you can force session printing using commands LabelSessionStart, LabelSessionPrint, LabelSessionEnd. The same rules as mentioned above apply. See the NiceLabel Programming Guide for more information.