To print under OpenIndiana, you must configure the CUPS server, as on any other Linux/BSD.
You can still use the deprecated lpadmin command to do this (
cups cups-filters print-client-commands foomatic-rip are minimum packages to install) , or do it graphically with the system-config-printer API (that's what I show here).
Here's how to do it.
Open a terminal, switch to root (su or sudo, your choice), and install the necessary packages:
pkg install cups cups-filters system-config-printer print-manager foomatic-rip pycairo
(Logically, cups is already installed when you have a desktop environment... but I'm including it anyway).
Next, you need to change the permissions on the system-config-printer executable, otherwise, it will not launch.
chmod 755 /usr/share/system-config-printer/system-config-printer.py
Now, you can launch system-config-printer (but not as root on OpenIndiana. And not with sudo).
You will have to identify yourself with root user to begin when asked.
Click on the "Server" menu, Connect, or directly on "Add" if it's not grayed out..
You are almost ready to add a printer!
The following steps are standard for those who are familiar with this API.
To add a network printer, click on the "Network Printer" tab if your printer is connected to the network; it should appear in the list, otherwise, you will have to add the printer's URI (or IP).
The printer's location then appears with the AppSocket connection. Click on Forward.
The rest is easy. Either you use a generic driver, or you let CUPS search for a driver.
Best way (to me) is to find a printer with a PPD file configuration that you can download from openprinting.org, you can load this file on the API... and it works immediately !