P4 Software P4 Software / BarcoderX English

Add these docs to Claude

Ask Claude questions about these docs. Claude reads the published pages and links you back to them. Copy this address:

https://docs.p4software.cloud/mcp

In claude.ai or Claude Desktop: open Settings, then Connectors, choose Add custom connector and paste the address.

In Claude Code, run:

claude mcp add --transport http docs https://docs.p4software.cloud/mcp

The print agent

The print agent

Applies to: BarcoderX Basic and Ultimate

Status: Planned. Nothing is released yet and there is nothing to download. This page describes how the agent is designed.

What the agent is for

The print agent is a small program that you install on a computer on the same network as your printers. It is the link between the web and those printers. It is needed when a print job starts in the web API or in the label editor. It is not needed when your own .NET application prints directly with the SDK.

The agent receives the bytes to print and sends them to the printer. It knows nothing about printer languages, so a new printer language needs no agent update. Printer status is read the same way: the agent relays the question and the answer, and the server interprets them.

Where it runs

  • Windows: as a Windows service. Windows 10, Windows 11 and Windows Server 2019 or later.
  • Linux: as a systemd daemon, on x64 and arm64.
  • macOS: planned for later.

It is one program for all of them, published as a single self-contained file. It has no window. You set it up and manage it through the API of your server.

How you install it

  • Windows: you run the signed program once, and it installs itself as a service.
  • Linux: you unpack a signed archive and run its install script, which sets up the systemd unit.

BarcoderX does not build MSI, deb or rpm packages by default.

To connect the agent to your server, an administrator creates a one-time pairing code through the server's API. The code works once and expires after 10 minutes. You enter it on the agent. The agent then creates its own key pair on that computer and registers the public half. The private key stays on the computer: it is protected by the Windows data protection feature, or kept in a file that only the administrator account can read on Linux.

The agent can also list the printer queues and ports on its computer, so you can register them as printers.

How it connects

  • The agent only connects out. It uses HTTPS and a WebSocket to BarcoderX. It opens no port, so no firewall rule is needed for incoming traffic.
  • It works through proxies. It follows the system proxy and any proxy that you configure.
  • It reconnects by itself after a network break, with growing pauses, and then continues the jobs that were waiting.

How it keeps your printers safe

  • The agent proves who it is with a short-lived signed assertion. It then receives an access token that lasts 15 minutes and works only for that agent.
  • An agent can collect only the jobs addressed to its own printers.
  • The server signs every job. The agent checks the signature before it prints, and refuses a job that was changed or has expired.
  • The agent prints only to printers in its own list. The web cannot add a network printer to that list unless a local policy on that computer allows it, and then only for private addresses and the usual print ports.
  • A job that arrives twice, for example after a reconnect, is printed once. The agent keeps a short local list of job numbers for that, and for recovery after a crash. It keeps no label data after the job finishes.
  • An administrator can revoke an agent at any time. The connection closes at once and its tokens stop working.
  • Enrolment, connection, disconnection and revocation are written to the audit log.
  • Agent logs never contain the content of a label.

Updates

The agent updates itself from signed packages. It checks the signature against a key that it already holds, and if the new version fails to start, it returns to the previous one.

Checking a problem

The agent has a diagnostic command. It reports whether it can connect, which proxy it uses, how far its clock differs from the server's, whether it is enrolled, and whether it can reach each printer. The report is in English or Spanish.

What the agent does not do

  • It does not check a license. The evaluation mark, when it applies, is already in the data that the server sends, and no license condition can stop the agent from printing.
  • It has no user interface.
  • It does not accept incoming connections.

BarcoderX is a product of P4 Software.

Was this page helpful?