Determining the Capabilities of a Print Service : Print Service « 2D Graphics « Java Tutorial






import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import javax.print.DocFlavor;
import javax.print.StreamPrintService;
import javax.print.StreamPrintServiceFactory;
import javax.print.attribute.Attribute;

public class Main {
  public static void main(String[] argv) throws Exception {
    OutputStream fos = new BufferedOutputStream(new FileOutputStream("filename.ps"));
    DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
    StreamPrintServiceFactory[] factories = StreamPrintServiceFactory
        .lookupStreamPrintServiceFactories(flavor, DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());

    StreamPrintService service = factories[0].getPrintService(fos);
    Attribute[] attrs = service.getAttributes().toArray();
    for (int j = 0; j < attrs.length; j++) {
      String attrName = attrs[j].getName();
      String attrValue = attrs[j].toString();
      System.out.println(attrName);
      System.out.println(attrValue);
    }
  }
}








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