javax.print

接口
异常
java.lang.Object
  继承者 javax.print.SimpleDoc
所有已实现的接口:
Doc

public final class SimpleDoc
     
extends Object
implements Doc

此类是接口 Doc 的实现,可用于很多常见的打印请求中。它可处理目前作为 DocFlavor 类中静态变量所定义的所有“预定义” doc flavor。

特别是此类实现了某些 Doc 规范所必需的语义:

  • 如果请求了并且是合适的,则为服务构造流。
  • 确保对某个方法的每次调用都返回相同的对象。
  • 确保多个线程可以访问 Doc。
  • 对数据是否与 doc flavor 相符执行某种验证。
希望在其他作业中重用该 doc 对象或需要 MultiDoc 的客户端不希望使用此类。

如果打印数据是一个流,或者打印作业以流的形式请求数据,那么当数据传输完成或作业终止后服务正确地关闭该流时,SimpleDoc 不再进行监视。客户端可能优先使用其自己添加了侦听器的 doc 实现,以监视作业的完成并验证是否有诸如流等的可用资源(即是否已关闭)。


构造方法摘要
SimpleDoc(Object printData, DocFlavor flavor, DocAttributeSet attributes)
          构造具有指定打印数据、doc flavor 和 doc 属性集的 SimpleDoc
 
方法摘要
 DocAttributeSet getAttributes()
          获得此 doc 对象的打印属性集。
 DocFlavor getDocFlavor()
          确定其 doc 对象将提供其部分打印数据的 doc flavor。
 Object getPrintData()
          获得打印数据表示形式对象,该对象包含此 doc 对象的部分打印数据,其格式对应于受支持的 DocFlavor。
 Reader getReaderForText()
          获得一个从此 doc 中提取字符打印数据的 reader。
 InputStream getStreamForBytes()
          获得一个从此 doc 中提取 byte 打印数据的输入流。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SimpleDoc

public SimpleDoc(Object printData,
                 DocFlavor flavor,
                 DocAttributeSet attributes)
构造具有指定打印数据、doc flavor 和 doc 属性集的 SimpleDoc

参数:
printData - 打印数据对象
flavor - DocFlavor 对象
attributes - DocAttributeSet,可以为 null
抛出:
IllegalArgumentException - 如果 flavorprintDatanull,或者 printData 不对应于指定的 doc flavor--例如,数据不是 DocFlavor 中的表示形式所指定的类型。
方法详细信息

getDocFlavor

public DocFlavor getDocFlavor()
确定其 doc 对象将提供其部分打印数据的 doc flavor。

指定者:
接口 Doc 中的 getDocFlavor
返回:
DocFlavor。

getAttributes

public DocAttributeSet getAttributes()
获得此 doc 对象的打印属性集。如果返回的属性集包括特定属性 X 的实例,则打印机必须为此 doc 使用该属性值,该值覆盖作业属性集中属性 X 的所有值。如果返回的属性集不包括特定属性 X 的实例,或者返回 null,则打印机必须参考该作业的属性集来获得属性 X 的值,如果在该集合中未找到该属性值,则打印机必须使用一个与实现相关的默认值。返回的属性集是不可修改的。

指定者:
接口 Doc 中的 getAttributes
返回:
此 doc 不可修改的打印属性集,或者为 null,以从该作业的属性集中获得所有属性值。

getPrintData

public Object getPrintData()
                    throws IOException
从接口 Doc 复制的描述
获得打印数据表示形式对象,该对象包含此 doc 对象的部分打印数据,其格式对应于受支持的 DocFlavor。 getPrintData() 方法返回一个表示形式类的实例,其名称由 getDocFlavor()getRepresentationClassName() 给定,可将返回值从类 Object 强制转换为该表示形式类。

指定者:
接口 Doc 中的 getPrintData
返回:
打印数据表示形式对象。
抛出:
IOException - 如果表示形式类是一个流且在构造该流时存在 I/O 错误。

getReaderForText

public Reader getReaderForText()
                        throws IOException
获得一个从此 doc 中提取字符打印数据的 reader。如果 DocFlavor 具有以下打印数据表示形式类之一,则需要 Doc 实现支持此方法,否则返回 null
  • char[]
  • java.lang.String
  • java.io.Reader
为了从打印数据表示形式对象中以字符流的形式读取打印数据,使用 doc 的打印数据表示形式对象来构造并返回一个 Reader。但是,如果打印数据表示形式对象本身就是一个 Reader,则只返回该打印数据表示形式对象。

指定者:
接口 Doc 中的 getReaderForText
返回:
从此 doc 中读取打印数据字符的 Reader。如果因为此 doc 不符合上述标准而无法提供 reader,则返回 null
抛出:
IOException - 如果创建 reader 时存在 I/O 错误。

getStreamForBytes

public InputStream getStreamForBytes()
                              throws IOException
获得一个从此 doc 中提取 byte 打印数据的输入流。如果 DocFlavor 具有以下打印数据表示形式类之一,则需要 Doc 实现支持此方法,否则此方法返回 null
  • byte[]
  • java.io.InputStream
获得该 doc 的打印数据表示形式对象。然后,为了从打印数据表示形式对象中以 byte 流形式读取打印数据,创建并返回一个输入流。但是,如果打印数据表示形式对象本身就是一个输入流,则只返回该打印数据表示形式对象。

指定者:
接口 Doc 中的 getStreamForBytes
返回:
从此 doc 中读取打印数据 byte 的 InputStream。如果因为此 doc 不符合上述标准而无法提供输入流,则返回 null
抛出:
IOException - 如果创建输入流时存在 I/O 错误。