Spec-Zone .ru
спецификации, руководства, описания, API
|
От предыдущих уроков Вы узнали, что Java, 2-D API печати ™ поддерживает обработку изображений страницы, выводит на экран печать и диалоговые окна установки страницы, и определяет атрибуты печати. Печать служб является другим ключевым компонентом любой подсистемы печати.
Служба печати Java™ (JPS) API расширяет текущий Java 2-D функции печати, чтобы предложить следующую функциональность:
API Службы печати Java состоит из четырех пакетов:
javax.print
пакет обеспечивает основные классы и интерфейсы для API Службы печати Java™. Это включает приложениям клиента и сервера к:
DocFlavor
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);
javax.print.attribute
javax.print.attribute.standard
Например, если требуется использовать формат листа А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, см.