Skip to main content

Getting started

From a fresh install to a web page printing a label, then encoding an RFID tag.

1. Install the bridge

Run the MSI (Windows) or .deb (Ubuntu). prestod auto-starts, installs its local CA, and opens the admin UI at https://127.0.0.1:31075. See Setup for details.

2. Set the admin password

Complete the first-run wizard — set the admin password. (Nothing prints yet: Presto is deny-by-default until you add an origin.)

3. Allow your web origin

On the Origins page, add your web app's origin, e.g. https://wms.intrasys.com.sg. Only allow-listed origins can talk to the bridge.

4. Register a printer

On the Printers page, add a printer: pick a transport (TCP 9100, Windows spooler, Linux USB, or serial), its address, its resolution (dpmm), and whether it's RFID-capable. The printer gets a stable alias id that your web app references — it survives OS renames.

5. Print from a web page

Use the JS client:

import { Presto } from '@intrasys/presto-js';

const presto = new Presto({ appName: 'my-wms' });
await presto.connect(); // secure WS, with auth/pairing

const printers = await presto.listPrinters();
const { jobId } = await presto.printRaw(
printers[0].id,
'^XA^FO40,40^A0N,40,40^FDpresto.js test^FS^XZ'
);

presto.on('job.update', (job) => {
console.log(job.state, job.labels); // per-label results
});

The job moves Queued → Sending → Sent → Done, and job.update events carry per-label results.

6. Encode your first RFID tag

  1. Register an RFID-capable printer and define its Media (the inlay / chip / EPC bits).
  2. Run Calibrate RFID for that (printer, media) pair.
  3. Send a job whose ZPL writes a tag (^RFW). The job.update arrives with verification: "rfid" and per-label { encoded, voided, epc }. Voided labels are reprinted automatically.

See ZPL & RFID for the encode/verify details and the Local API & SDK for the full protocol.