Spec-Zone.ru › OpenJDK 21

Класс 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.
Исключения:
SecurityException - если существует менеджер безопасности и его метод SecurityManager.checkPrintJobAccess() запрещает этому потоку создавать запрос на печать.

lookupPrintServices

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

getPrintService

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

setPrintService

public void setPrintService(PrintService service) throws PrinterException
Связывает эту PrinterJob с новой PrintService. Этот метод переопределяется подклассами, которые поддерживают указание PrintService. Бросает 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 для этой PrinterJob, чтобы отразить новую службу, выбранную пользователем.

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

printDialog

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

Параметр 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 не изменяется.
Parameters:
page - значение PageFormat по умолчанию, представленное пользователю для изменения
Returns:
исходный объект page , если диалог отменён; новый объект PageFormat , содержащий формат, указанный пользователем, если диалог подтверждён.
Throws:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
Since:
1.2
See Also:
  • GraphicsEnvironment.isHeadless()

pageDialog

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

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

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

Parameters:
attributes - на входе, приложение предоставляет атрибуты, на выходе содержимое обновляется, чтобы отразить выбор пользователя. Этот параметр не может быть null.
Returns:
формат страницы, если пользователь не отменяет диалог; null в противном случае.
Throws:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true.
NullPointerException - если параметр attributes равен null.
Since:
1.4
See Also:
  • GraphicsEnvironment.isHeadless()

defaultPage

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

defaultPage

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

getPageFormat

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

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

Parameters:
attributes - набор атрибутов печати, например, полученный из вызова printDialog. Если attributes равен null, возвращается формат страницы по умолчанию.
Returns:
формат страницы PageFormat, настройки которого соответствуют настройкам текущей службы и указанным атрибутам.
Since:
1.6

validatePage

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

print

public abstract void print() throws PrinterException
Печатает набор страниц.
Throws:
PrinterException - ошибка в системе печати привела к прерыванию задания.
See Also:
  • 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 PageFormat всегда будет таким, как он был предоставлен этим интерфейсом, на каждой странице.

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

Parameters:
attributes - набор атрибутов для задания
Throws:
PrinterException - ошибка в системе печати привела к прерыванию задания.
Since:
1.4
See Also:
  • Book
  • Pageable
  • Printable

setCopies

public abstract void setCopies(int copies)
Устанавливает количество копий для печати.
Parameters:
copies - количество копий для печати
See Also:
  • getCopies()

getCopies

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

getUserName

public abstract String getUserName()
Возвращает имя пользователя, выполняющего печать.
Returns:
имя пользователя, выполняющего печать
Throws:
SecurityException - если менеджер безопасности существует и разрешение PropertyPermission - user.name отсутствует в файле политики

setJobName

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

getJobName

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

cancel

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

isCancelled

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

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/print/PrinterJob.html

Spec-Zone.ru

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