The Quintessential Printing Program Using a Printing Service

This example demonstrates a program that prints an image on the default print service. Since DocPrintJob.print() is not guaranteed to be synchronous, it is necessary to watch for a print job completion event before closing the input stream.
import java.io.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; import javax.print.event.*; public class BasicPrint { public static void main(String[] args) { try { // Open the image file InputStream is = new BufferedInputStream( new FileInputStream("filename.gif")); // Find the default service DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF; PrintService service = PrintServiceLookup.lookupDefaultPrintService(); // Create the print job DocPrintJob job = service.createPrintJob(); Doc doc = new SimpleDoc(is, flavor, null); // Monitor print job events; for the implementation of PrintJobWatcher, // see Determining When a Print Job Has Finished PrintJobWatcher pjDone = new PrintJobWatcher(job); // Print it job.print(doc, null); // Wait for the print job to be done pjDone.waitForDone(); // It is now safe to close the input stream is.close(); } catch (PrintException e) { } catch (IOException e) { } } }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.