P4 Software
/
BarcoderX English
Applies to: BarcoderX Basic and Ultimate
Status: Planned. Nothing is released yet and there is nothing to download. This page describes how printing is designed to work. The detail of each printer model comes from tests on real printers, and those tests are still to be done.
| Route | How it works | What you need |
|---|---|---|
| From your own .NET application | The SDK builds the printer commands and sends them to the printer itself, over a connection such as TCP. | The SDK. No web API and no agent. |
| From the web | Your application or the label editor asks the web API to print. The API stores the job. The print agent on your network collects it and sends it to the printer. | The web API and the print agent. |
Two routes are not offered:
A printer can draw some things itself, such as text in its own fonts, lines, boxes and barcodes. It can print anything else as a picture. For each part of a label, BarcoderX decides between four outcomes, using the printer profile:
| Outcome | Meaning |
|---|---|
| Native | The printer draws it with its own command, with the same result as the preview. |
| NativeApproximate | The printer draws it with its own command, and the result is close to the preview but not identical. Text in a printer-resident font is an example. |
| Raster | BarcoderX sends it as a picture, exactly as in the preview. |
| Unsupported | The printer cannot print it. The job is rejected with a diagnostic. |
There are two render intents. Fidelity is the default: what you see in the preview is what prints. Text is sent as a picture unless the element names a printer-resident font, and barcodes use the printer's own command only where the printer profile marks it as equal in size and shape. NativePreferred gives smaller jobs and faster printing, and it warns you about every approximation. You can override the choice for one element with an output hint: Auto, Native or Graphic.
Every picture that BarcoderX puts in the printer commands is pixel for pixel the same as the preview. The same inputs always give the same printer commands, byte for byte.
Data in your labels can never end a command or inject another one. BarcoderX escapes all field data.
A printer profile describes what one printer can do: its resolution, print width, memory, firmware features, resident fonts, and which of its own barcode commands match BarcoderX's. BarcoderX will include generic profiles:
Profiles for specific printer models and firmware are added from tests on real printers. You can also create your own profile based on a built-in one. The web API lists the profiles and the printer languages. See Printer languages.
A label template or a print job can set darkness, speed, media type (direct thermal or thermal transfer), print mode (tear-off, peel-off, cutter or rewind), cut interval, label offsets, copies and mirror printing. For any setting, you can choose to leave the printer's own value in place. If a printer language does not have a setting, BarcoderX warns you and carries on.
A batch prints as one stream, and the printer's own quantity command repeats the copies.
| Connection | Where | What BarcoderX can read back |
|---|---|---|
| TCP, port 9100 by default | All platforms | Full status |
| Serial port | All platforms | Full status |
| Windows print queue (raw data) | Windows | Queue and job state only |
| CUPS | Linux | Queue and job state only |
| Raw USB device | Linux | Full status |
| Windows page printing (GDI) | Windows | Queue and job state only |
| Direct USB without a queue | Windows | Full status |
Parallel port and HID printers, and CUPS on macOS, are planned for later. BarcoderX shows clearly when a connection can report only the queue state and not the printer state.
With the connections that report full status, BarcoderX can ask a printer for its state, such as paper out, head open or ribbon out, when you ask for it and optionally before and after a job. The last answer is stored.
A print job moves through these states: Queued, Dispatched, Received, Spooled, Printed, Failed, Canceled or Expired. Every change is recorded.
Maintenance operations such as pause, resume, cut, calibrate, print a configuration label and reset are planned for later. Each will need its own permission and a confirmation.
BarcoderX is a product of P4 Software.
Was this page helpful?