Module java.desktop

Class PageRanges

java.lang.Object
javax.print.attribute.SetOfIntegerSyntax
javax.print.attribute.standard.PageRanges
所有已实现的接口:
Serializable, Cloneable, Attribute, DocAttribute, PrintJobAttribute, PrintRequestAttribute

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

在大多数情况下,要打印的确切页面将由设备驱动程序生成,因此不需要此属性。但是,当打印已经格式化的存档文档时,最终用户可能选择仅打印文档中包含的页面子集。在这种情况下,如果指定了一个页面范围"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" 属性中包含的每个页面范围的下限和上限。有关规范数组形式的解释,请参阅类 SetOfIntegerSyntax。通过 getName() 返回的类别名称给出了 IPP 属性名称。

参见:
  • Constructor Details

    • PageRanges

      public PageRanges(int[][] members)
      使用给定成员构造一个新的页面范围属性。成员以“数组形式”指定;请参阅类 SetOfIntegerSyntax 以了解数组形式的解释。
      参数:
      members - 以数组形式设置成员
      抛出:
      NullPointerException - 如果 membersnullmembers 的任何元素为 null
      IllegalArgumentException - 如果 members 的任何元素不是长度为一或长度为二的数组。如果 members 是零长度数组或集合中的任何成员小于 1。
    • PageRanges

      public PageRanges(String members)
      使用字符串形式中的给定成员构造一个新的页面范围属性。请参阅类 SetOfIntegerSyntax 以了解语法的解释。
      参数:
      members - 以字符串形式设置成员
      抛出:
      NullPointerException - 如果 membersnullmembers 的任何元素为 null
      IllegalArgumentException - 如果 members 不符合正确的语法。如果构造的整数集是零长度数组或集合中的任何成员小于 1。
    • PageRanges

      public PageRanges(int member)
      构造一个包含单个整数的新页面范围属性。即,只打印一页。
      参数:
      member - 设置成员
      抛出:
      IllegalArgumentException - 如果 member < 1
    • PageRanges

      public PageRanges(int lowerBound, int upperBound)
      构造一个包含单个整数范围的新页面范围属性。即,只打印该范围内的页面。
      参数:
      lowerBound - 范围的下限
      upperBound - 范围的上限
      抛出:
      IllegalArgumentException - 如果指定了一个 null 范围,或者指定了一个具有 lowerBound 小于 1 的 non-null 范围
  • Method Details

    • equals

      public boolean equals(Object object)
      返回此页面范围属性是否等同于传入的对象。要等同,必须满足以下所有条件:
      1. object 不为 null
      2. objectPageRanges 类的实例。
      3. 此页面范围属性的成员和 object 的成员相同。
      覆盖:
      equals 在类 SetOfIntegerSyntax
      参数:
      object - 要比较的 Object
      返回:
      如果 object 等同于此页面范围属性,则返回 true,否则返回 false
      参见:
    • getCategory

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

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

      指定者:
      getCategory 在接口 Attribute
      返回:
      打印属性类(类别),是 java.lang.Class 的实例
    • getName

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

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

      指定者:
      getName 在接口 Attribute
      返回:
      属性类别名称