List Print Services : Print Service « 2D Graphics « Java Tutorial






import javax.print.DocFlavor;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.Attribute;
import javax.print.attribute.PrintServiceAttributeSet;
import javax.print.attribute.standard.PrinterName;

public class Main {
  static public void main(String args[]) throws Exception {
    PrintService pss[] = PrintServiceLookup.lookupPrintServices(null, null);
    for (int i = 0; i < pss.length; ++i) {
      System.out.println(pss[i]);
      PrintService ps = pss[i];

      PrintServiceAttributeSet psas = ps.getAttributes();
      Attribute attributes[] = psas.toArray();
      for (int j = 0; j < attributes.length; ++j) {
        Attribute attribute = attributes[j];
        System.out.println("  attribute: " + attribute.getName());
        if (attribute instanceof PrinterName) {
          System.out.println("    printer name: " + ((PrinterName) attribute).getValue());
        }
      }
      DocFlavor supportedFlavors[] = ps.getSupportedDocFlavors();
      for (int j = 0; j < supportedFlavors.length; ++j) {
        System.out.println("  flavor: " + supportedFlavors[j]);
      }
    }
  }
}








16.51.Print Service
16.51.1.List Print Services
16.51.2.Using a Printing Service
16.51.3.Using a Streaming Printing Service
16.51.4.Discovering Available Print Services
16.51.5.Discovering Available Streaming Print Services
16.51.6.Use a factory to create a print service
16.51.7.Listening for Print Service Status Changes
16.51.8.Listening for Print Job Status Changes
16.51.9.Determining the Capabilities of a Print Service
16.51.10.Determining Print Job Capabilities Supported by a Print Service