模块  java.desktop
软件包  javax.print

Class SimpleDoc

  • 实现的所有接口
    Doc

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

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

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

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

    • 构造方法详细信息

      • SimpleDoc

        public SimpleDoc​(Object printData,
                         DocFlavor flavor,
                         DocAttributeSet attributes)
        构造一个 SimpleDoc其中包含指定的打印数据,doc flavor和doc属性集。
        参数
        printData - 打印数据对象
        flavor - DocFlavor对象
        attributes - a DocAttributeSet ,可以是 null
        异常
        IllegalArgumentException - 如果 flavorprintDatanull ,或者 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
        doc的打印数据表示对象用于构造和返回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
        获得doc的打印数据表示对象。 然后,创建并返回用于从打印数据表示对象读取打印数据作为字节流的输入流。 但是,如果打印数据表示对象本身是输入流,则简单地返回打印数据表示对象。
        Specified by:
        getStreamForBytes在界面 Doc
        结果
        InputStream用于从此doc读取打印数据字节。 如果由于此doc不符合上述条件而无法提供输入流,则返回null
        异常
        IOException - if there was an I/O error while creating the input stream