|
Spec-Zone .ru
спецификации, руководства, описания, API
|
От предыдущих уроков Вы узнали, что Java, 2-D API печати ™ поддерживает обработку изображений страницы, выводит на экран печать и диалоговые окна установки страницы, и определяет атрибуты печати. Печать служб является другим ключевым компонентом любой подсистемы печати.
Служба печати Java™ (JPS) API расширяет текущий Java 2-D функции печати, чтобы предложить следующую функциональность:
API Службы печати Java состоит из четырех пакетов:

javax.print пакет обеспечивает основные классы и интерфейсы для API Службы печати Java™. Это включает приложениям клиента и сервера к:
class представляет формат данных печати, таких как JPEG или PostScript. DocFlavor формат состоит из двух частей: тип MIME и представление имя class. Тип MIME описывает формат, и представление документа, на которое указывает имя class, как документ поставляется принтеру или потоку вывода. Приложение использует DocFlavor и набор атрибута, чтобы найти принтеры с возможностями, определенными набором атрибута. Этот пример кода демонстрирует, как получать массив StreamPrintServiceFactory объекты, которые могут возвратиться StreamPrintService возражает способный преобразовать изображение ДЖИФА в PostScript:
DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
String psMimeType = DocFlavor.BYTE_ARRAY.
POSTSCRIPT.getMimeType();
StreamPrintServiceFactory[] psfactories =
StreamPrintServiceFactory.
lookupStreamPrintServiceFactories(
flavor, psMimeType);
и пакеты определяют атрибуты печати, которые описывают возможности службы печати, определяют требования задания печати, и отслеживают продвижение задания печати.
Например, если требуется использовать формат листа А4, и напечатать три копии Вашего документа необходимо создать ряд следующих атрибутов, реализовывая PrintRequestAttributeSet интерфейс:
PrintRequestAttributeSet attr_set =
new HashPrintRequestAttributeSet();
attr_set.add(MediaSize.ISO_A4);
attr_set.add(new Copies(3));
Затем следует передать набор атрибута к заданию печати print метод, наряду с DocFlavor.
Приложение вызывает статические методы абстрактного class PrintServiceLookup определять местоположение служб печати, у которых есть возможности удовлетворить запрос печати приложения. Например, чтобы напечатать две копии двустороннего документа, приложение сначала должно найти принтеры, у которых есть двусторонняя возможность печати:
DocFlavor doc_flavor = DocFlavor.INPUT_STREAM.PDF;
PrintRequestAttributeSet attr_set =
new HashPrintRequestAttributeSet();
attr_set.add(new Copies(2));
attr_set.add(Sides.DUPLEX);
PrintService[] service = PrintServiceLookup.
lookupPrintServices(doc_flavor,
attr_set);
В заключение API Службы печати Java выполняет следующие шаги, чтобы обработать запрос печати:
DocFlavor.DocFlavor и атрибут устанавливается.Doc объект, инкапсулирующий DocFlavor и фактические данные печати.DocPrintJob, от службы печати.print метод задания печати.Для получения дополнительной информации о Службе печати Java, см. .