> ## Documentation Index
> Fetch the complete documentation index at: https://docs.satyakod.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Zebra printers

> Send a batch's labels straight to a networked Zebra printer on the print line.

Each batch prints on a **print line** (for example *Chakan L2*). Give a line its Zebra printer and
Satyakod sends the labels to it, checking first that the printer is ready.

## Set up print lines

**Settings → Print lines** lists your lines (also reachable from **Settings → Integrations → Zebra
printers → Manage print lines**).

![Settings → Print lines: each line with its networked Zebra printer](https://docs.satyakod.com/images/screenshot-placeholder.svg)

Settings → Print lines: each line with its networked Zebra printer

* **Add print line** (admins): a **name** (unique in the workspace), the **site** and the
  **printer model**, as shown in **New batch**. Add the printer's **address** (IP address or host
  name) and **port** (9100 by default; 9100–9109 or 6101) to send labels to it; leave the address
  blank for a line that prints from downloaded files.
* **Edit**: admins change everything; supply chain sets only the printer's address and port.
* **Test** asks the printer for its status: *Printer is ready*, or what's wrong: out of paper or
  ribbon, paused, or print head open.
* **Remove** (admins): not while a batch is waiting to print on the line. Batches already
  printed keep their files.

The printer must be reachable from Satyakod over the internet or your VPN.

## Print a batch

![A batch at the printer, with Send to the print line](https://docs.satyakod.com/images/screenshot-placeholder.svg)

A batch at the printer, with Send to the print line

When a batch is **At printer**, open it and choose **Send to** *the line*. Satyakod streams the
labels (ZPL) and marks the batch **Printed**. If the printer isn't ready, the batch stays at the
printer with the reason; fix it and send again.

Without a networked printer, download the **Printer job** from the batch, print it on the line, and
choose **Mark printed…**, entering how many labels were voided on the line.

Satyakod drives Zebra printers only. Handheld and fixed scanners, Zebra's included, read the codes
like any other scanner: see [Factory and warehouse scanners](https://docs.satyakod.com/integrations/factory-scanners.md) and
[`POST /v1/verify`](https://docs.satyakod.com/api-reference/verify).

See [Products and batches](https://docs.satyakod.com/guides/products-and-batches.md) for the batch files, and the
[Private Code scanning guide](https://docs.satyakod.com/private-code/scanning-guide.md) for print quality checks.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.