Plain English

Controls a multi-label print run with **five distinct knobs**. `q` is the **total quantity** of unique labels to print (when paired with `^SN` serialization, this advances the serial). `r` is **replicates per serial** — each unique label is printed `r+1` times before advancing the serial (so `^PQ5,0,2,N,N` with serialisation prints 5 unique serials, each duplicated 3 times = 15 labels total). `p` is the **pause-after-N count** for batch separation: after every `p` labels the printer pauses for the operator (set 0 to disable). `o` Y/N overrides any pause requested by `p` (`Y` = ignore pause). `e` Y/N controls **cut on error** when paired with `^MMC` cutter mode (`Y` = retain partial output to investigate, `N` = continue cutting).

When to use

Quantity vs replicate matters with `^SN` serialization: `q` advances the serial, `r` repeats the same one. Without `^SN`, `q` and `r` give the same total label count and either is fine. Use `p>0` for batch operations where the operator needs to retrieve and stack labels in groups (e.g. `^PQ100,10,0,N,N` = print 100, pause every 10). The `e` cut-on-error flag only takes effect on cutter-equipped printers running in `^MMC` mode (cross-reference `^MM`).

Syntax

^PQq,p,r,o,e

Parameters

ParameterDescription
qTotal quantity of unique labels (1–99,999,999). With `^SN` this is the count of serial advances.
pPause after every N labels (1–99,999,999); `0` disables pause batching
rReplicates per unique label (0–99,999,999); each label prints `r+1` times. Without `^SN` this multiplies the total by `r+1`
oOverride pause requested by `p`: `Y` = ignore pause; `N` = honour pause (default)
eCut-on-error flag for cutter mode (paired with `^MMC`): `Y` retain partial output, `N` continue cutting

Example

^XA
^PQ5,1,1,N,N
^FO50,50^FDHello^FS
^XZ

Prints 5 unique labels (`q=5`), pauses after each one (`p=1`), with 1 replicate per label (`r=1` → each label printed twice = 10 labels total), no pause override, no cut-on-error retention. Replicate makes a duplicate of each label rather than advancing to a 6th unique one — distinguishes from raw `^PQ10` which prints 10 unique labels with no replication.

Try it in the playground View all ZPL commands