Вместо клиента, описывающего формат данных печати с типом MIME, клиент может предоставить объект Java, от которого служба печати определяет формат данных печати. Например, объект Java может инкапсулировать документ PostScript™. Вместо клиента, явно описывающего документ как PostScript™ с типом MIME, клиент может обернуть ссылку на документ в объекте Java, который служба печати осматривает, чтобы решить, что формат является PostScript™. Поскольку данные печати поставляются службе печати через объект Java, класс, что реализации объекта Java являются классом представления.
У класса DocFlavor есть внутренний класс под названием DocFlavor. SERVICE_FORMATTED, который содержит константы объекта DocFlavor, представляющие отформатированные службой данные печати. У каждой из этих констант есть тип MIME "application/x-java-jvm-local-objectref", который указывает, что клиент предоставит ссылку на объект Java реализация интерфейса, названного как класс представления.
Три DocFlavor возражают константам, содержавшимся в DocFlavor. SERVICE_FORMATTED каждый представляет общее имя класса представления, используемое с отформатированными службой данными печати:
DocFlavor. Клиент SERVICE_FORMATTED.PAGEABLE:The предоставляет объект, который реализует thejava.awt.print. Листаемый интерфейс, который представляет ряд страниц, которые будут напечатаны. Принтер вызывает методы в том интерфейсе, чтобы получить страницы, которые будут напечатаны, один за другим. Для каждой страницы принтер предоставляет графический контекст и печатает то, что клиент тянет в том графическом контексте.
DocFlavor.SERVICE_FORMATTED.PRINTABLE:The клиент предоставляет объект, который реализует java.awt.print. Печатаемый интерфейс, который ответственен за рисование содержания каждой страницы. Принтер вызывает методы в том интерфейсе, чтобы получить страницы, которые будут напечатаны, один за другим. Для каждой страницы принтер предоставляет графический контекст и печатает то, что клиент тянет в том графическом контексте.
DocFlavor.SERVICE_FORMATTED.RENDERABLE_IMAGE:The клиент предоставляет объект, который реализует интерфейс java.awt.image.renderable.RenderableImage, который представляет изображение, которым можно управлять независимым от рендеринга способом и может быть представлено к различным контекстам, таким как принтер, не ставя под угрозу качество. Принтер вызывает методы в интерфейсе, чтобы получить изображение, которое будет напечатано.
Как утверждено во Введении, приложения, которые обертывают 2-D графику в объект Java, могут использовать отформатированные службой данные печати константы DocFlavor. См. Печать и Потоковую передачу 2-D Графики для получения дополнительной информации.