^PR - Print Rate
Sets how fast the media moves while printing, slewing and backfeeding.
^PR sets three motor speeds: the media speed during a print, during a slew
past a blank stretch, and during a backfeed. It is a printer setting, not a
property of the label. The guide notes that the printer keeps the speeds until
another ^PR arrives or the power goes off. A ^PR in one format stays in
force for the next.
Syntax
^PRp,s,bSupport
Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.
The parser reads this command and the renderer ignores it, as Labelary does. Speed is a motor setting that cannot change the image. — not pinned by a test
Labelary renders this command.
Parameters
pPrint speedoptional · integernot honoured by zpl.toolsMedia speed during print, in inches per second.
- Default
- 2
- Accepted range
- 1 to 14 ips
- Invalid value
- discarded, and the default applies. The parser reads the slot as a speed designator: one of the letters
AtoE, or an integer from 1 to 14. Anything else is reported asValue '<value>' is not a valid print speed; used 'A' insteadand the slot takes the defaultA, which is what live Labelary answers (swept 2026-08-19). - Test coverage
- No test at the minimum, maximum or one step outside the range. The invalid-value rule is pinned by 1 test.
sSlew speedoptional · integernot honoured by zpl.toolsMedia speed during a feed to the next label.
- Default
- 6
- Accepted range
- 1 to 14 ips
- Invalid value
- discarded, and the default applies. The parser reads the slot as a speed designator: one of the letters
AtoE, or an integer from 1 to 14. Anything else is reported asValue '<value>' is not a valid slew speed; used 'D' insteadand the slot takes the defaultD, which is what live Labelary answers (swept 2026-08-19). - Test coverage
- No test at the minimum, maximum or one step outside the range. The invalid-value rule is not pinned by a test.
bBackfeed speedoptional · integernot honoured by zpl.toolsMedia speed during a backward feed.
- Default
- 2
- Accepted range
- 1 to 14 ips
- Invalid value
- discarded, and the default applies. The parser reads the slot as a speed designator: one of the letters
AtoE, or an integer from 1 to 14. Anything else is reported asValue '<value>' is not a valid backfeed speed; used 'A' insteadand the slot takes the defaultA, which is what live Labelary answers (swept 2026-08-19). - Test coverage
- No test at the minimum, maximum or one step outside the range. The invalid-value rule is not pinned by a test.
Behavior
The guide also accepts letters for the five commonest speeds, and older formats
tend to use them. A is 2 ips, B is 3, C is 4, D is 6 and E is 8. The
letters are aliases, not a separate scale, so ^PRD and ^PR6 ask for the same
speed.
A speed the printer cannot reach is not an error. The guide accepts the value,
and the printer runs at its own maximum, so ^PR12 on a 6 ips machine prints at
6. The right speed depends on the media and the ribbon rather than on ZPL. The
guide advises a test rather than a number out of documentation.
The parser reads the command and discards the three values. Speed is a motor setting and cannot change which dots are black, so the image is the same at any rate. The numeric reader does not recognize the letter forms, and discards them with everything else.
Tested behavior
Differences from the specification
Labelary against the ZPL II guide
Where Labelary — our compatibility target — behaves differently from the printed specification.
- Labelary documents all three speeds as any integer from 1 to 14. The guide documents a closed set instead:
AtoEand 2, 3, 4, 5, 6, 8, 9, 10, 11 and 12. That set leaves 1, 7, 13 and 14 out. The defaults agree: the guide'sA,D,Aare Labelary's 2, 6, 2 inches per second. — not pinned by a test
Example
Four inches per second while printing, six while slewing, two while backfeeding:
^XA
^PR4,6,2
^FO50,50^A0N,40,40^FDFour inches per second^FS
^XZ
Related commands
^PQPrint QuantityPrints the label more than once, the one command here that changes how many pages come back.^MDMedia DarknessAdjusts print darkness up or down from the level `~SD` set.