![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e700. The Quintessential Printing Program Using a Printing ServiceThis example demonstrates a program that prints an image on the default print service. SinceDocPrintJob.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 e702 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) { } } }
e702. Determining When a Print Job Has Finished e703. Discovering Available Print Services e704. Discovering Available Streaming Print Services e705. Cancelling a Print Job © 2002 Addison-Wesley. |