Spec-Zone .ru
спецификации, руководства, описания, API
 Платформа Java™
Стандарт Эд. 7

Пакет javax.print

Обеспечивает основные классы и интерфейсы для API Службы печати JavaTM.

См.: Описание

Пакет javax.print Описание

Обеспечивает основные классы и интерфейсы для API Службы печати JavaTM. API Службы печати Java включает приложениям клиента и сервера к:

Открытие Службы печати

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

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

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

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

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

Спецификация Типа документа

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

Используя API

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

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(MediaSize.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 нулевой ссылочный параметр к методам является неправильным если явно не задокументировано на методе как наличие значимой интерпретации. Использование наоборот является неправильным кодированием и может привести к исключению времени выполнения или сразу или в некоторое более позднее время. IllegalArgumentException и NullPointerException являются примерами типичных и приемлемых исключений времени выполнения для таких случаев.

С тех пор:
1.4
 Платформа Java™
Стандарт Эд. 7

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.