ZPL direct mode & media sizes
When raw ZPL applies, and how media-snapping prevents half-size labels.
The print client has two paths to your printer: PDF through the macOS print pipeline, and raw ZPL straight to Zebra firmware. This page covers when ZPL applies, and how media-snapping stops the classic half-size label.
When raw ZPL applies
Some carrier label formats are native ZPL instead of PDF. When a connected carrier supplies ZPL and the client's toggle is on, those labels are sent as raw bytes to the print queue — nothing gets rasterized, so barcodes come out exactly as the carrier drew them, interpreted by the printer's own firmware. It works with any Zebra-compatible queue macOS can see, including printers shared from another Mac, and supports up to 10 copies per job. AusPost, StarTrack and TGE labels arrive as PDFs today, so most floors leave this off — carrier integrations we build on request can use it.
AusPost and StarTrack labels are PDFs, so they always use the PDF path — the toggle does not change them.
Media-snapping: the half-size label fix
The classic failure: a label is requested at A6, the driver quietly defaults to A4, and the label prints at half size with a white border the courier scanner hates. The client prevents this by asking the printer for the media sizes it actually advertises, then snapping the requested size to the closest real one — within a ±25% tolerance per dimension, in either orientation.
- A6 label, Zebra loaded with 4×6 stock — close enough, snaps, prints full size.
- A4 request on a thermal printer — way outside tolerance, rejected rather than silently shrunk.
- Printer advertises no media list — the requested size is used as-is.
Every page, edge to edge
On the PDF path, multi-page label files print every page, each aspect-fit to its own label with margins at zero by default. If a particular printer needs a margin, set it per mapping in the client. Combined with media-snapping, a multi-parcel AusPost shipment comes out as full-size labels, one per parcel, in one job.