Module java.desktop

Package javax.print.attribute.standard


package javax.print.attribute.standard
javax.print.attribute.standard 包含了特定打印属性的类。父包 javax.print.attribute 提供了描述Java打印服务属性类型以及如何将它们收集到属性集中的类和接口。

属性代表打印服务可以提供的打印功能。对于每个属性,打印服务要么支持该属性,要么不支持。对于支持属性的每个可能值,打印服务要么支持该值,要么不支持。

API要求每个打印服务支持某些属性;其他属性是可选的,服务可以选择是否支持它们。每个属性都有一组它接受的值。API要求每个打印服务支持某些属性的某些值;其他属性值是可选的,服务可以选择是否支持它们。这些支持要求记录在每个属性类的文档中。

javax.print.attribute.standard 包含了在打印领域中广泛使用的标准打印属性和标准打印属性值。打印服务供应商可以提供新的供应商特定的打印属性,除了标准属性之外。供应商还可以提供标准打印属性的供应商特定扩展(子类)--例如,为现有标准属性提供额外的供应商特定值。当然,如果供应商希望客户能够使用任何添加或扩展的属性,供应商必须发布新的属性类。

许多标准属性类扩展了 javax.print.attribute 包的抽象语法类之一。这些抽象语法类每个代表不同的类型。例如, EnumSyntax 类代表类型安全的枚举。抽象语法类为属性值提供了包装器。

如果一个属性类扩展了 EnumSyntax,并且属性的值是符合IPP的值,那么属性的 toString 方法将返回属性值的IPP字符串表示,例如,对于 JobState 属性,返回"processing-stopped"。然而,由于 EnumSyntax 类是可扩展的,供应商可以定义自己的属性值。如果一个属性使用了 EnumSyntax 类,并且设置为这些供应商定义的值之一,那么 toString 方法将不会返回该值的IPP字符串表示。

打印客户端应用程序通常不需要使用包 javax.print.attribute.standard 中的所有打印属性类,只需要与应用程序相关的属性。

javax.print.attribute.standard 中的属性类基于Internet打印协议(IPP)属性,这些属性在Internet RFC文档中定义,RFC 2911 Internet Printing Protocol/1.1: Model and Semantics,日期为2000年9月。有关更多信息,请参阅 RFC 2911。每个属性类的描述文本主要来自上述文档。对API的上述作者的贡献表示感谢。

属性组织

有五种打印属性:文档属性、打印请求属性、打印作业属性、打印服务属性和支持的值属性。

文档属性

文档属性指定单个文档的特性以及要应用于单个文档的打印作业设置。文档属性类实现了接口 DocAttribute。文档属性可以出现在 DocAttributeSet 中。 打印请求属性指定要应用于整个打印作业以及打印作业中所有文档的设置。打印请求属性类实现了接口 PrintRequestAttribute。打印请求属性可以出现在 PrintRequestAttributeSet 中。

一些属性是文档属性但不是打印请求属性,可能只能在文档级别指定。一些属性是打印请求属性但不是文档属性,可能只能在打印请求级别指定。一些属性既是文档属性又是打印请求属性,可以在文档级别或打印请求级别指定。

当在文档级别指定时,属性仅适用于该文档。当在打印请求级别指定时,属性适用于整个作业,包括作业中的所有文档。但是,在文档级别指定的属性会覆盖在打印请求级别指定的同一类别中的属性。

打印作业属性报告打印作业的状态。打印作业属性类实现了接口 PrintJobAttribute。打印作业属性可以出现在 PrintJobAttributeSet 中。

一些属性既是打印请求属性又是打印作业属性;客户端可以在打印请求中包含这些属性以指定随后打印作业的特性,然后这些属性也会出现在打印作业的属性集中。一些属性是打印作业属性但不是打印请求属性;打印服务本身将这些属性添加到打印作业的属性集中。

打印服务属性报告打印服务的状态。打印服务属性类实现了接口 PrintServiceAttribute。打印服务属性可以出现在 PrintServiceAttributeSet 中。

支持的值属性

支持的值属性指示打印服务支持的另一个属性的合法值。支持的值属性类实现了接口 SupportedValuesAttribute。然而,支持的值属性永远不会出现在属性集中,因此没有专门的 AttributeSet 子接口用于它们。

属性表

下表列出了所有打印属性。表格显示了每个属性类实现的标记接口,除了接口 Attribute,从而指示每个属性在API中的使用方式。对于每个文档属性和打印请求属性,标记为“SupportedValuesAttribute”的列列出了支持的值属性类,如果有的话,打印服务将使用该类指示该属性类别的支持值。
列出如上所述的所有打印属性
属性类 文档
属性
打印
请求
属性
打印
作业
属性
打印
服务
属性
支持的值属性
压缩 X        
文档名称 X        
色度 X X X    
份数   X X   支持的份数
装订 X X X    
作业保留直到   X X    
作业印张数   X X   支持的作业印张数
作业K字节   X X   支持的作业K字节
作业介质张数   X X   支持的作业介质张数
作业名称   X X    
作业优先级   X X   支持的作业优先级
作业页   X X    
介质 X X X    
介质尺寸          
多文档处理   X X    
多页排列 X X X   支持的多页排列
方向要求 X X X    
页面范围 X X X    
演示方向 X X X    
打印机分辨率 X X X    
打印质量 X X X    
请求用户名   X X    
纸张对齐 X X X    
双面打印 X X X    
完成时间     X    
创建时间     X    
处理时间     X    
完成印张数     X    
已处理K字节     X    
完成介质张数     X    
操作员消息     X    
作业发起用户名     X    
作业状态     X    
作业状态原因
包含零个或多个 --
    X    
-- 作业状态原因          
文档数量     X    
中间作业数量     X    
分配的输出设备     X    
支持颜色       X  
每分钟页数       X  
每分钟彩色页数       X  
PDL覆盖支持       X  
打印机正在接受作业       X  
打印机信息       X  
打印机位置       X  
操作员消息       X  
打印机制造商和型号       X  
打印机更多信息       X  
打印机制造商更多信息       X  
打印机名称       X  
打印机状态       X  
打印机状态原因
包含零个或多个 --
      X  
-- 打印机状态原因          
自从:
1.4
  • Classes
    Class
    Description
    Chromaticity类是一个打印属性类,一个枚举,用于指定单色或彩色打印。
    ColorSupported类是一个打印属性类,一个枚举,用于标识设备是否能够进行任何类型的彩色打印,包括突出颜色以及全过程颜色。
    Compression类是一个打印属性类,一个枚举,用于指定打印数据的压缩方式。
    Copies类是一个整数值的打印属性类,用于指定要打印的副本数量。
    CopiesSupported类是一个打印属性类,一个整数集合,提供了Copies属性的支持值。
    DateTimeAtCompleted类是一个打印属性类,一个日期时间属性,表示打印作业完成(或被取消或中止)的日期和时间。
    DateTimeAtCreation类是一个打印属性类,一个日期时间属性,表示打印作业创建的日期和时间。
    DateTimeAtProcessing类是一个打印属性类,一个日期时间属性,表示打印作业首次开始处理的日期和时间。
    Destination类是一个打印属性类,一个URI,用于指示传输到打印机的格式化数据的备用目的地。
    用于支持请求保持打印或页面设置对话框显示在所有窗口或某个特定窗口的属性类。
    DialogTypeSelection类是一个打印属性类,一个枚举,表示用于指定打印选项的用户对话框类型。
    DocumentName类是一个打印属性类,一个文本属性,用于指定文档的名称。
    Fidelity类是一个打印属性类,一个枚举,表示是否需要完全符合客户提供的打印请求属性。
    Finishings类是一个打印属性类,一个枚举,用于标识打印机是否对作业中的每份打印文档应用某种装订或整理操作。
    JobHoldUntil类是一个打印属性类,一个日期时间属性,指定作业必须成为打印候选的确切日期和时间。
    JobImpressions类是一个整数值的打印属性类,指定提交的文档的印象总数。
    JobImpressionsCompleted类是一个整数值的打印属性类,指定到目前为止作业完成的印象数。
    JobImpressionsSupported类是一个打印属性类,一个整数集合,提供了JobImpressions属性的支持值。
    JobKOctets类是一个整数值的打印属性类,指定作业中要处理的文档的总大小(以K octets为单位,即以1024 octets为单位)。
    JobKOctetsProcessed类是一个整数值的打印属性类,指定到目前为止处理的打印数据八位组的总数(以K octets为单位,即以1024 octets为单位)。
    JobKOctetsSupported类是一个打印属性类,一个整数集合,提供了JobKOctets属性的支持值。
    JobMediaSheets类是一个整数值的打印属性类,指定为此作业要生成的介质张数。
    JobMediaSheetsCompleted类是一个整数值的打印属性类,指定到目前为止整个作业已完成标记和堆叠的介质张数,无论这些张纸是单面处理还是双面处理。
    JobMediaSheetsSupported类是一个打印属性类,一个整数集合,提供了JobMediaSheets属性的支持值。
    JobMessageFromOperator类是一个打印属性类,一个文本属性,提供来自操作员、系统管理员或“智能”进程的消息,指示对作业采取的修改或其他管理操作的原因。
    JobName类是一个打印属性类,一个文本属性,指定打印作业的名称。
    JobOriginatingUserName类是一个打印属性类,一个文本属性,包含提交打印作业的最终用户的名称。
    JobPriority类是一个整数值的打印属性类,指定打印作业的优先级。
    JobPrioritySupported类是一个整数值的打印属性类,指定打印服务实例是否支持JobPriority属性以及支持的不同作业优先级级别的数量。
    JobSheets类是一个打印属性类,一个枚举,确定是否必须使用哪些作业开始和结束页(如果有)与作业一起打印。
    JobState是一个打印属性类,一个枚举,标识打印作业的当前状态。
    JobStateReason类是一个打印属性类,一个枚举,提供有关作业当前状态的附加信息,即增补作业的JobState属性的值。
    JobStateReasons类是一个打印属性类,一个枚举值集合,提供有关作业当前状态的附加信息,即增补作业的JobState属性的值。
    Media是一个打印属性类,用于指定打印介质。
    MediaNameMedia的子类,一个打印属性类(一个枚举),指定打印作业的介质名称。
    MediaPrintableArea是一个打印属性,用于区分介质的可打印区域和不可打印区域。
    MediaSize是一个二维大小值的打印属性类,指示介质在纵向方向上的尺寸,其中X维度沿底边延伸,Y维度沿左边延伸。
    MediaSize.Engineering包括工程介质的MediaSize值。
    MediaSize.ISO包括ISO介质的MediaSize值。
    MediaSize.JIS包括JIS(日本)介质的MediaSize值。
    MediaSize.NA包括北美介质的MediaSize值。
    MediaSize.Other包括其他介质的MediaSize值。
    MediaSizeNameMedia的子类。
    MediaTrayMedia的子类。
    MultipleDocumentHandling是一个打印属性类,一个枚举,用于控制整理操作和将一个或多个打印流页面放置到印象和介质张上。
    NumberOfDocuments是一个整数值的打印属性,指示打印机已接受的此作业的个别文档数量,无论文档的打印数据是否已到达打印机。
    NumberOfInterveningJobs是一个整数值的打印属性,指示在相对时间顺序中排在此作业前面的作业数量(即,当前计划顺序)。
    NumberUp是一个整数值的打印属性类,指定要在所选介质的单面上强加的打印流页面数量。
    NumberUpSupported是一个打印属性类,一个整数集合,提供了NumberUp属性的支持值。
    OrientationRequested是一个打印属性类,一个枚举,表示打印的打印流页面的期望方向;它不描述客户提供的打印流页面的方向。
    OutputDeviceAssigned是一个打印属性类,一个文本属性,标识服务分配给此作业的输出设备。
    PageRanges是一个打印属性类,一个整数集合,标识打印机对象用于每份文档的每份副本的打印流页面范围。
    PagesPerMinute是一个整数值的打印属性,指示此打印机可能生成的每分钟页面数的名义值(例如,单面、黑白)。
    PagesPerMinuteColor是一个整数值打印属性,表示打印彩色页面时打印机每分钟生成的页面数,取最接近的整数(例如,单面彩色)。
    PDLOverrideSupported是一个打印属性类,一个枚举,表示打印机尝试覆盖嵌入在文档打印数据中的处理指令,使用在打印数据之外指定的处理指令的能力。
    PresentationDirection是一个打印属性类,一个枚举,与NumberUp属性一起使用,指示要强加在所选介质的单面上的多个打印流页面的布局。
    PrinterInfo是一个打印属性类,一个文本属性,提供有关打印机的描述信息。
    PrinterIsAcceptingJobs是一个打印属性类,一个枚举,指示打印机当前是否能够接受作业。
    PrinterLocation是一个打印属性类,一个文本属性,标识设备的位置。
    PrinterMakeAndModel是一个打印属性类,一个文本属性,表示打印机的制造商和型号。
    PrinterMessageFromOperator是一个打印属性类,一个文本属性,提供来自操作员、系统管理员或“智能”进程的消息,向最终用户指示有关打印机的信息或状态,例如为何不可用或何时可用。
    PrinterMoreInfo是一个打印属性类,一个URI,用于获取有关此特定打印机的更多信息。
    PrinterMoreInfoManufacturer是一个打印属性类,一个URI,用于获取有关此类型设备的更多信息。
    PrinterName是一个打印属性类,一个文本属性,指定打印机的名称。
    PrinterResolution是一个打印属性类,指定打印机支持的精确分辨率或用于打印作业的分辨率。
    PrinterState是一个打印属性类,一个枚举,标识打印机的当前状态。
    PrinterStateReason是一个打印属性类,一个枚举,提供有关打印机当前状态的附加信息,即增加打印机PrinterState属性值的信息。
    PrinterStateReasons是一个打印属性类,一组枚举值,提供有关打印机当前状态的附加信息,即增加打印机PrinterState属性值的信息。
    PrinterURI是一个打印属性类,一个URI,指定打印机的全局唯一名称。
    PrintQuality是一个打印属性类,一个枚举,指定打印机用于作业的打印质量。
    QueuedJobCount是一个整数值打印属性,指示打印机中JobStatePENDINGPENDING_HELDPROCESSINGPROCESSING_STOPPED的作业数。
    ReferenceUriSchemesSupported是一个打印属性类,一个枚举,指示打印机可以使用的“URI方案”,例如“http:”或“ftp:”,用于检索存储在URI位置的打印数据。
    RequestingUserName是一个打印属性类,一个文本属性,指定提交打印作业的最终用户的名称。
    Severity是一个打印属性类,一个枚举,表示PrinterStateReason属性的严重性。
    SheetCollate是一个打印属性类,一个枚举,指定作业中每份打印文档的每份副本的介质页是否按顺序排列,当Copies属性指定多份文档副本时。
    Sides是一个打印属性类,一个枚举,指定打印流页面如何强加在所选介质的一侧,即一个印象上。