Spec-Zone.ru › OpenJDK 25

Класс 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()
Вспомогательный метод для поиска служб печати двумерной графики.
static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
Вспомогательный метод для поиска фабрик служб потоковой печати, способных визуализировать двумерную графику.
abstract PageFormat pageDialog(PageFormat page)
Отображает диалоговое окно, позволяющее изменить экземпляр PageFormat.
PageFormat pageDialog(PrintRequestAttributeSet attributes)
Вспомогательный метод для отображения кроссплатформенного диалогового окна настройки страницы.
abstract void print()
Печатает набор страниц.
void print(PrintRequestAttributeSet attributes)
Печатает набор страниц с использованием настроек набора атрибутов.
abstract boolean printDialog()
Предлагает пользователю диалоговое окно для изменения свойств задания печати.
boolean printDialog(PrintRequestAttributeSet attributes)
Вспомогательный метод для отображения кроссплатформенного диалогового окна печати для всех служб, способных печатать двумерную графику с помощью интерфейса 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.

Методы, объявленные в классе 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()
Вспомогательный метод для поиска служб печати двумерной графики. Службы, возвращаемые этим методом, могут быть установлены в PrinterJobs, поддерживающих службы печати. Вызов этого метода эквивалентен вызову PrintServiceLookup.lookupPrintServices() с указанием Pageable DocFlavor.
Возвращает:
возможно, пустой массив служб печати двумерной графики.
С версии:
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 для указания любого формата.
Возвращает:
возможно, пустой массив фабрик служб потоковой печати двумерной графики.
С версии:
1.4

getPrintService

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

setPrintService

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

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, обеспечивающего оптимальную печать через PrinterJob, см. в описании Printable. Для клиентов интерфейса Pageable PageFormat всегда соответствует формату, предоставленному этим интерфейсом отдельно для каждой страницы.

Это поведение позволяет приложению напрямую передавать настройки пользователя, возвращенные методом 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(String)

cancel

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

isCancelled

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/print/PrinterJob.html

Spec-Zone.ru

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