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