See: Description
| Interface | Description | 
|---|---|
| AttributeException | Interface AttributeException is a mixin interface which a subclass of
  PrintExceptioncan implement to report an error condition
 involving one or more printing attributes that a particular Print
 Service instance does not support. | 
| CancelablePrintJob | This interface is used by a printing application to cancel a
 print job. | 
| Doc | Interface Doc specifies the interface for an object that supplies one piece
 of print data for a Print Job. | 
| DocPrintJob | This interface represents a print job that can print a specified
 document with a set of job attributes. | 
| FlavorException | Interface FlavorException is a mixin interface which a subclass of  PrintExceptioncan implement to report an error condition
 involving a doc flavor or flavors (classDocFlavor). | 
| MultiDoc | Interface MultiDoc specifies the interface for an object that supplies more
 than one piece of print data for a Print Job. | 
| MultiDocPrintJob | Obtained from a MultiDocPrintService, a MultiDocPrintJob can print a
 specified collection of documents as a single print job with a set of
 job attributes. | 
| MultiDocPrintService | Interface MultiPrintService is the factory for a MultiDocPrintJob. | 
| PrintService | Interface PrintService is the factory for a DocPrintJob. | 
| URIException | Interface URIException is a mixin interface which a subclass of  PrintExceptioncan implement to report an error condition
 involving a URI address. | 
| Class | Description | 
|---|---|
| DocFlavor | Class  DocFlavorencapsulates an object that specifies the
 format in which print data is supplied to aDocPrintJob. | 
| DocFlavor.BYTE_ARRAY | Class DocFlavor.BYTE_ARRAY provides predefined static constant
 DocFlavor objects for example doc flavors using a byte array
 ( byte[]) as the print data representation class. | 
| DocFlavor.CHAR_ARRAY | Class DocFlavor.CHAR_ARRAY provides predefined static constant
 DocFlavor objects for example doc flavors using a character array
 ( char[]) as the print data representation class. | 
| DocFlavor.INPUT_STREAM | Class DocFlavor.INPUT_STREAM provides predefined static constant
 DocFlavor objects for example doc flavors using a byte stream ( java.io.InputStream) as the print
 data representation class. | 
| DocFlavor.READER | Class DocFlavor.READER provides predefined static constant DocFlavor
 objects for example doc flavors using a character stream ( java.io.Reader) as the print data
 representation class. | 
| DocFlavor.SERVICE_FORMATTED | Class DocFlavor.SERVICE_FORMATTED provides predefined static constant
 DocFlavor objects for example doc flavors for service formatted print
 data. | 
| DocFlavor.STRING | Class DocFlavor.STRING provides predefined static constant DocFlavor
 objects for example doc flavors using a string ( java.lang.String) as the print data representation class. | 
| DocFlavor.URL | Class DocFlavor.URL provides predefined static constant DocFlavor
 objects. | 
| PrintServiceLookup | Implementations of this class provide lookup services for
 print services (typically equivalent to printers) of a particular type. | 
| ServiceUI | This class is a collection of UI convenience methods which provide a
 graphical user dialog for browsing print services looked up through the Java
 Print Service API. | 
| ServiceUIFactory | Services may optionally provide UIs which allow different styles
 of interaction in different roles. | 
| SimpleDoc | This class is an implementation of interface  Docthat can
 be used in many common printing requests. | 
| StreamPrintService | This class extends  PrintServiceand represents a
 print service that prints data in different formats to a
 client-provided output stream. | 
| StreamPrintServiceFactory | A  StreamPrintServiceFactoryis the factory forStreamPrintServiceinstances,
 which can print to an output stream in a particular
 document format described as a mime type. | 
| Exception | Description | 
|---|---|
| PrintException | Class PrintException encapsulates a printing-related error condition that
 occurred while using a Print Service instance. | 
An application invokes the static methods of the abstract class 
PrintServiceLookup to locate print 
services that have the capabilities to satisfy the application's print 
request.  For example, to print a double-sided document, the application 
first needs to find printers that have the double-sided printing capability.
The JDK includes PrintServiceLookup implementations that
can locate the standard platform printers.  To locate other types of printers,
such as IPP printers or JINI printers, a print-service provider can write 
implementations of PrintServiceLookup.  The print-service provider 
can dynamically install these PrintServiceLookup implementations 
using the 
SPI JAR file specification.
javax.print.attribute and javax.print.attribute.standard 
packages define print attributes, which describe the capabilities of a print 
service, specify the requirements of a print job, and track the progress of 
a print job.
The javax.print.attribute package describes the types of attributes and
how they can be collected into sets.  The javax.print.attribute.standard
package enumerates all of the standard attributes supported by the API, most
of which are implementations of attributes specified in the IETF Specification, 
RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics, dated 
September 2000.  The attributes specified in javax.print.attribute.standard
include common capabilities, such as: resolution, copies, media sizes, 
job priority, and page ranges.
DocFlavor class represents the print data 
format, such as JPEG or PostScript.  A DocFlavor object 
consists of a MIME type, which describes the format, and a document 
representation class name that indicates how the document is delivered 
to the printer or output stream.  An application uses the 
DocFlavor and an attribute set to find printers that can 
print the document type specified by the DocFlavor and have 
the capabilities specified by the attribute set.  
DocFlavor.DocFlavor and the attribute set.Doc object encapsulating the 
DocFlavor
and the actual print data, which can take many forms including: a Postscript 
file, a JPEG image, a URL, or plain text.DocPrintJob,
 from the print service.
FileInputStream psStream;
try {
   psStream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psStream == null) {
    return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);  
PrintRequestAttributeSet aset = 
        new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSize.A4);
aset.add(Sides.DUPLEX);
PrintService[] services = 
  PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
   DocPrintJob job = services[0].createPrintJob();
   try {
        job.print(myDoc, aset);
   } catch (PrintException pe) {}
}
Please note: In the javax.print APIs, a null reference parameter to methods is incorrect unless explicitly documented on the method as having a meaningful interpretation. Usage to the contrary is incorrect coding and may result in a run time exception either immediately or at some later time. IllegalArgumentException and NullPointerException are examples of typical and acceptable run time exceptions for such cases.
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2019, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.