Класс 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 с новой службой печати. |
abstract PageFormat |
validatePage |
Возвращает клон page с параметрами, скорректированными для совместимости с текущим принтером этого PrinterJob. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного периода реального времени. |
Подробное описание конструкторов
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 для этого PrinterJob, чтобы отразить выбранную пользователем службу.
- Возвращает:
-
true, если пользователь не отменил диалоговое окно; в противном случае —false. - Выбрасывает:
-
HeadlessException— если GraphicsEnvironment.isHeadless() возвращает true. - См. также:
printDialog
public boolean printDialog(PrintRequestAttributeSet attributes) throws HeadlessException
Pageable. При первоначальном отображении диалогового окна выбранный принтер соответствует службе печати, которая в данный момент связана с этим заданием печати. Если пользователь сменит службу печати, PrinterJob будет обновлен соответствующим образом, если только пользователь не отменит диалоговое окно. Помимо выбора принтера назначения, пользователь может выбрать значения различных атрибутов запроса печати. При передаче параметр атрибутов содержит заданные приложением начальные значения для диалогового окна пользователя. Для неуказанных атрибутов отображаются значения по умолчанию для службы. При возврате параметр будет содержать значения, выбранные пользователем. Реализация может изменить выбор, чтобы он соответствовал поддерживаемым значениям для текущей выбранной службы печати.
Когда пользователь прокручивает список и выбирает другую службу печати, копируемые значения основываются на настройках предыдущей службы и изменениях, внесенных пользователем. Они не основываются на исходных настройках, переданных клиентом.
За исключением выбранного принтера, состояние 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
При передаче параметр атрибутов содержит требуемые клиентом начальные значения для диалогового окна пользователя. Для неуказанных атрибутов отображаются значения по умолчанию для службы. При возврате параметр будет содержать значения, выбранные пользователем. Реализация может изменить выбор, чтобы он соответствовал поддерживаемым значениям для текущей выбранной службы печати.
Возвращаемое значение — 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, измененный для описанияPageFormatпо умолчанию.
defaultPage
public PageFormat defaultPage()
PageFormat и задает для него размер и ориентацию по умолчанию.- Возвращает:
PageFormatс размером и ориентацией по умолчанию.
getPageFormat
public PageFormat getPageFormat(PrintRequestAttributeSet attributes)
PageFormat со значениями, согласованными с поддерживаемыми текущей PrintService для этого задания (то есть со значением, возвращаемым 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.
Если в этом наборе атрибутов указано поддерживаемое значение атрибута, только для этой операции print() оно будет иметь приоритет над настройками API. Для PageFormat предусмотрено следующее поведение: если клиент использует интерфейс Printable, параметр attributes этого метода проверяется на наличие атрибутов, задающих носитель (по размеру), ориентацию и область печати; на их основе создается новый PageFormat, который передается методу print() объекта Printable. Описание требуемого поведения Printable для обеспечения оптимальной печати с помощью PrinterJob см. в разделе Printable. Для клиентов интерфейса Pageable PageFormat всегда определяется этим интерфейсом отдельно для каждой страницы.
Это поведение позволяет приложению напрямую передавать в этот метод print() настройки пользователя, возвращенные методом printDialog(PrintRequestAttributeSet attributes.
- Параметры:
-
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.