CONTENTS | PREV | NEXT
Rather than the client
describing the print data format with a MIME type, the client can
supply a Java object from which a print service determines the
print data format. For example, the Java object can encapsulate a
PostScript document. Instead of the client explicitly
describing the document as PostScript with a MIME type, the
client can wrap a reference to the document in a Java object, which
the print service inspects to determine that the format is
PostScript. Because the print data is delivered to the print
service through the Java object, the class that the Java object
implements is the representation class.
The DocFlavor class
has an inner class called DocFlavor.SERVICE_FORMATTED that contains
DocFlavor object constants representing service-formatted print
data. Each of these constants has a MIME type of
"application/x-java-jvm-local-objectref", which indicates
that the client will supply a reference to a Java object
implementing the interface named as the representation class.
The three
DocFlavor object constants contained in DocFlavor.SERVICE_FORMATTED
each represent a common representation class name used with
service-formatted print data:
-
DocFlavor.SERVICE_FORMATTED.PAGEABLE:The client supplies an object
that implements thejava.awt.print.Pageable interface, which
represents a set of pages to be printed. The printer calls methods
in that interface to obtain the pages to be printed, one by one.
For each page, the printer supplies a graphics context and prints
whatever the client draws in that graphics context.
-
DocFlavor.SERVICE_FORMATTED.PRINTABLE:The client supplies an object
that implements the java.awt.print.Printable interface, which is
responsible for drawing the contents of each page. The printer
calls methods in that interface to obtain the pages to be printed,
one by one. For each page, the printer supplies a graphics context
and prints whatever the client draws in that graphics context.
-
DocFlavor.SERVICE_FORMATTED.RENDERABLE_IMAGE:The client supplies an
object that implements interface
java.awt.image.renderable.RenderableImage, which represents an
image that can be manipulated in a rendering-independent manner and
can be rendered to various contexts, such as a printer, without
compromising quality. The printer calls methods in the interface to
obtain the image to be printed.
-
As stated in the Introduction,
applications that wrap 2D graphics into a Java object can use the
service-formatted print data DocFlavor constants. See Printing and Streaming 2D
Graphics for more information.
CONTENTS | PREV | NEXT