ZPLToolkit

^PQ

Print QuantityPreview: not drawn

How many copies of this label the printer produces, and whether it pauses or cuts between them.

Syntax

^PQq,p,r,o,e

Parameters

ParameterDescription and accepted valuesIf omitted
qTotal number of labels to print for this format.1 to 99999999 — total labels to print1
pPrint and then pause after this many labels. 0 never pauses.0 to 99999999 — labels between pauses0
rHow many copies of each serial number to print before it increments.0 to 99999999 — replicates of each serial number0
oPauses and cuts after each group rather than only at the end.Y or N — pause and cut after each groupN
eOverrides the pause count so the run continues without stopping.Y or N — override the pause countN

How it works

^PQ sets the run length for the format it appears in. Without it the printer produces exactly one label, which is why a format that looks right but only ever prints once is usually missing this command rather than broken.

The pause and replicate parameters are for serialised runs. `p` makes the printer stop every so many labels — for an operator to move a stack — and `r` prints several copies of each serial number before ^SN advances it, which is how you get three identical tags per item off one increment.

Position matters less than people expect: ^PQ can appear anywhere between ^XA and ^XZ, and it applies to the whole format. What does matter is that it is not sticky — the next format starts at one copy again unless it carries its own ^PQ.

Example

ZPL
^XA
^FO50,50^A0N,40^FDPacking slip^FS
^PQ4,0,0,N
^XZ

Rendering…

Four copies of the same label, with no pause between them.
Open in the viewer

How the preview on this site handles it

Not drawn, and there is nothing to draw: ^PQ says how many times to print the label, and a preview prints none. The page you see is one copy. The rest of the format previews normally, and the linter reports ^PQ as "valid ZPL this preview does not act on" rather than as an error.

Common mistakes

  • Expecting one label and getting a stack. A ^PQ left in a template from a test run is the classic way to empty a roll.
  • Putting the count in the wrong parameter. `^PQ1,4` is one label with a pause setting, not four labels.
  • Assuming it carries to the next format. Each ^XA…^XZ needs its own ^PQ.

See also