javax.print.attribute.standard
类 SheetCollate

java.lang.Object
  继承者 javax.print.attribute.EnumSyntax
      继承者 javax.print.attribute.standard.SheetCollate
所有已实现的接口:
Serializable, Cloneable, Attribute, DocAttribute, PrintJobAttribute, PrintRequestAttribute

public final class SheetCollate
   
   
   
extends EnumSyntax
implements DocAttribute, PrintRequestAttribute, PrintJobAttribute

SheetCollate 类是打印属性类,它是一种枚举,当由 Copies 属性指定了文档的多个副本时,它可以指定作业中每个打印文档的每个副本的介质纸张是否排列有序。当 SheetCollate 为 COLLATED 时,将使用排列有序的打印流纸张打印每个文档的每个副本。当 SheetCollate 为 UNCOLLATED 时,每个打印流纸张将被连续多次打印,其次数等于 Copies 属性的值。例如,假设一个文档需要打印出两种输出介质纸张,Copies 为 6,SheetCollate 为 UNCOLLATED;则在此情况下,将首先打印出六份第一种介质纸张,然后再打印出六份第二种介质纸张。

无论纸张整理的效果是通过将文档的副本放在多个输出箱中达到的,还是放在同一个输出箱中使用已定义的实现达到的,文档区分都与实现相关。另外,无论是通过多种方式传递作业,还是使用一种输出来存档,分类器都与实现相关。

如果打印机不支持 SheetCollate 属性(是指客户端无法指定任何特定的纸张整理),则打印机的行为都必须表现为似乎 SheetCollate 始终被设置为 COLLATED。

SheetCollate 属性可与 MultipleDocumentHandling 属性交互。MultipleDocumentHandling 属性描述了对整个文档的整理,而 SheetCollate 属性描述了整理文档中具体页的语义。

多文档打印(一个作业带有多个文档)作业的 SheetCollate 属性的效果取决于是为所有的文档指定了相同的纸张整理,还是为不同的文档指定了不同的纸张整理,以及 MultipleDocumentHandling 属性的值(可能是默认值)。

  • 如果为所有的文档指定了相同的纸张整理,则允许进行 SheetCollate 和 MultipleDocumentHandling 的以下组合,并且在指定了其他任何组合的情况下提交作业时,打印机都将报告一个错误:
    • SheetCollate = COLLATED,MultipleDocumentHandling = SINGLE_DOCUMENT -- 所有的输入文档都将合并到一个输出文档中。生成输出文档的多个副本,按整理后的顺序打印各页,即页 1,2,3,……,1,2,3 等。

    • SheetCollate = COLLATED,MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- 所有的输入文档都将合并到一个输出文档中,并且始终在新的介质纸张上开始每个输入文档的第一个印张。生成输出文档的多个副本,按整理后的顺序打印各页,即页 1,2,3,……,1,2,3 等。

    • SheetCollate = COLLATED,MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- 每个输入文档都保持为一个单独的输出文档。生成输出文档的多个副本(称它们为 A,B……),按整理后的顺序打印每个文档的各页,但这些文档本身却是按非整理顺序,即页 A1,A2,A3,……,A1,A2,A3,……,B1,B2,B3,……,B1,B2,B3 等。

    • SheetCollate = COLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_COLLATED_COPIES -- 每个输入文档都保持为一个单独的输出文档。生成输出文档的多个副本(称它们为 A,B……),按整理后的顺序打印每个文档的各页,这些文档本身也按整理顺序打印,即页 A1,A2,A3,……,B1,B2,B3,……,A1,A2,A3,……,B1,B2,B3 等。

    • SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT -- 所有的输入文档都将合并到一个输出文档中。生成输出文档的多个副本,按非整理顺序打印各页,即页 1,1,……,2,2,……,3,3 等。

    • SheetCollate = UNCOLLATED, MultipleDocumentHandling = SINGLE_DOCUMENT_NEW_SHEET -- 所有的输入文档都将合并到一个输出文档中,并且始终在新的介质纸张上开始每个输入文档的第一个印张。生成输出文档的多个副本,按非整理顺序打印各页,即页 1,1,……,2,2,……,3,3 等。

    • SheetCollate = UNCOLLATED, MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- 每个输入文档都保持为一个单独的输出文档。生成输出文档的多个副本(称它们为 A、B……),按非整理顺序打印每个文档的各页,这些文档本身也按非整理顺序打印,即页 A1,A1,……,A2,A2,……,A3,A3,……,B1,B1,……,B2,B2,……,B3,B3 等。

  • 如果为不同的文档指定了不同的纸张整理,则只允许使用 MultipleDocumentHandling 的一个值,并且在指定了其他任何值的情况下提交作业时,打印机都将报告一个错误:
    • MultipleDocumentHandling = SEPARATE_DOCUMENTS_UNCOLLATED_COPIES -- 每个输入文档都保持为一个单独的输出文档。生成输出文档的多个副本(称它们为 A,B……),按照相应输入文档的 SheetCollate 属性指定值以整理后或非整理顺序打印每个文档的各页,同时这些文档本身也按非整理顺序打印。如果文档 A 是 SheetCollate = UNCOLLATED,文档 B 是 SheetCollate = COLLATED,则将打印出以下页:A1,A1,……,A2,A2,……,A3,A3,……,B1,B2,B3,……,B1,B2,B3 等。

IPP 兼容性:SheetCollate 目前不是 IPP 属性。

另请参见:
MultipleDocumentHandling, 序列化表格

字段摘要
static SheetCollateCOLLATED
          当打印多个副本时,文档中的纸张以整理后的顺序出现。
static SheetCollateUNCOLLATED
          当打印多个副本时,文档中的纸张以非整理顺序出现。
 
构造方法摘要
protected SheetCollate(int value)
          构造具有给定整数值的新 SheetCollate 枚举值。
 
方法摘要
 Class<? extends Attribute>getCategory()
          获取将用作此打印属性值的“类别”的打印属性类。
protected  EnumSyntax[]getEnumValueTable()
          返回类 SheetCollate 的枚举值表。
 StringgetName()
          获取类别的名称,此属性值是该类别的一个实例。
protected  String[]getStringTable()
          返回类 SheetCollate 的字符串表。
 
从类 javax.print.attribute.EnumSyntax 继承的方法
clone, getOffset, getValue, hashCode, readResolve, toString
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

字段详细信息

UNCOLLATED

public static final SheetCollate UNCOLLATED
当打印多个副本时,文档中的纸张以非整理顺序出现。


COLLATED

public static final SheetCollate COLLATED
当打印多个副本时,文档中的纸张以整理后的顺序出现。

构造方法详细信息

SheetCollate

protected SheetCollate(int value)
构造具有给定整数值的新 SheetCollate 枚举值。

参数:
value - 整数值。
方法详细信息

getStringTable

protected String[] getStringTable()
返回类 SheetCollate 的字符串表。

覆盖:
EnumSyntax 中的 getStringTable
返回:
字符串表

getEnumValueTable

protected EnumSyntax[] getEnumValueTable()
返回类 SheetCollate 的枚举值表。

覆盖:
EnumSyntax 中的 getEnumValueTable
返回:
值表

getCategory

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

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

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

getName

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

对于类 SheetCollate,类别名称是 "sheet-collate"

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