Класс SimpleDoc
- Все реализованные интерфейсы:
Doc
public final class SimpleDoc extends Object implements Doc
Doc, которую можно использовать во многих распространённых запросах на печать. Он может обрабатывать все определённые на данный момент «предопределённые» типы документов, заданные в виде статических переменных в классе DocFlavor. В частности, этот класс реализует определённую требуемую семантику спецификации Doc следующим образом:
- создаёт поток для службы, если это запрошено и уместно.
- гарантирует, что при каждом вызове метода возвращается один и тот же объект.
- гарантирует, что несколько потоков могут обращаться к
Doc - выполняет некоторую проверку соответствия данных типу документа.
MultiDoc, не следует использовать этот класс. Если данные для печати являются потоком или задание печати запрашивает данные в виде потока, SimpleDoc не отслеживает, корректно ли служба закрывает поток после завершения передачи данных или задания. Клиентам может быть удобнее предоставить собственную реализацию документа, которая добавляет прослушиватель для отслеживания завершения задания и проверки освобождения ресурсов, таких как потоки (то есть их закрытия).
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SimpleDoc |
Создаёт SimpleDoc с указанными данными для печати, типом документа и набором атрибутов документа. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
DocAttributeSet |
getAttributes() |
Получает набор атрибутов печати для этого объекта документа. |
DocFlavor |
getDocFlavor() |
Определяет тип документа, в котором этот объект документа будет предоставлять свою часть данных для печати. |
Object |
getPrintData() |
Получает объект, представляющий данные для печати и содержащий часть данных для печати этого объекта документа в формате, соответствующем поддерживаемому типу документа. |
Reader |
getReaderForText() |
Получает средство чтения для извлечения символьных данных для печати из этого документа. |
InputStream |
getStreamForBytes() |
Получает входной поток для извлечения байтовых данных для печати из этого документа. |
Подробное описание конструкторов
SimpleDoc
public SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)
SimpleDoc с указанными данными для печати, типом документа и набором атрибутов документа.- Параметры:
-
printData— объект данных для печати -
flavor— объектDocFlavor -
attributes— объектDocAttributeSet, который может бытьnull - Исключения:
-
IllegalArgumentException— еслиflavorилиprintDataравноnullилиprintDataне соответствует указанному типу документа — например, если тип данных не совпадает с типом представления, указанным вDocFlavor
Подробное описание методов
getDocFlavor
public DocFlavor getDocFlavor()
- Переопределяет:
-
getDocFlavorв интерфейсеDoc - Возвращает:
- тип документа
getAttributes
public DocAttributeSet getAttributes()
null, принтер должен обратиться к набору атрибутов задания, чтобы получить значение атрибута X, а если оно там не найдено, принтер должен использовать значение по умолчанию, зависящее от реализации. Возвращённый набор атрибутов нельзя изменить.- Переопределяет:
-
getAttributesв интерфейсеDoc - Возвращает:
- неизменяемый набор атрибутов печати для этого документа или
null, чтобы получить все значения атрибутов из набора атрибутов задания
getPrintData
public Object getPrintData() throws IOException
getPrintData() возвращает экземпляр класса представления, имя которого указано в getDocFlavor().getRepresentationClassName(), а возвращаемое значение можно привести из класса Object к этому классу представления.- Переопределяет:
-
getPrintDataв интерфейсеDoc - Возвращает:
- объект, представляющий данные для печати
- Исключения:
-
IOException— если класс представления является потоком и при создании потока произошла ошибка ввода-вывода
getReaderForText
public Reader getReaderForText() throws IOException
Doc должна поддерживать этот метод, если DocFlavor имеет один из следующих классов представления данных для печати; в противном случае метод должен возвращать null: -
char[] -
java.lang.String -
java.io.Reader
Reader, считывающего данные для печати из объекта представления в виде потока символов. Однако если сам объект, представляющий данные для печати, является Reader, возвращается непосредственно этот объект.- Переопределяет:
-
getReaderForTextв интерфейсеDoc - Возвращает:
Readerдля чтения символов данных для печати из этого документа. Если средство чтения не может быть предоставлено, поскольку этот документ не соответствует указанным выше критериям, возвращаетсяnull.- Исключения:
-
IOException— если при создании средства чтения произошла ошибка ввода-вывода
getStreamForBytes
public InputStream getStreamForBytes() throws IOException
Doc должна поддерживать этот метод, если DocFlavor имеет один из следующих классов представления данных для печати; в противном случае этот метод возвращает null: -
byte[] -
java.io.InputStream
- Переопределяет:
-
getStreamForBytesв интерфейсеDoc - Возвращает:
InputStreamдля чтения байтов данных для печати из этого документа. Если входной поток не может быть предоставлен, поскольку этот документ не соответствует указанным выше критериям, возвращаетсяnull.- Исключения:
-
IOException— если при создании входного потока произошла ошибка ввода-вывода
© 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/javax/print/SimpleDoc.html