模块 java.desktop

包 javax.print.attribute.standard


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

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

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 RFC 文档中定义的 Internet 打印协议 (IPP) 属性,RFC 2911 Internet 打印协议/1.1:模型和语义日期为 2000 年 9 月。有关详细信息,请参阅 RFC 2911。每个属性类的描述性文本主要取自上述文档。感谢以上作者对 API 的贡献。

属性组织

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

文档属性

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

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

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

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

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

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

支持值属性

支持值属性指示打印服务支持的另一个属性的合法值。支持值属性类实现接口 SupportedValuesAttribute 。但是,支持值属性从不出现在属性集中,因此它们没有受限的 AttributeSet 子接口。

属性表

下表列出了所有打印属性。该表显示了除接口 Attribute 之外每个属性类实现的标记接口,从而指示每个属性在 API 中的使用方式。对于每个 doc 属性和打印请求属性,标记为“SupportedValuesAttribute”的列列出了支持值属性类(如果有),打印服务使用它指示该属性类别的支持值。
如上所述列出所有打印属性
Attribute 类 Doc
Attribute
打印
Request
Attribute
打印
工作
Attribute
打印
服务
Attribute
SupportedValuesAttribute
Compression X        
DocumentName X        
Chromaticity X X X    
Copies   X X   CopiesSupported
Finishings X X X    
JobHoldUntil   X X    
JobImpressions   X X   JobImpressionsSupported
JobKOctets   X X   JobKOctetsSupported
JobMediaSheets   X X   JobMediaSheetsSupported
JobName   X X    
JobPriority   X X   JobPrioritySupported
JobSheets   X X    
Media X X X    
MediaSize          
MultipleDocumentHandling   X X    
NumberUp X X X   NumberUpSupported
OrientationRequested X X X    
PageRanges X X X    
PresentationDirection X X X    
PrinterResolution X X X    
PrintQuality X X X    
RequestingUserName   X X    
SheetCollate X X X    
Sides X X X    
DateTimeAtCompleted     X    
DateTimeAtCreation     X    
DateTimeAtProcessing     X    
JobImpressionsCompleted     X    
JobKOctetsProcessed     X    
JobMediaSheetsCompleted     X    
JobMessageFromOperator     X    
JobOriginatingUserName     X    
JobState     X    
JobStateReasons
包含零个或多个——
    X    
-- JobStateReason          
NumberOfDocuments     X    
NumberOfInterveningJobs     X    
OutputDeviceAssigned     X    
ColorSupported       X  
PagesPerMinute       X  
PagesPerMinuteColor       X  
PDLOverrideSupported       X  
PrinterIsAcceptingJobs       X  
PrinterInfo       X  
PrinterLocation       X  
PrinterMessageFromOperator       X  
PrinterMakeAndModel       X  
PrinterMoreInfo       X  
PrinterMoreInfoManufacturer       X  
PrinterName       X  
PrinterState       X  
PrinterStateReasons
包含零个或多个——
      X  
-- PrinterStateReason          
-- Severity          
QueuedJobCount       X  
ReferenceUriSchemesSupported          

请注意:在 javax.print API 中,方法的 null 引用参数是不正确的,除非在方法上明确记录为具有有意义的解释。相反的用法是不正确的编码,可能会立即或稍后导致运行时异常。 IllegalArgumentExceptionNullPointerException 是此类情况下典型且可接受的运行时异常的示例。

自从:
1.4
  • 描述
    Chromaticity是一个打印属性类,一个枚举,指定单色或彩色打印。
    ColorSupported 是一个打印属性类,一个枚举,它标识设备是否能够进行任何类型的彩色打印,包括高亮颜色和全印刷颜色。
    Compression类是一个打印属性类,一个枚举,指定打印数据如何压缩。
    Copies 是一个整数值打印属性类,它指定要打印的份数。
    CopiesSupported 是打印属性类,一组整数,它为 Copies 属性提供支持的值。
    DateTimeAtCompleted 是一个打印属性类,一个日期时间属性,指示打印作业完成(或被取消或中止)的日期和时间。
    DateTimeAtCreation是一个打印属性类,一个日期时间属性,表示创建打印作业的日期和时间。
    DateTimeAtProcessing 是一个打印属性类,一个日期时间属性,表示打印作业首次开始处理的日期和时间。
    Destination 是一个打印属性类,一个 URI ,用于指示假脱机打印机格式化数据的备用目的地。
    用于支持请求打印或页面设置对话框的属性类保持显示在所有窗口或某些特定窗口的顶部。
    DialogTypeSelection 是一个打印属性类,一个枚举,指示用于指定打印选项的用户对话框类型。
    DocumentName是一个打印属性类,一个文本属性,指定了文档的名称。
    Fidelity 是一个打印属性类,一个枚举,指示是否需要对客户端提供的打印请求属性的完全保真度。
    Finishings 是一个打印属性类,一个枚举,它标识打印机是否对作业中每个打印文档的每个副本应用某种装订的修整操作。
    JobHoldUntil 是一个打印属性类,一个日期时间属性,指定作业必须成为打印候选者的确切日期和时间。
    JobImpressions 是一个整数值打印属性类,指定提交文档的总大小(以印数计)。
    JobImpressionsCompleted 是一个整数值打印属性类,它指定到目前为止作业完成的印数。
    JobImpressionsSupported 是打印属性类,一组整数,它为 JobImpressions 属性提供支持的值。
    JobKOctets 类是一个整数值打印属性类,它以 K 个八位字节指定文档的总大小,即以请求在作业中处理的 1024 个八位字节为单位。
    JobKOctetsProcessed是一个整数值的打印属性类,它以K个八位字节,即以1024个八位字节为单位指定到目前为止处理的打印数据八位字节的总数。
    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 是一个整数值打印属性,它指示打印机中的作业数,其 JobState PENDINGPENDING_HELDPROCESSINGPROCESSING_STOPPED
    ReferenceUriSchemesSupported 是一个打印属性类,它是一个枚举,表示打印机可用于检索存储在 URI 位置的打印数据的“URI 方案”,例如“http:”或“ftp:”。
    RequestingUserName是一个打印属性类,一个文本属性,指定提交打印作业的最终用户的名称。
    Severity 是一个打印属性类,一个枚举,表示 PrinterStateReason 属性的严重性。
    SheetCollate 是一个打印属性类,一个枚举,它指定当文档的多个副本由 Copies 属性指定时,作业中每个打印文档的每个副本的介质页是否按顺序排列。
    Sides 类是一个打印属性类,一个枚举,它指定如何将打印流页面强加到所选介质实例的侧面,即印模。