Package javax.print.attribute.standard
属性表示打印服务可以提供的打印功能。 对于每个属性,打印服务要么或不支持该属性。 对于支持的属性的每个可能的值,打印服务要么或不支持该值。
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文档RFC 2911 Internet Printing Protocol / 1.1: 2000年9月的模型和语义中定义的Internet打印协议(IPP)属性。有关更多信息,请参阅RFC 2911信息。 每个属性类的描述性文本主要来自上述文档。 衷心感谢上述作者对API的贡献。
属性组织
有五种打印属性:doc属性,打印请求属性,打印作业属性,打印服务属性和支持值属性。文件属性
Doc属性指定单个文档的特征和要应用于单个文档的打印作业设置。 doc属性类实现接口DocAttribute 。 doc属性可以显示在DocAttributeSet中 。打印请求属性
打印请求属性指定要应用于整个打印作业和打印作业中所有文档的设置。 打印请求属性类实现接口PrintRequestAttribute 。 打印请求属性可以显示在PrintRequestAttributeSet中 。一些属性是doc属性,但不是打印请求属性,只能在文档级别指定。 某些属性是打印请求属性,而不是文档属性,只能在打印请求级别指定。 某些属性都是文档属性和打印请求属性,可以在文档级别或打印请求级别指定。
当在文档级别指定时,属性仅适用于该文档。 当在打印请求级别指定时,属性适用于整个作业,包括作业中的所有文档。 但是,在doc级别指定的属性将覆盖在“打印请求”级别指定的同一类别中的属性。
打印作业属性
打印作业属性报告打印作业的状态。 打印作业属性类实现接口PrintJobAttribute 。 打印作业属性可以显示在PrintJobAttributeSet中 。一些属性都是打印请求属性和打印作业属性; 客户端可以在打印请求中包括这样的属性以指定随后的打印作业的特征,并且那些属性然后也出现在打印作业的属性集中。 一些属性是打印作业属性,但不是打印请求属性; 打印服务本身将这些属性添加到打印作业的属性集。
打印服务属性
打印服务属性报告打印服务的状态。 打印服务属性类实现接口PrintServiceAttribute 。 打印服务属性可以显示在PrintServiceAttributeSet中 。支持值属性
支持值属性指示打印服务支持的另一个属性的合法值。 supported-values属性类实现接口SupportedValuesAttribute 。 但是,支持值属性永远不会出现在属性集中,因此它们没有限制AttributeSet子接口。属性表
下表列出了所有打印属性。 该表显示每个属性类除了接口Attribute之外实现的标记接口,从而指示API中每个属性的使用方式。 对于每个文档属性和打印请求属性,标记为“SupportedValuesAttribute”的列列出了支持值属性类(如果有),打印服务用于指示该属性类别的支持值。 Attribute Class DocAttribute Print
Request
Attribute Print
Job
Attribute Print
Service
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
Contains zero or more -- 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
Contains zero or more -- X -- PrinterStateReason -- Severity QueuedJobCount X ReferenceUriSchemesSupported
请注意:在javax.print API中,方法的空参考参数是不正确的,除非在方法中明确记录为具有有意义的解释。 使用相反的是错误的编码,可能会立即或稍后导致运行时异常。 IllegalArgumentException和NullPointerException是这种情况的典型和可接受的运行时间异常的示例。
- 从以下版本开始:
- 1.4
-
类摘要 Class 描述 Chromaticity Class Chromaticity是一个打印属性类,一个枚举,用于指定单色或彩色打印。ColorSupported ColorSupported类是一个打印属性类,一个枚举,用于标识设备是否能够进行任何类型的彩色打印,包括突出显示颜色以及全过程颜色。Compression 类压缩是打印属性类,枚举,用于指定打印数据的压缩方式。Copies Class Copies是一个整数值的打印属性类,它指定要打印的份数。CopiesSupported CopiesSupported类是一个打印属性类,一组整数,它为Copies
属性提供支持的值。DateTimeAtCompleted 类DateTimeAtCompleted是打印属性类,日期时间属性,指示打印作业完成(或被取消或中止)的日期和时间。DateTimeAtCreation 类DateTimeAtCreation是一个打印属性类,一个日期时间属性,表示创建打印作业的日期和时间。DateTimeAtProcessing 类DateTimeAtProcessing是打印属性类,日期时间属性,表示打印作业首次开始处理的日期和时间。Destination 类目标是打印属性类(URI),用于指示假脱机打印机格式化数据的备用目标。DialogTypeSelection DialogTypeSelection类是一个打印属性类,一个枚举,指示用于指定打印选项的用户对话框类型。DocumentName DocumentName类是一个打印属性类,一个指定文档名称的文本属性。Fidelity 类Fidelity是打印属性类,枚举,指示是否需要对客户端提供的打印请求属性的总保真度。Finishings 类完成是打印属性类,枚举,用于标识打印机是否对作业中每个打印文档的每个副本执行某种类型的装订操作。JobHoldUntil JobHoldUntil类是一个打印属性类,一个日期时间属性,用于指定作业必须成为打印候选者的确切日期和时间。JobImpressions JobImpress类是一个整数值打印属性类,它指定要提交的文档的展示次数的总大小。JobImpressionsCompleted JobImpressionsCompleted类是一个整数值的打印属性类,用于指定目前为该作业完成的展示次数。JobImpressionsSupported JobImpressions类支持是打印属性类,一组整数,它为JobImpressions
属性提供支持的值。JobKOctets JobKOctets类是一个整数值打印属性类,用于指定以K个八位字节为单位的文档的总大小,即以作业中请求处理的1024个八位字节为单位。JobKOctetsProcessed JobKOctetsProcessed类是一个整数值打印属性类,它指定了目前以K个八位字节处理的打印数据八位字节的总数,即1024个八位字节的单位。JobKOctetsSupported JobKOctetsSupported类是一个打印属性类,一组整数,它为JobKOctets
属性提供支持的值。JobMediaSheets JobMediaSheets类是一个整数值打印属性类,它指定要为此作业生成的介质页的总数。JobMediaSheetsCompleted JobMediaSheetsCompleted类是一个整数值的打印属性类,它指定了到目前为止整个作业已经完成标记和堆叠的介质页数,无论这些工作表是在一边还是两者上进行处理。JobMediaSheetsSupported 类JobMediaSheetsSupported是一个打印属性类,一组整数,为JobMediaSheets
属性提供支持的值。JobMessageFromOperator JobMessageFromOperator类是一个打印属性类,一个文本属性,它提供来自操作员,系统管理员或“智能”过程的消息,以向最终用户指示对作业执行修改或其他管理操作的原因。JobName JobName类是一个打印属性类,一个指定打印作业名称的文本属性。JobOriginatingUserName JobOriginatingUserName类是一个打印属性类,一个文本属性,其中包含提交打印作业的最终用户的名称。JobPriority JobPriority类是一个整数值打印属性类,用于指定打印作业的优先级。JobPrioritySupported JobPrioritySupported类是一个整数值打印属性类,它指定打印服务实例是否支持JobPriority
属性和支持的不同作业优先级数。JobSheets JobSheets类是打印属性类(枚举),用于确定必须使用作业打印哪些作业开始和结束工作表(如果有)。JobState JobState是一个打印属性类,一个枚举,用于标识打印作业的当前状态。JobStateReason JobStateReason类是一个打印属性类,一个枚举,提供有关作业当前状态的附加信息,即增加作业JobState
属性值的信息。JobStateReasons JobStateReasons类是一个打印属性类,一组枚举值,它提供有关作业当前状态的附加信息,即增加作业JobState
属性值的信息。Media Class Media是一个打印属性类,用于指定要打印的介质。MediaName MediaName类是Media的子类,它是打印属性类(枚举),用于将打印作业的媒体指定为名称。MediaPrintableArea MediaPrintableArea类是用于区分可打印区域和不可打印区域的打印属性。MediaSize MediaSize类是一种二维尺寸值的打印属性类,它以纵向方向指示介质的尺寸,X尺寸沿着底边缘运行,Y尺寸沿着左边缘运行。MediaSize.Engineering 类MediaSize.Engineering包括工程媒体的MediaSize
值。MediaSize.ISO MediaSize.ISO类包含ISO媒体的MediaSize
值。MediaSize.JIS Class MediaSize.JIS包括JIS(日本)媒体的MediaSize
值MediaSize.NA MediaSize.NA类包括北美媒体的MediaSize
值。MediaSize.Other Class MediaSize.Other包括杂项媒体的MediaSize
值。MediaSizeName MediaSizeName类是Media的子类。MediaTray MediaTray类是Media的一个子类。MultipleDocumentHandling MultipleDocumentHandling类是一个打印属性类,一个枚举,用于控制整理操作,以及将一个或多个打印流页面放置到展示位置和介质页面上。NumberOfDocuments 类NumberOfDocuments是一个整数值打印属性,表示打印机已接受此作业的单个文档的数量,无论文档的打印数据是否到达打印机。NumberOfInterveningJobs Class NumberOfInterveningJobs是一个整数值打印属性,它以预期完成时间(即当前调度顺序)的相对时间顺序指示该作业前面的作业数。NumberUp 类NumberUp是一个整数值打印属性类,它指定要在所选介质的实例的单侧施加的打印流页数。NumberUpSupported NumberUpSupported类是一个打印属性类,一组整数,它为NumberUp
属性提供支持的值。OrientationRequested 类OrientationRequested是打印属性类,枚举,指示打印的打印流页面的所需方向; 它不描述客户端提供的打印流页面的方向。OutputDeviceAssigned 类OutputDeviceAssigned是一个打印属性类,一个文本属性,用于标识服务分配了此作业的输出设备。PageRanges Class PageRanges是一个打印属性类,一组整数,用于标识打印机对象用于打印每个文档的每个副本的打印流页面的范围。PagesPerMinute Class PagesPerMinute是一个整数值打印属性,它表示可能由此打印机生成的最接近的整数的每分钟的标称页数(例如单面,黑白)。PagesPerMinuteColor Class PagesPerMinuteColor是一个整数值打印属性,表示当打印颜色(例如,单色,颜色)时可能由此打印机生成的最近整数的每分钟的标称页数。PDLOverrideSupported 类PDLOverrideSupported是打印属性类,枚举,表示打印机尝试覆盖嵌入在文档打印数据中的处理指令的能力,处理指令指定为打印数据之外的属性。PresentationDirection 类PresentationDirection是打印属性类,枚举,与NumberUp
属性结合使用,以指示多个打印流页面在所选介质的实例的单侧上施加的布局。PrinterInfo PrinterInfo类是一个打印属性类,一个文本属性,它提供有关打印机的描述信息。PrinterIsAcceptingJobs PrinterIsAcceptingJobs类是打印属性类,枚举,指示打印机当前是否能够接受作业。PrinterLocation PrinterLocation类是打印属性类,一个文本属性,用于标识设备的位置。PrinterMakeAndModel PrinterMakeAndModel类是打印属性类,文本属性,即打印机的制造商和型号。PrinterMessageFromOperator PrinterMessageFromOperator类是一个打印属性类,一个文本属性,它提供来自操作员,系统管理员或“智能”过程的消息,以向最终用户指示打印机的信息或状态,例如为什么不可用或何时预计可用。PrinterMoreInfo PrinterMoreInfo类是打印属性类(URI),用于获取有关此特定打印机的更多信息。PrinterMoreInfoManufacturer PrinterMoreInfoManufacturer类是打印属性类(URI),用于获取有关此类设备的更多信息。PrinterName PrinterName类是一个打印属性类,一个指定打印机名称的文本属性。PrinterResolution PrinterResolution类是一个打印属性类,它指定打印机支持的准确分辨率或用于打印作业。PrinterState PrinterState类是打印属性类,枚举,用于标识打印机的当前状态。PrinterStateReason PrinterStateReason类是一个打印属性类,枚举,提供有关打印机当前状态的其他信息,即增加打印机PrinterState
属性值的信息。PrinterStateReasons PrinterStateReasons类是一个打印属性类,一组枚举值,提供有关打印机当前状态的其他信息,即增加打印机PrinterState
属性值的信息。PrinterURI PrinterURI类是一个打印属性类,一个URI,它指定打印机的全局唯一名称。PrintQuality PrintQuality类是打印属性类(枚举),用于指定打印机用于作业的打印质量。QueuedJobCount Class QueuedJobCount是一个整数值打印属性,表示打印机中的作业数量,其中JobState
为PENDING,PENDING_HELD,PROCESSING或PROCESSING_STOPPED。ReferenceUriSchemesSupported Class ReferenceUriSchemesSupported是打印属性类,表示打印机可用于检索存储在URI位置的打印数据的“URI方案”(例如“http:”或“ftp:”)的枚举。RequestingUserName Class RequestingUserName是一个打印属性类,一个文本属性,指定提交打印作业的最终用户的名称。Severity Class Severity是一个打印属性类,一个枚举,表示PrinterStateReason
属性的严重性。SheetCollate SheetCollate是打印属性类(枚举),用于指定当Copies
属性指定文档的多个副本时,作业中每个打印文档的每个副本的介质页是否依次排列。Sides Class Sides是一个打印属性类,一个枚举,它指定打印流页面如何被施加到所选介质实例的侧面,即一个印象。