Module  java.desktop
软件包  javax.print

Class SimpleDoc

  • All Implemented Interfaces:
    Doc


    public final class SimpleDoc
    extends Object
    implements Doc
    该类是可以在许多常见打印请求中使用的接口Doc的实现。 它可以处理DocFlavor类中定义为静态变量的所有当前定义的“预定义”文档。

    特别地,该类实现Doc规范的某些必需语义如下:

    • 如果请求和适当,构建服务的流。
    • 确保在方法上为每个调用返回相同的对象。
    • 确保多个线程可以访问文档
    • 执行一些验证数据与文档风格匹配。
    想要在其他作业中重新使用doc对象或需要MultiDoc的客户端不会想使用此类。

    如果打印数据是流,或打印作业以数据流的形式请求数据,则SimpleDoc不会监视数据传输完成或作业终止后是否正确关闭流。 客户可能更喜欢使用提供自己的文档实现来添加监听器来监视作业完成并验证诸如流的资源被释放(即关闭)。

    • 构造方法详细信息

      • SimpleDoc

        public SimpleDoc​(Object printData,
                         DocFlavor flavor,
                         DocAttributeSet attributes)
        构造具有指定打印数据的 SimpleDoc ,doc风格和doc属性集。
        参数
        printData - 打印数据对象
        flavor - DocFlavor对象
        attributes - a DocAttributeSet ,可以是 null
        异常
        IllegalArgumentException - 如果 flavorprintDatanull ,或者 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错误。