OptimiDoc Server Help Center
Breadcrumbs

Driverless Print (IPP)

Driverless Print lets clients print to OptimiDoc with no vendor driver at all. OptimiDoc runs a built-in IPP (Internet Printing Protocol) server that any IPP-capable device can print to directly -- ideal for macOS, Linux, ChromeOS, and mobile. Submitted jobs enter the normal pull print workflow, and administrators shape what the printer advertises through an attribute editor with Basic, Advanced, and Expert modes.


https://optimidoc.atlassian.net/wiki/download/attachments/42729577/driverless-print.png?api=v2

Screenshot: Driverless Print (IPP) attribute editor

Overview

IPP is an open standard supported natively by virtually every modern operating system. With Driverless Print enabled, OptimiDoc exposes an IPP endpoint that clients connect to without installing anything, and the jobs flow through rules, quotas, and pull printing exactly like driver-based jobs.

  • No drivers to deploy or maintain on clients.

  • Cross-platform -- macOS, Linux, ChromeOS, iOS, and Android.

  • Standards-based -- IPP over plain TCP (ipp://) or TLS (ipps://).

  • Fully integrated with OptimiDoc pull printing, rules, and quotas.


1. How the IPP Server Works

The IPP server is hosted by the OptimiDoc Service (and by each printing node in a cluster) -- not by the web application. Inbound IPP print traffic is therefore accepted only by the Service and nodes.

  1. The server listens on a single port (default 631) and serves both ipp:// and ipps:// on that same port. It uses raw TCP sockets, so no HttpListener registration or netsh URL ACL is required.

  2. Secure IPPS is enabled by a TLS certificate shipped with the service, optimidoc.p12, loaded from the service directory. If the certificate is absent, only plain ipp:// is available.

  3. Every installation advertises a unique printer UUID, derived deterministically from the licence key with SHA-256. The same licence always yields the same UUID (so cluster nodes agree), while different installations differ.

  4. When a job arrives, OptimiDoc records the submitting user and title, forwards the document into the backend, and the job enters the pull print queue for release at a device.


2. The Default Printer and Named Queues

A single OptimiDoc IPP server can present several printers, distinguished by the URL path:

Endpoint

Address

Attributes stored in

Default printer

/ipp/print

default.ipp

Named IPP queue (an IPP Queue connector)

/ipp/print/<1000000000 + connector id>

queue-<id>.ipp

Online device (direct)

/ipp/print/<device id>

fetched live from the device

Named queues let you publish several printers -- for example a colour queue and a black-and-white queue, or per-department queues -- each with its own defaults, capabilities, and access groups. Create them as IPP Queue connectors; their defaults are edited here.


3. Configuring IPP Attributes

Open Printing > Driverless Print. The page edits the IPP attributes that define what the printer advertises and its default settings.

  • Queue selector -- choose Default printer or a named IPP queue. Each queue keeps its own independent attribute set; switching queues discards unsaved edits.

  • Client install URI: -- the exact address to give users, shown for the selected queue (e.g. ipps://server:631/ipp/print for the default, or ipps://server:631/ipp/print/1000000005 for a named queue).

  • Mode -- switch between three levels of detail:

    • Basic -- a guided editor for the most common options, grouped into Paper, Colour, Layout, Trays, Finishing, and Job Settings (paper size, colour mode, duplex, copies, resolution, finishing, and so on).

    • Advanced -- the attributes that clients may set at print time (the job-creation attributes and their defaults).

    • Expert -- every printer attribute, editable by name, syntax, and value, with the ability to add or remove attributes.

  • Load from Device -- import a real printer's capabilities into the current queue's attribute set, then adjust and Save. This is the quickest way to make the virtual printer advertise realistic media sizes, colour modes, and finishing options.

Click Save to persist the attributes for the selected queue on the server.


4. Installing the Printer on Clients

Add the printer on each client using the Client install URI shown on the page.

  • macOS -- System Settings > Printers & Scanners > + > IP tab; protocol IPP (or IPPS), address = server, queue = ipp/print (or the named-queue path).

  • Linux (CUPS) -- lpadmin -p OptimiDoc -E -v ipps://server:631/ipp/print -m everywhere, or the CUPS web interface at http://localhost:631.

  • ChromeOS -- Settings > Printing > Printers > Add Printer, protocol IPP, address = server, queue = ipp/print.

  • Windows -- IPP works via Add Printer > Select a shared printer by name, though Windows fleets usually use the Shared Queue connector instead.


5. Clustered Deployments

Every printing node runs its own IPP server so clients can print to the nearest node. Queue configuration is distributed by a pull model rather than pushed:

  1. Each node's heartbeat response carries the central ClusterNodes.Ipp timestamp and the host that owns the master configuration.

  2. When that timestamp is newer than what the node last applied, the node fetches the queue list and pulls each queue's attributes from the owning host over IPP (Get-Printer-Attributes).

  3. It applies them to its own local IPP server (Set-Printer-Attributes), persisting default.ipp and each queue-<id>.ipp.

  4. The node records the applied timestamp only when every queue succeeded, so a partial failure simply retries on the next heartbeat.

See Print Nodes Configuration for node setup.


6. Security

  • Prefer IPPS so job content and credentials are encrypted in transit; it relies on the optimidoc.p12 certificate.

  • Restrict access to the IPP port (default 631) to trusted network segments.

  • Jobs are attributed to the authenticated IPP user, keeping accounting and quotas accurate.


Troubleshooting

Issue

Resolution

Client cannot find the printer

Confirm the OptimiDoc Service is running and reachable on port 631, and that the client uses the exact Client install URI.

IPPS/TLS certificate error

Ensure optimidoc.p12 is present in the service directory and trusted by the client; without it only plain ipp:// works.

Wrong capabilities on the client

Adjust the attributes for the selected queue, or use Load from Device, then Save.

A node advertises stale settings

The node re-pulls configuration on the next heartbeat once the central timestamp advances; check node connectivity to the master host on port 631.


In Summary

Driverless Print turns OptimiDoc into a standards-based IPP/IPPS printer that needs no client drivers. A single server hosts a default printer plus any number of named IPP queues, each with its own advertised attributes and install URI, all feeding the pull print workflow. Administrators tune what each queue advertises through Basic, Advanced, or Expert editing, and in a cluster every node keeps itself in sync by pulling the central configuration on its heartbeat.


Related articles