javax.print.attribute.standard

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 类是打印属性类,它是一个整数集,标识 Printer 对象为所要打印的每个文档的每份副本所使用的打印流页范围。对于那些标识为文档中不存在的页,将不会打印任何内容。该属性与打印流 页相关,而与应用程序编号的页无关(例如,某些字处理应用程序的标题或脚注中的页数)。

在大多数情况下,要打印的准确页数由设备驱动程序生成,因此不需要此属性。但是当打印已经格式化过的存档文档时,最终用户可以选择只打印该文档中所包含的页子集。在这种情况下,如果将页范围指定为 "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 属性名称。

另请参见:
序列化表格

构造方法摘要
PageRanges(int member)
          构造一个包括单个整数的新 PageRanges 属性。
PageRanges(int[][] members)
          构造具有给定成员的新 PageRanges 属性。
PageRanges(int lowerBound, int upperBound)
          构造一个包括单一整数范围的新 PageRanges 属性。
PageRanges(String members)
          构造具有给定成员(字符串形式)的新 PageRanges 属性。
 
方法摘要
 boolean equals(Object object)
          返回此 PageRanges 属性是否等效于传入的对象。
 Class<? extends Attribute> getCategory()
          获取将用作此打印属性值的“类别”的打印属性类。
 String getName()
          获取类别的名称,此属性值是该类别的一个实例。
 
从类 javax.print.attribute.SetOfIntegerSyntax 继承的方法
contains, contains, getMembers, hashCode, next, toString
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

PageRanges

public PageRanges(int[][] members)
构造具有给定成员的新 PageRanges 属性。以“数组形式”指定这些成员,有关数组形式的解释,请参阅类 SetOfIntegerSyntax

参数:
members - 以数组形式设置的成员。
抛出:
NullPointerException - (未经检查的异常)如果 members 为 null,或者 members 的任何元素为 null。
IllegalArgumentException - (未经检查的异常)如果没有任何 members 元素是长度为一或长度为二的数组。如果 members 是长度为零的数组,或者集合中的任何成员都小于 1,则也会抛出此异常。

PageRanges

public PageRanges(String members)
构造具有给定成员(字符串形式)的新 PageRanges 属性。有关语法的解释,请参阅类 SetOfIntegerSyntax

参数:
members - 以字符串形式设置的成员。
抛出:
NullPointerException - (未经检查的异常)如果 members 为 null,或者 members 的任何元素为 null。
IllegalArgumentException - (未经检查的异常)如果 members 没有遵守正确的语法。如果构造的整数集为零长度的数组,或者集合中的任何成员小于 1,则也会抛出此异常。

PageRanges

public PageRanges(int member)
构造一个包括单个整数的新 PageRanges 属性。也就是说只打印一页。

参数:
member - 设置的成员。
抛出:
IllegalArgumentException - (未经检查的异常)如果 member 小于 1。

PageRanges

public PageRanges(int lowerBound,
                  int upperBound)
构造一个包括单一整数范围的新 PageRanges 属性。也就是说只打印那些在一个范围中的页。

参数:
lowerBound - 范围的下边界。
upperBound - 范围的上边界。
抛出:
IllegalArgumentException - (未经检查的异常)如果指定了 null 范围,或者指定了非 null 的范围,但 lowerBound 小于 1。
方法详细信息

equals

public boolean equals(Object object)
返回此 PageRanges 属性是否等效于传入的对象。若要等效,以下所有条件都必须为 true:
  1. object 不为 null。
  2. object 是类 PageRanges 的一个实例。
  3. 此 PageRanges 属性的成员和 object 的成员相同。

覆盖:
SetOfIntegerSyntax 中的 equals
参数:
object - 要比较的对象。
返回:
如果 object 等效于此 PageRanges 属性,则返回 True,否则返回 false。
另请参见:
Object.hashCode(), Hashtable

getCategory

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

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

指定者:
接口 Attribute 中的 getCategory
返回:
打印属性类(类别),这是类 java.lang.Class 的一个实例。

getName

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

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

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