Spec-Zone.ru › OpenJDK 24

Класс PrinterJob

java.lang.Object
java.awt.print.PrinterJob
public abstract class PrinterJob extends Object
Класс PrinterJob является основным классом, управляющим печатью. Приложение вызывает методы этого класса для настройки задания, при необходимости, вызова диалогового окна печати с пользователем, а затем для печати страниц задания.

Краткое описание конструкторов

Конструктор Описание
PrinterJob()
Объект PrinterJob должен быть создан с помощью статического метода getPrinterJob.

Краткое описание методов

Модификатор и тип Метод Описание
abstract void cancel()
Отменяет задание печати, которое выполняется.
PageFormat defaultPage()
Создает новый экземпляр PageFormat и устанавливает его по умолчанию размер и ориентацию.
abstract PageFormat defaultPage(PageFormat page)
Создает клон аргумента PageFormat и изменяет клон для описания размера и ориентации страницы по умолчанию.
abstract int getCopies()
Получает количество копий для печати.
abstract String getJobName()
Получает имя документа, который будет напечатан.
PageFormat getPageFormat(PrintRequestAttributeSet attributes)
Вычисляет PageFormat со значениями, соответствующими значениям, поддерживаемым текущим PrintService для этого задания (т. е. значение, возвращаемое getPrintService()) и носителя, печатаемой области и ориентации, содержащихся в attributes.
static PrinterJob getPrinterJob()
Создает и возвращает PrinterJob, который изначально связан с принтером по умолчанию.
PrintService getPrintService()
Возвращает службу (принтер) для этого задания печати.
abstract String getUserName()
Получает имя пользователя, выполняющего печать.
abstract boolean isCancelled()
Возвращает true, если задание печати выполняется, но будет отменено в ближайшее время; в противном случае возвращает false.
static PrintService[] lookupPrintServices()
Удобный метод, который ищет 2D-службы печати.
static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
Удобный метод, который находит фабрики для потоковых служб печати, которые могут отображать 2D-графику.
abstract PageFormat pageDialog(PageFormat page)
Отображает диалоговое окно, позволяющее изменить экземпляр PageFormat.
PageFormat pageDialog(PrintRequestAttributeSet attributes)
Удобный метод, который отображает кроссплатформенное диалоговое окно параметров страницы.
abstract void print()
Печатает набор страниц.
void print(PrintRequestAttributeSet attributes)
Печатает набор страниц, используя параметры в наборе атрибутов.
abstract boolean printDialog()
Отображает диалоговое окно пользователю для изменения свойств задания печати.
boolean printDialog(PrintRequestAttributeSet attributes)
Удобный метод, который отображает кроссплатформенное диалоговое окно печати для всех служб, которые могут печатать 2D-графику с использованием интерфейса Pageable.
abstract void setCopies(int copies)
Устанавливает количество копий для печати.
abstract void setJobName(String jobName)
Устанавливает имя документа, который будет напечатан.
abstract void setPageable(Pageable document)
Запрашивает document для получения количества страниц и PageFormat и Printable для каждой страницы, хранящихся в экземпляре Pageable, document.
abstract void setPrintable(Printable painter)
Вызывает painter для отрисовки страниц.
abstract void setPrintable(Printable painter, PageFormat format)
Вызывает painter для отрисовки страниц в указанном format.
void setPrintService(PrintService service)
Связывает это задание PrinterJob с новой PrintService.
abstract PageFormat validatePage(PageFormat page)
Возвращает клон page со своими параметрами, скорректированными для соответствия текущему принтеру этого PrinterJob.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

PrinterJob

public PrinterJob()
Объект PrinterJob должен быть создан с помощью статического метода getPrinterJob.

Подробное описание методов

getPrinterJob

public static PrinterJob getPrinterJob()
Создает и возвращает PrinterJob, первоначально связанный с принтером по умолчанию. Если принтеры недоступны в системе, PrinterJob всё равно будет возвращен этим методом, но getPrintService() вернёт null, а вызов print с этим PrinterJob может вызвать исключение. Приложениям, которым необходимо определить, есть ли подходящие принтеры перед созданием PrinterJob, следует убедиться, что массив, возвращаемый из lookupPrintServices, не пустой.
Возвращает:
новый PrinterJob.

lookupPrintServices

public static PrintService[] lookupPrintServices()
Удобный метод для поиска 2D-служб печати. Службы, возвращаемые этим методом, могут быть установлены на PrinterJob, поддерживающих службы печати. Вызов этого метода эквивалентен вызову PrintServiceLookup.lookupPrintServices() и указанию Pageable DocFlavor.
Возвращает:
возможно пустой массив 2D-служб печати.
С:
1.4

lookupStreamPrintServices

public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
Удобный метод, который находит фабрики для потоковых служб печати, которые могут отображать 2D-графику. Пример использования:

 FileOutputStream outstream;
 StreamPrintService psPrinter;
 String psMimeType = "application/postscript";
 PrinterJob pj = PrinterJob.getPrinterJob();

 StreamPrintServiceFactory[] factories =
     PrinterJob.lookupStreamPrintServices(psMimeType);
 if (factories.length > 0) {
     try {
         outstream = new File("out.ps");
         psPrinter =  factories[0].getPrintService(outstream);
         // psPrinter can now be set as the service on a PrinterJob
         pj.setPrintService(psPrinter)
     } catch (Exception e) {
         e.printStackTrace();
     }
 }
 
Службы, возвращаемые этим методом, могут быть установлены на PrinterJob экземплярах, поддерживающих службы печати. Вызов этого метода эквивалентен вызову StreamPrintServiceFactory.lookupStreamPrintServiceFactories() и указанию Pageable DocFlavor.
Параметры:
mimeType - требуемый формат вывода или null, если любой.
Возвращает:
возможно пустой массив фабрик 2D-потоковых служб печати.
С:
1.4

getPrintService

public PrintService getPrintService()
Возвращает службу (принтер) для этой работы с принтером. Реализации этого класса, которые не поддерживают службы печати, могут вернуть null. null также будет возвращен, если принтеры недоступны.
Возвращает:
службу для этой работы с принтером.
С:
1.4
См. также:
  • setPrintService(PrintService)
  • getPrinterJob()

setPrintService

public void setPrintService(PrintService service) throws PrinterException
Связывает эту работу с принтером с новой службой печати. Этот метод переопределяется подклассами, которые поддерживают указание службы печати. Бросает исключение PrinterException, если указанная служба не может поддерживать интерфейсы Pageable и Printable, необходимые для поддержки 2D-печати.
Параметры:
service - служба печати, поддерживающая 2D-печать
Исключения:
PrinterException - если указанная служба не поддерживает 2D-печать, или этот класс PrinterJob не поддерживает установку 2D-службы печати, или указанная служба по другим причинам не является действительной службой печати.
С:
1.4
См. также:
  • getPrintService()

setPrintable

public abstract void setPrintable(Printable painter)
Вызывает painter для отрисовки страниц. Страницы в документе, который будет печатать этот PrinterJob, отрисовываются объектом Printable, painter. Формат страницы PageFormat для каждой страницы - по умолчанию.
Параметры:
painter - объект Printable, который отрисовывает каждую страницу документа.

setPrintable

public abstract void setPrintable(Printable painter, PageFormat format)
Вызывает painter для отрисовки страниц в указанном формате format. Страницы в документе, который будет печатать этот PrinterJob, отрисовываются объектом Printable, painter. Формат страницы PageFormat - format.
Параметры:
painter - объект Printable, вызываемый для отрисовки каждой страницы документа
format - размеры и ориентация каждой печатаемой страницы

setPageable

public abstract void setPageable(Pageable document) throws NullPointerException
Запрашивает у document количество страниц и PageFormat и Printable для каждой страницы, содержащихся в экземпляре Pageable, document.
Параметры:
document - страницы для печати. Не может быть null.
Исключения:
NullPointerException - переданный Pageable был null.
См. также:
  • PageFormat
  • Printable

printDialog

public abstract boolean printDialog() throws HeadlessException
Отображает диалог для пользователя, позволяющий изменить свойства задания печати. Этот метод отобразит системный диалог, если выбрана системная служба печати, и выбор принтеров будет ограничен этими системными службами. Для отображения кроссплатформенного диалога печати для всех служб, включая системные, используйте printDialog(PrintRequestAttributeSet).

Реализации PrinterJob, которые могут использовать PrintService, обновит PrintService для этой работы с принтером, чтобы отразить новую выбранную пользователем службу.

Возвращает:
true если пользователь не отменяет диалог; false в противном случае.
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
См. также:
  • GraphicsEnvironment.isHeadless()

printDialog

public boolean printDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Удобный метод, который отображает кроссплатформенный диалог печати для всех служб, способных печатать 2D-графику с использованием интерфейса Pageable. Выбранный принтер при первоначальном отображении диалога отразит службу печати, в данный момент присоединенную к этому заданию печати. Если пользователь изменит службу печати, работа с принтером будет обновлена для отражения этого, если пользователь не отменит диалог. Кроме возможности выбора принтера, пользователь может также выбрать значения различных атрибутов задания печати.

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

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

За исключением выбранного принтера, состояние PrinterJob не обновляется, чтобы отразить изменения пользователя. Чтобы изменения повлияли на задание печати, атрибуты должны быть указаны в вызове метода print(PrintRequestAttributeSet). Если используется интерфейс Pageable, клиенты, которые намерены использовать выбранные пользователем параметры носителя, должны создать PageFormat, производный от выбора пользователя. Если пользователь отменяет диалог, атрибуты не будут отражать никаких изменений, внесенных пользователем.

Параметры:
attributes - при вводе атрибуты, предоставленные приложением, при выводе содержимое обновляется, чтобы отразить выбор пользователя. Этот параметр не может быть null.
Возвращает:
true если пользователь не отменяет диалог; false в противном случае.
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
NullPointerException - если параметр attributes равен null.
С:
1.4
См. также:
  • GraphicsEnvironment.isHeadless()

pageDialog

public abstract PageFormat pageDialog(PageFormat page) throws HeadlessException
Отображает диалоговое окно, позволяющее изменить объект PageFormat. Аргумент page используется для инициализации элементов управления в диалоговом окне настройки страницы. Если пользователь отменяет диалог, этот метод возвращает исходный объект page без изменений. Если пользователь подтверждает диалог, этот метод возвращает новый объект PageFormat с внесёнными изменениями. В любом случае, исходный объект page не изменяется.
Параметры:
page - значение PageFormat по умолчанию, представленное пользователю для изменения
Возвращает:
исходный объект page, если диалог отменён; новый объект PageFormat, содержащий формат, указанный пользователем, если диалог подтверждён.
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
С:
1.2
См. также:
  • GraphicsEnvironment.isHeadless()

pageDialog

public PageFormat pageDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Удобный метод, отображающий кроссплатформенное диалоговое окно настройки страницы. Доступные параметры будут отражать текущую службу печати, установленную в этом объекте PrinterJob.

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

Значение возврата будет эквивалентом PageFormat выборов в PrintRequestAttributeSet. Если пользователь отменяет диалог, атрибуты не будут отражать никаких изменений, внесённых пользователем, и возвращаемое значение будет null.

Параметры:
attributes - на входе это атрибуты, заданные приложением; на выходе содержимое обновляется для отражения выбора пользователя. Этот параметр не может быть null.
Возвращает:
формат страницы, если пользователь не отменяет диалог; null в противном случае.
Исключения:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
NullPointerException - если параметр attributes имеет значение null.
С:
1.4
См. также:
  • GraphicsEnvironment.isHeadless()

defaultPage

public abstract PageFormat defaultPage(PageFormat page)
Создаёт копию аргумента PageFormat и изменяет её, чтобы описать размер и ориентацию страницы по умолчанию.
Параметры:
page - объект PageFormat, подлежащий клонированию и изменению
Возвращает:
копию объекта page, изменённую для описания размера и ориентации страницы по умолчанию.

defaultPage

public PageFormat defaultPage()
Создаёт новый объект PageFormat и устанавливает его размер и ориентацию по умолчанию.
Возвращает:
объект PageFormat с размером и ориентацией по умолчанию.

getPageFormat

public PageFormat getPageFormat(PrintRequestAttributeSet attributes)
Вычисляет PageFormat со значениями, совместимыми с теми, которые поддерживаются текущей службой печати для этого задания (т.е. значение, возвращаемое getPrintService()), а также размерами носителей, печатаемой областью и ориентацией, содержащимися в attributes.

Вызов этого метода не обновляет задание. Он полезен для клиентов, у которых есть набор атрибутов, полученных из printDialog(PrintRequestAttributeSet attributes), и им нужен PageFormat для печати объекта Pageable.

Параметры:
attributes - набор атрибутов печати, например, полученный при вызове printDialog. Если attributes имеет значение null, возвращается PageFormat по умолчанию.
Возвращает:
объект PageFormat, настройки которого соответствуют настройкам текущей службы и заданным атрибутам.
С:
1.6

validatePage

public abstract PageFormat validatePage(PageFormat page)
Возвращает копию page с настройками, адаптированными для соответствия текущему принтеру этого объекта PrinterJob. Например, возвращаемый объект PageFormat может иметь изменённую область изображения, чтобы поместиться в физическую область бумаги, используемой текущим принтером.
Параметры:
page - объект PageFormat, который клонируется и настройки которого изменяются для соответствия текущему принтеру
Возвращает:
объект PageFormat, скопированный из page и настройки которого изменены для соответствия этому объекту PrinterJob.

print

public abstract void print() throws PrinterException
Печатает набор страниц.
Исключения:
PrinterException - ошибка в системе печати привела к прерыванию задания.
См. также:
  • Book
  • Pageable
  • Printable

print

public void print(PrintRequestAttributeSet attributes) throws PrinterException
Печатает набор страниц с использованием настроек в наборе атрибутов. Реализация по умолчанию игнорирует набор атрибутов.

Обратите внимание, что некоторые атрибуты могут быть установлены непосредственно в PrinterJob с помощью эквивалентных вызовов методов (например), количество копий: setCopies(int), имя задания: setJobName(String) и задание размера и ориентации носителя через объект PageFormat.

Если в этом наборе атрибутов указан поддерживаемый атрибут-значение, он будет иметь приоритет над настройками API только для этой операции print(). Следующее поведение задано для PageFormat: если клиент использует интерфейс Printable, то параметр attributes этого метода проверяется на наличие атрибутов, которые задают носитель (по размеру), ориентацию и область изображения, и эти значения используются для создания нового PageFormat, который передаётся в метод print() объекта Printable. См. Printable для объяснения требуемого поведения Printable для обеспечения оптимальной печати через PrinterJob. Для клиентов интерфейса Pageable формат страницы всегда будет таким, как предоставляет этот интерфейс, на основе каждой страницы.

Эти способы поведения позволяют приложению напрямую передать настройки пользователя, возвращённые из printDialog(PrintRequestAttributeSet attributes, в этот метод print().

Параметры:
attributes - набор атрибутов для задания
Исключения:
PrinterException - ошибка в системе печати привела к прерыванию задания.
С:
1.4
См. также:
  • Book
  • Pageable
  • Printable

setCopies

public abstract void setCopies(int copies)
Устанавливает количество копий для печати.
Параметры:
copies - количество копий для печати
См. также:
  • getCopies()

getCopies

public abstract int getCopies()
Возвращает количество копий для печати.
Возвращает:
количество копий для печати.
См. также:
  • setCopies(int)

getUserName

public abstract String getUserName()
Возвращает имя пользователя, выполняющего печать.
Возвращает:
имя пользователя, выполняющего печать

setJobName

public abstract void setJobName(String jobName)
Устанавливает имя документа для печати. Имя документа не может быть null.
Параметры:
jobName - имя документа для печати
См. также:
  • getJobName()

getJobName

public abstract String getJobName()
Возвращает имя документа для печати.
Возвращает:
имя документа для печати.
См. также:
  • setJobName(java.lang.String)

cancel

public abstract void cancel()
Отменяет задание печати, которое выполняется. Если print был вызван, но ещё не возвратил значение, этот метод сигнализирует о необходимости отмены задания в ближайшее время. Если задание печати не выполняется, этот вызов ничего не делает.

isCancelled

public abstract boolean isCancelled()
Возвращает true, если задание печати выполняется, но будет отменено в ближайшее время; в противном случае возвращает false.
Возвращает:
true, если текущее задание будет отменено; false в противном случае.

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/print/PrinterJob.html

Spec-Zone.ru

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