CONTENTS | PREV | NEXT
Once you have the Doc and
DocPrintJob, you can call the DocPrintJob object's print method
to submit the document to the service. The Submitting the Print Job to the
Printer section completes the printin g example. The
Submitting the Print Job to
the Stream section completes the streaming example.
Submitting the Print Job to the
Printer
This section completes the printing
application explained in this chapter. This example prints five
copies of a PostScript document, double-sided on A4 paper, and
stapled.
DocFlavor psFlavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(2));
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.TWO_SIDED_LONG_EDGE);
aset.add(Finishings.STAPLE);
PrintService[] pservices = PrintServiceLookup.lookupPrintServices(psFlavor,
aset);
if (services.length > 0) {
DocPrintJob pj = pservices[0].createPrintJob();
try {
FileInputStream fis = new FileInputStream("example.ps");
Doc doc = new SimpleDoc(fis, psFlavor, null);
pj.print(doc, aset);
} catch (IOException e) {
System.err.println(e);
} catch (PrintException e) {
System.err.println(e);
}
}
See Example: PrintPS.java
for the complete application.
Submitting the Print Job to the
Stream
This section completes the streaming
example explained in this chapter. This example converts a GIF
document to PostScript and embeds the specified printing attributes
into the PostScript document.
DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType();
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(2));
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.TWO_SIDED_LONG_EDGE);
aset.add(Finishings.STAPLE);
StreamPrintServiceFactory[] factories =
StreamPrintServiceFactory.lookupStreamPrintServiceFactories(
flavor, psMimeType);
if(factories.length==0) {
System.err.println("No suitable factories");
System.exit(0);
}
try {
FileInputStream fis = new FileInputStream("java2dlogo.gif");
String filename = "newfile.ps";
FileOutputStream fos = new FileOutputSteam(filename);
StreamPrintService sps= factories[0].getPrintService(fos);
DocPrintJob pj = sps.createPrintJob();
Doc doc = new SimpleDoc(fos, psFlavor, aset);
pj.print(doc, aset);
} catch (IOException e) {
System.err.println(e);
} catch (PrintException e) {
System.err.println(e);
}
}
See Example:
PrintGIFtoStream.java for the complete application.
CONTENTS | PREV | NEXT