Module  java.desktop

Class PageRanges

  • All Implemented Interfaces:
    SerializableCloneableAttributeDocAttributePrintJobAttributePrintRequestAttribute


    public final class PageRanges
    extends SetOfIntegerSyntax
    implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
    Class PageRanges是一个打印属性类,一组整数,用于标识打印机对象用于打印每个文档的每个副本的打印流页面的范围。 对于文档中不存在的任何已标识的页面,不打印任何内容。 该属性与打印流页面(不是应用程序编号的页面)相关联(例如,页眉和/或页脚中找到的某些文字处理应用程序的页码)。

    在大多数情况下,要打印的确切页面将由设备驱动程序生成,并且不需要此属性。 然而,当打印已经格式化的归档文档时,最终用户可以选择仅打印包含在文档中的页面的一部分。 在这种情况下,如果指定页面范围为"n-m""n-m"打印的第一页将为第n 文件的所有后续页面将通过并包括第m页打印

    如果没有为打印作业指定PageRanges属性,则将打印文档的所有页面。 换句话说,PageRanges属性的默认值始终为{{1, Integer.MAX_VALUE}}

    PageRanges属性对多点打印作业(具有多个文档的作业)的影响取决于所有文档是否具有指定的相同页面范围,或者是否指定了不同的文档具有不同的页面范围,以及(可能默认的) MultipleDocumentHandling属性。

    • 如果所有文档具有指定的相同页面范围,则MultipleDocumentHandling任何值都有意义,打印机的处理取决于MultipleDocumentHandling值:
      • SINGLE_DOCUMENT - 所有的输入文档将被合并到一个输出文档中。 将打印该输出文档的指定页面范围。
      • SINGLE_DOCUMENT_NEW_SHEET - 所有输入文档将被合并到一个输出文档中,并且每个输入文档的第一印象将始终在新的介质页面上开始。 将打印该输出文档的指定页面范围。
      • SEPARATE_DOCUMENTS_UNCOLLATED_COPIES - 对于每个单独的输入文档,将打印指定的页面范围。
      • SEPARATE_DOCUMENTS_COLLATED_COPIES - 对于每个单独的输入文档,将打印指定的页面范围。
      • SEPARATE_DOCUMENTS_UNCOLLATED_COPIES - 对于每个单独的输入文档,将打印其自己指定的页面范围。
      • SEPARATE_DOCUMENTS_COLLATED_COPIES - 对于每个单独的输入文档,将打印其自己指定的页面范围。

    IPP兼容性: PageRanges属性的规范数组形式为要包含的每个范围的页面和IPP“page-ranges”属性提供下限和上限。 有关规范数组形式的说明,请参见270772583198327类。 getName()返回的类别名称提供IPP属性名称。

    另请参见:
    Serialized Form
    • 构造方法详细信息

      • PageRanges

        public PageRanges​(int[][] members)
        使用给定的成员构造一个新的页面范围属性。 成员以“数组形式”指定; 有关数组形式的说明,请参见SetOfIntegerSyntax类。
        参数
        members - 以数组形式设置成员。
        异常
        NullPointerException - (未经检查的异常)如果 members为空或 members任何元素为空,则抛出。
        IllegalArgumentException - (未选中的异常)如果members任何元素不是长度为一个或长度为二的数组,则抛出。 如果members是零长度数组,或者组中的任何成员小于1, members抛出。
      • PageRanges

        public PageRanges​(String members)
        使用字符串形式的给定成员构造新的页面范围属性。 有关语法的说明,请参见SetOfIntegerSyntax类。
        参数
        members - 以字符串形式设置成员。
        异常
        NullPointerException - (未经检查的异常)如果 members为空或 members任何元素为空,则抛出。
        IllegalArgumentException - (未检查的异常)如果members不符合正确的语法,则抛出。 如果构造的整数整数是零长度数组,或者组中的任何成员小于1,那么也会抛出。
      • PageRanges

        public PageRanges​(int member)
        构造包含单个整数的新页面范围属性。 也就是说,只打印一页。
        参数
        member - 设置成员。
        异常
        IllegalArgumentException - (未检查异常)如果 member小于1,则抛出。
      • PageRanges

        public PageRanges​(int lowerBound,
                          int upperBound)
        构造包含单个整数范围的新页面范围属性。 也就是说,只打印一个范围内的那些页面。
        参数
        lowerBound - 范围的下限。
        upperBound - 范围的上限。
        异常
        IllegalArgumentException - (未检查的异常)如果指定了一个空值范围或者如果指定了一个非空范围,则表示 lowerBound小于1。
    • 方法详细信息

      • equals

        public boolean equals​(Object object)
        返回此页面范围属性是否等同于传入的对象。 要相等的,所有以下条件必须为真:
        1. object不为空。
        2. object是一个类PageRanges的一个实例。
        3. 该页面的属性成员和object的成员是一样的。
        重写:
        equalsSetOfIntegerSyntax
        参数
        object - 要比较的对象。
        结果
        如果 object相当于此页面范围属性, object true,否则为false。
        另请参见:
        Object.hashCode()HashMap
      • getCategory

        public final Class<? extends Attribute> getCategory​()
        获取要用作此打印属性值的“类别”的打印属性类。

        对于类PageRanges,类别是PageRanges本身。

        Specified by:
        getCategory在接口 Attribute
        结果
        打印属性类(category),一个java.lang.Class类的实例。
      • getName

        public final String getName​()
        获取此属性值是一个实例的类别的名称。

        对于类PageRanges,类别名称为"page-ranges"

        Specified by:
        getName在接口 Attribute
        结果
        属性类别名称。