- java.lang.Object
-
- javax.print.SimpleDoc
-
- 实现的所有接口
-
Doc
public final class SimpleDocextends Objectimplements Doc
此类是接口Doc
的实现,可用于许多常见的打印请求。 它可以处理DocFlavor
类中定义为静态变量的所有当前定义的“预定义”docDocFlavor
。特别是,该类实现了
Doc
规范的某些必需语义,如下所示:- 如果请求并且适当,则为服务构造流。
- 确保为方法上的每个调用返回相同的对象。
- 确保多个线程可以访问
Doc
- 执行一些验证数据与doc风格匹配。
MultiDoc
客户端不希望使用此类。如果打印数据是流,或者打印作业将数据作为流请求,则
SimpleDoc
不会监视服务是否在数据传输完成或作业终止后正确关闭流。 客户端可能更喜欢使用提供自己的doc实现,该实现添加监听器来监视作业完成并验证诸如流之类的资源是否被释放(即关闭)。
-
-
构造方法摘要
构造方法 构造器 描述 SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)
构造一个SimpleDoc
其中包含指定的打印数据,doc flavor和doc属性集。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 DocAttributeSet
getAttributes()
获取此doc对象的打印属性集。DocFlavor
getDocFlavor()
确定此doc对象将提供其打印数据的doc flavor。Object
getPrintData()
获取包含此doc对象的打印数据的打印数据表示对象,其格式与支持的doc flavor相对应。Reader
getReaderForText()
获得一个读取器,用于从该doc中提取字符打印数据。InputStream
getStreamForBytes()
获取用于从此doc提取字节打印数据的输入流。
-
-
-
构造方法详细信息
-
SimpleDoc
public SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)
构造一个SimpleDoc
其中包含指定的打印数据,doc flavor和doc属性集。- 参数
-
printData
- 打印数据对象 -
flavor
-DocFlavor
对象 -
attributes
- aDocAttributeSet
,可以是null
- 异常
-
IllegalArgumentException
- 如果flavor
或printData
是null
,或者printData
与指定的doc flavor不对应 - 例如,数据的类型不是DocFlavor
的表示DocFlavor
-
-
方法详细信息
-
getDocFlavor
public DocFlavor getDocFlavor()
确定此doc对象将提供其打印数据的doc flavor。- Specified by:
-
getDocFlavor
在接口Doc
- 结果
- doc味道
-
getAttributes
public DocAttributeSet getAttributes()
获取此doc对象的打印属性集。 如果返回的属性集包含特定属性X的实例,则打印机必须使用该doc的该属性值,从而覆盖作业属性集中属性X的任何值。 如果返回的属性集不包含特定属性X的实例或者返回null
,则打印机必须查询作业的属性集以获取属性X的值,如果在那里找不到,则打印机必须使用实现 -从属默认值。 返回的属性集是不可修改的。- Specified by:
-
getAttributes
,界面Doc
- 结果
- 此doc的不可修改的打印属性集,或
null
从作业的属性集中获取所有属性值
-
getPrintData
public Object getPrintData() throws IOException
获取包含此doc对象的打印数据的打印数据表示对象,其格式与支持的doc flavor相对应。getPrintData()
方法返回表示类的实例,其名称由getDocFlavor()
给出。getRepresentationClassName()
,返回值可以从类Object
转换为该表示类。- Specified by:
-
getPrintData
,界面Doc
- 结果
- 打印数据表示对象
- 异常
-
IOException
- 如果表示类是流,并且在构造流时出现I / O错误
-
getReaderForText
public Reader getReaderForText() throws IOException
获得一个读取器,用于从该doc中提取字符打印数据。 如果DocFlavor
具有以下打印数据表示类之一,则需要Doc
实现来支持此方法,否则返回null
:-
char[]
-
java.lang.String
-
java.io.Reader
Reader
用于从打印数据表示对象读取打印数据作为字符流。 但是,如果打印数据表示对象本身是Reader
,则只返回打印数据表示对象。- Specified by:
-
getReaderForText
在接口Doc
- 结果
- a
Reader
用于从此doc中读取打印数据字符。 如果由于此文档不符合上述标准而无法提供读者,则返回null
。 - 异常
-
IOException
- 如果在创建阅读器时出现I / O错误
-
-
getStreamForBytes
public InputStream getStreamForBytes() throws IOException
获取用于从此doc提取字节打印数据的输入流。 如果DocFlavor
具有以下打印数据表示类之一,则需要Doc
实现来支持此方法; 否则此方法返回null
:-
byte[]
-
java.io.InputStream
- Specified by:
-
getStreamForBytes
在界面Doc
- 结果
-
InputStream
用于从此doc读取打印数据字节。 如果由于此doc不符合上述条件而无法提供输入流,则返回null
。 - 异常
-
IOException
- if there was an I/O error while creating the input stream
-
-
-