Класс PrinterJob
public abstract class PrinterJob extends Object
PrinterJob является основным классом, управляющим печатью. Приложение вызывает методы этого класса для настройки задания, при необходимости, вызова диалогового окна печати с пользователем, а затем для печати страниц задания.Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PrinterJob() |
Объект PrinterJob должен быть создан с помощью статического метода getPrinterJob. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
cancel() |
Отменяет задание печати, которое выполняется. |
PageFormat |
defaultPage() |
Создает новый экземпляр PageFormat и устанавливает его по умолчанию размер и ориентацию. |
abstract PageFormat |
defaultPage |
Создает клон аргумента PageFormat и изменяет клон для описания размера и ориентации страницы по умолчанию. |
abstract int |
getCopies() |
Получает количество копий для печати. |
abstract String |
getJobName() |
Получает имя документа, который будет напечатан. |
PageFormat |
getPageFormat |
Вычисляет 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 |
Удобный метод, который находит фабрики для потоковых служб печати, которые могут отображать 2D-графику. |
abstract PageFormat |
pageDialog |
Отображает диалоговое окно, позволяющее изменить экземпляр PageFormat. |
PageFormat |
pageDialog |
Удобный метод, который отображает кроссплатформенное диалоговое окно параметров страницы. |
abstract void |
print() |
Печатает набор страниц. |
void |
print |
Печатает набор страниц, используя параметры в наборе атрибутов. |
abstract boolean |
printDialog() |
Отображает диалоговое окно пользователю для изменения свойств задания печати. |
boolean |
printDialog |
Удобный метод, который отображает кроссплатформенное диалоговое окно печати для всех служб, которые могут печатать 2D-графику с использованием интерфейса Pageable. |
abstract void |
setCopies |
Устанавливает количество копий для печати. |
abstract void |
setJobName |
Устанавливает имя документа, который будет напечатан. |
abstract void |
setPageable |
Запрашивает document для получения количества страниц и PageFormat и Printable для каждой страницы, хранящихся в экземпляре Pageable, document. |
abstract void |
setPrintable |
Вызывает painter для отрисовки страниц. |
abstract void |
setPrintable |
Вызывает painter для отрисовки страниц в указанном format. |
void |
setPrintService |
Связывает это задание PrinterJob с новой PrintService. |
abstract PageFormat |
validatePage |
Возвращает клон page со своими параметрами, скорректированными для соответствия текущему принтеру этого PrinterJob. |
Подробное описание конструкторов
PrinterJob
public PrinterJob()
PrinterJob должен быть создан с помощью статического метода getPrinterJob.Подробное описание методов
getPrinterJob
public static PrinterJob getPrinterJob()
PrinterJob, первоначально связанный с принтером по умолчанию. Если принтеры недоступны в системе, PrinterJob всё равно будет возвращен этим методом, но getPrintService() вернёт null, а вызов print с этим PrinterJob может вызвать исключение. Приложениям, которым необходимо определить, есть ли подходящие принтеры перед созданием PrinterJob, следует убедиться, что массив, возвращаемый из lookupPrintServices, не пустой.- Возвращает:
- новый
PrinterJob.
lookupPrintServices
public static PrintService[] lookupPrintServices()
PrinterJob, поддерживающих службы печати. Вызов этого метода эквивалентен вызову PrintServiceLookup.lookupPrintServices() и указанию Pageable DocFlavor.- Возвращает:
- возможно пустой массив 2D-служб печати.
- С:
- 1.4
lookupStreamPrintServices
public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
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()
- Возвращает:
- службу для этой работы с принтером.
- С:
- 1.4
- См. также:
setPrintService
public void setPrintService(PrintService service) throws PrinterException
PrinterException, если указанная служба не может поддерживать интерфейсы Pageable и Printable, необходимые для поддержки 2D-печати.- Параметры:
-
service- служба печати, поддерживающая 2D-печать - Исключения:
-
PrinterException- если указанная служба не поддерживает 2D-печать, или этот класс PrinterJob не поддерживает установку 2D-службы печати, или указанная служба по другим причинам не является действительной службой печати. - С:
- 1.4
- См. также:
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. - См. также:
printDialog
public abstract boolean printDialog() throws HeadlessException
printDialog(PrintRequestAttributeSet). Реализации PrinterJob, которые могут использовать PrintService, обновит PrintService для этой работы с принтером, чтобы отразить новую выбранную пользователем службу.
- Возвращает:
-
trueесли пользователь не отменяет диалог;falseв противном случае. - Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. - См. также:
printDialog
public boolean printDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Pageable. Выбранный принтер при первоначальном отображении диалога отразит службу печати, в данный момент присоединенную к этому заданию печати. Если пользователь изменит службу печати, работа с принтером будет обновлена для отражения этого, если пользователь не отменит диалог. Кроме возможности выбора принтера, пользователь может также выбрать значения различных атрибутов задания печати. Параметр attributes при вводе будет отражать первоначальные выбранные параметры приложения в пользовательском диалоге. Атрибуты, не указанные, отображаются с использованием значений по умолчанию для службы. При возвращении он будет отражать выбор пользователя. Выбранные значения могут быть обновлены реализацией, чтобы соответствовать допустимым значениям для выбранной в данный момент службы печати.
Когда пользователь переходит к новому выбору службы печати, скопированные значения основаны на настройках предыдущей службы, а также любых изменениях пользователя. Значения не основаны на исходных настройках, предоставленных клиентом.
За исключением выбранного принтера, состояние PrinterJob не обновляется, чтобы отразить изменения пользователя. Чтобы изменения повлияли на задание печати, атрибуты должны быть указаны в вызове метода print(PrintRequestAttributeSet). Если используется интерфейс Pageable, клиенты, которые намерены использовать выбранные пользователем параметры носителя, должны создать PageFormat, производный от выбора пользователя. Если пользователь отменяет диалог, атрибуты не будут отражать никаких изменений, внесенных пользователем.
- Параметры:
-
attributes- при вводе атрибуты, предоставленные приложением, при выводе содержимое обновляется, чтобы отразить выбор пользователя. Этот параметр не может быть null. - Возвращает:
-
trueесли пользователь не отменяет диалог;falseв противном случае. - Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. -
NullPointerException- если параметрattributesравен null. - С:
- 1.4
- См. также:
pageDialog
public abstract PageFormat pageDialog(PageFormat page) throws HeadlessException
PageFormat. Аргумент page используется для инициализации элементов управления в диалоговом окне настройки страницы. Если пользователь отменяет диалог, этот метод возвращает исходный объект page без изменений. Если пользователь подтверждает диалог, этот метод возвращает новый объект PageFormat с внесёнными изменениями. В любом случае, исходный объект page не изменяется.- Параметры:
-
page- значениеPageFormatпо умолчанию, представленное пользователю для изменения - Возвращает:
- исходный объект
page, если диалог отменён; новый объектPageFormat, содержащий формат, указанный пользователем, если диалог подтверждён. - Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. - С:
- 1.2
- См. также:
pageDialog
public PageFormat pageDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Параметр attributes на входе отражает начальный выбор клиента в диалоговом окне пользователя. Атрибуты, которые не указаны, отображаются с помощью значения по умолчанию для службы. По возвращении он будет отражать выбор пользователя. Выбранные параметры могут быть обновлены реализацией для соответствия допустимым значениям для текущей выбранной службы печати.
Значение возврата будет эквивалентом PageFormat выборов в PrintRequestAttributeSet. Если пользователь отменяет диалог, атрибуты не будут отражать никаких изменений, внесённых пользователем, и возвращаемое значение будет null.
- Параметры:
-
attributes- на входе это атрибуты, заданные приложением; на выходе содержимое обновляется для отражения выбора пользователя. Этот параметр не может быть null. - Возвращает:
- формат страницы, если пользователь не отменяет диалог;
nullв противном случае. - Исключения:
-
HeadlessException- если GraphicsEnvironment.isHeadless() возвращает true. -
NullPointerException- если параметрattributesимеет значение null. - С:
- 1.4
- См. также:
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.
public abstract void print() throws PrinterException
- Исключения:
-
PrinterException- ошибка в системе печати привела к прерыванию задания. - См. также:
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
- См. также:
setCopies
public abstract void setCopies(int copies)
- Параметры:
-
copies- количество копий для печати - См. также:
getCopies
public abstract int getCopies()
- Возвращает:
- количество копий для печати.
- См. также:
getUserName
public abstract String getUserName()
- Возвращает:
- имя пользователя, выполняющего печать
setJobName
public abstract void setJobName(String jobName)
null.- Параметры:
-
jobName- имя документа для печати - См. также:
getJobName
public abstract String getJobName()
- Возвращает:
- имя документа для печати.
- См. также:
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