Luau Bindings — printer

The require("printer") script API — network printing over IPP (the CUPS/AirPrint protocol), using DeMon's CM5 networking. Every function is [antos]. Design & native core: antos_printer.

local printer = require("printer")
printer.set_default("ipp://hp-laser.local/ipp/print")
local ok, err = printer.print_file("B:/docs/readme.txt", { format = "text" })

Discovery & default

Function Behaviour
printer.discover([opts]) Find printers (mDNS) → a list. opts.timeout_ms. (Discovery is stubbed until mDNS lands — returns empty for now.)
printer.set_default(uri) · printer.get_default() Set / read the default printer IPP URI.
printer.ping(uri) Check a printer is reachable.

Seeds (known printers)

Function Behaviour
printer.list_seeds() · printer.add_seed(uri) · printer.set_seeds(list) Manage a persisted list of known-printer URIs (used until discovery is live).

Printing

Function Behaviour
printer.print_file(path, opts) Print a file; opts.format = "text" / "ps" / … → ok, info_or_err.
printer.print_text(text, opts) Print a string directly.
printer.print_ps(postscript, opts) Print raw PostScript.

Related

Important: The Ant64 family of home computers are at early design/prototype stage, everything you see here is subject to change.