Mega Code Archive

 
Categories / Java / 2D Graphics GUI
 

Prompting for a Printer

import java.io.FileInputStream; import javax.print.Doc; import javax.print.DocFlavor; import javax.print.DocPrintJob; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.ServiceUI; import javax.print.SimpleDoc; import javax.print.attribute.DocAttributeSet; import javax.print.attribute.HashDocAttributeSet; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.event.PrintJobAdapter; import javax.print.event.PrintJobEvent; import javax.print.event.PrintJobListener; public class OneFourDialog {   public static void main(String args[]) throws Exception {     String filename = args[0];     PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();     DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;     PrintService printService[] = PrintServiceLookup.lookupPrintServices(         flavor, pras);     PrintService defaultService = PrintServiceLookup         .lookupDefaultPrintService();     PrintService service = ServiceUI.printDialog(null, 200, 200,         printService, defaultService, DocFlavor.INPUT_STREAM.GIF, pras);     if (service != null) {       DocPrintJob job = service.createPrintJob();       PrintJobListener listener = new PrintJobAdapter() {         public void printDataTransferCompleted(PrintJobEvent e) {           System.exit(0);         }       };       job.addPrintJobListener(listener);       FileInputStream fis = new FileInputStream(filename);       DocAttributeSet das = new HashDocAttributeSet();       Doc doc = new SimpleDoc(fis, flavor, das);       job.print(doc, pras);       Thread.sleep(10000);     }   } }