Spec-Zone.ru › OpenJDK 17

Пакет javax.print

package javax.print
Предоставляет основные классы и интерфейсы для API Java Print Service. API Java Print Service позволяет клиентам и серверным приложениям:
  • Определять и выбирать службы печати на основе их возможностей
  • Указывать формат данных печати
  • Отправлять задания печати в службы, поддерживающие тип документа для печати.

Обнаружение службы печати

Приложение вызывает статические методы абстрактного класса PrintServiceLookup, чтобы найти службы печати, обладающие возможностями, удовлетворяющими запросу приложения на печать. Например, для печати двустороннего документа приложение сначала должно найти принтеры, поддерживающие печать на обеих сторонах листа.

JDK включает PrintServiceLookup реализации, которые могут найти стандартные принтеры платформы. Для поиска других типов принтеров, таких как принтеры IPP или JINI, поставщик службы печати может написать реализации PrintServiceLookup. Поставщик службы печати может динамически установить эти PrintServiceLookup реализации с помощью средства ServiceLoader.

Определения атрибутов

Пакеты javax.print.attribute и javax.print.attribute.standard определяют атрибуты печати, которые описывают возможности службы печати, задают требования к заданию печати и отслеживают ход выполнения задания печати.

Пакет javax.print.attribute описывает типы атрибутов и способы их объединения в наборы. Пакет javax.print.attribute.standard перечисляет все стандартные атрибуты, поддерживаемые API, большинство из которых являются реализациями атрибутов, определенных в спецификации IETF RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics, от сентября 2000 года. Атрибуты, определенные в javax.print.attribute.standard , включают общие возможности, такие как: разрешение, количество копий, размеры носителей, приоритет задания и диапазоны страниц.

Указание типа документа

Класс DocFlavor представляет формат данных печати, такой как JPEG или PostScript. Объект DocFlavor состоит из типа MIME, который описывает формат, и имени класса представления документа, указывающего, как документ передается принтеру или потоку вывода. Приложение использует DocFlavor и набор атрибутов для поиска принтеров, которые могут печатать тип документа, указанный DocFlavor и имеют возможности, указанные набором атрибутов.

Использование API

Типичное приложение, использующее API Java Print Service, выполняет эти шаги для обработки запроса на печать:
  1. Выбирает DocFlavor.
  2. Создает набор атрибутов.
  3. Находит службу печати, которая может обработать запрос на печать, как указано DocFlavor и набором атрибутов.
  4. Создает объект Doc, инкапсулирующий DocFlavor и фактические данные печати, которые могут иметь множество форм, включая: файл Postscript, изображение JPEG, URL, или обычный текст.
  5. Получает задание печати, представленное интерфейсом DocPrintJob, от службы печати.
  6. Вызывает метод печати задания печати.
Следующий пример кода демонстрирует типичное использование API Java Print Service: поиск принтеров, которые могут печатать пять двусторонних копий документа PostScript на бумаге формата A4, создание задания печати из одной из возвращенных служб печати и вызов печати.

 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(MediaSizeName.ISO_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) {}
 }
 

Обратите внимание: В javax.print API ссылка null в качестве параметра методов является ошибочной, если явно не указано в документации к методу, что она имеет осмысленную интерпретацию. Использование в противном случае является неправильной кодировкой и может привести к исключению во время выполнения сразу или впоследствии. IllegalArgumentException и NullPointerException являются примерами типичных и допустимых исключений во время выполнения для таких случаев.

Since:
1.4
Пакет Описание
javax.print.attribute
Предоставляет классы и интерфейсы, описывающие типы атрибутов службы печати Java и способы их объединения в наборы атрибутов.
javax.print.event
Пакет javax.print.event содержит классы событий и интерфейсы слушателей.
Класс Описание
AttributeException
Интерфейс AttributeException — это интерфейс-микшин, который подкласс PrintException может реализовать для сообщения об ошибке, связанной с одним или несколькими атрибутами печати, которые конкретный экземпляр Print Service не поддерживает.
CancelablePrintJob
Этот интерфейс используется приложением для отмены задания печати.
Doc
Интерфейс Doc определяет интерфейс для объекта, предоставляющего один фрагмент данных для задания печати.
DocFlavor
Класс DocFlavor инкапсулирует объект, который определяет формат, в котором данные печати предоставляются DocPrintJob.
DocFlavor.BYTE_ARRAY
Класс DocFlavor.BYTE_ARRAY предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов, использующих массив байтов (byte[]) в качестве класса представления данных печати.
DocFlavor.CHAR_ARRAY
Класс DocFlavor.CHAR_ARRAY предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов, использующих массив символов (char[]) в качестве класса представления данных печати.
DocFlavor.INPUT_STREAM
Класс DocFlavor.INPUT_STREAM предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов, использующих байтовый поток (java.io.InputStream) в качестве класса представления данных печати.
DocFlavor.READER
Класс DocFlavor.READER предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов, использующих символьный поток (java.io.Reader) в качестве класса представления данных печати.
DocFlavor.SERVICE_FORMATTED
Класс DocFlavor.SERVICE_FORMATTED предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов для данных печати в формате службы.
DocFlavor.STRING
Класс DocFlavor.STRING предоставляет предопределенные статические константы DocFlavor объекты для примеров doc-флейворов, использующих строку (java.lang.String) в качестве класса представления данных печати.
DocFlavor.URL
Класс DocFlavor.URL предоставляет предопределенные статические константы DocFlavor объекты.
DocPrintJob
Этот интерфейс представляет задание печати, которое может печатать указанный документ с набором атрибутов задания.
FlavorException
Интерфейс FlavorException — это интерфейс-микшин, который подкласс PrintException может реализовать для сообщения об ошибке, связанной с типом doc или типами (класс DocFlavor).
MultiDoc
Интерфейс MultiDoc определяет интерфейс для объекта, предоставляющего более одного фрагмента данных для задания печати.
MultiDocPrintJob
Полученный от MultiDocPrintService, MultiDocPrintJob может распечатать указанную коллекцию документов как одно задание печати с набором атрибутов задания.
MultiDocPrintService
Интерфейс MultiPrintService является фабрикой для MultiDocPrintJob.
PrintException
Класс PrintException инкапсулирует ошибку, связанную с печатью, возникшую во время использования экземпляра Print Service.
PrintService
Интерфейс PrintService является фабрикой для DocPrintJob.
PrintServiceLookup
Реализации этого класса предоставляют службы поиска для служб печати (обычно эквивалентных принтерам) определенного типа.
ServiceUI
Этот класс — это набор удобных методов пользовательского интерфейса, которые предоставляют диалоговое окно графического пользовательского интерфейса для просмотра служб печати, найденных с помощью API Java Print Service.
ServiceUIFactory
Службы могут по желанию предоставлять пользовательские интерфейсы, которые позволяют использовать различные стили взаимодействия в различных ролях.
SimpleDoc
Этот класс является реализацией интерфейса Doc и может использоваться во многих распространённых запросах печати.
StreamPrintService
Этот класс расширяет PrintService и представляет собой службу печати, которая печатает данные в различных форматах в поток вывода, предоставленный клиентом.
StreamPrintServiceFactory
StreamPrintServiceFactory — это фабрика для экземпляров StreamPrintService, которые могут печатать в поток вывода в определенном формате документа, описанном как тип MIME.
URIException
Интерфейс URIException — это интерфейс-микшин, который подкласс PrintException может реализовать для сообщения об ошибке, связанной с адресом URI.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/print/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API