A method of printing includes providing a computer server linked to a
plurality of printers, initiating a print job on a user computer device,
querying the computer server for one or more available printers;
transmitting identification information and location information of each
printer from the computer server to the user computer device; displaying
the information in the form of a list to the user computer device;
selecting by a user one of the printers in the list; transmitting the
selection to the computer server; transmitting configuration information
for the selected printer to the user computer device; configuring the
print data by with the configuration information; and transmitting the
configured print data from the user computer device to the selected
printer for printing.