Package 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文档RFC 2911 Internet Printing Protocol / 1.1:Model and Semantics 2000年9 月中定义的Internet打印协议(IPP)属性。有关详细信息,请参阅RFC 2911 。 每个属性类的描述性文本主要取自上述文档。 感谢上述作者对API的贡献。
属性组织
打印属性有五种:doc属性,打印请求属性,打印作业属性,打印服务属性和supported-values属性。Doc属性
Doc属性指定单个doc的特征以及要应用于单个doc的打印作业设置。 doc属性类实现接口DocAttribute 。 doc属性可以显示在DocAttributeSet中 。打印请求属性
打印请求属性指定要应用于整个打印作业和打印作业中所有文档的设置。 打印请求属性类实现接口PrintRequestAttribute 。 打印请求属性可以显示在PrintRequestAttributeSet中 。某些属性是doc属性,但不是打印请求属性,只能在doc级别指定。 某些属性是打印请求属性,但不是doc属性,只能在“打印请求”级别指定。 某些属性既是doc属性又是print请求属性,可以在doc级别或Print Request级别指定。
在文档级别指定时,属性仅适用于该文档。 在“打印请求”级别指定时,属性将应用于整个作业,包括作业中的所有文档。 但是,在doc级别指定的属性会覆盖在Print Request级别指定的同一类别中的属性。
打印作业属性
打印作业属性报告打印作业的状态。 打印作业属性类实现接口PrintJobAttribute 。 打印作业属性可以显示在PrintJobAttributeSet中 。一些属性是打印请求属性和打印作业属性; 客户端可以在打印请求中包含这些属性,以指定随后的打印作业的特征,然后这些属性也会出现在打印作业的属性集中。 某些属性是打印作业属性,但不是打印请求属性; 打印服务本身将这些属性添加到打印作业的属性集。
打印服务属性
打印服务属性报告打印服务的状态。 打印服务属性类实现接口PrintServiceAttribute 。 打印服务属性可以显示在PrintServiceAttributeSet中 。支持值属性
受支持的值属性指示打印服务支持的另一个属性的合法值。 受支持值属性类实现接口SupportedValuesAttribute 。 但是,supported-values属性永远不会出现在属性集中,因此它们没有受限制的AttributeSet子接口。属性表
下表列出了所有打印属性。 该表显示了除了接口Attribute之外每个属性类实现的标记接口,从而指示了如何在API中使用每个属性。 对于每个doc属性和print request属性,标记为“SupportedValuesAttribute”的列会列出supported-values属性类(如果有),打印服务使用该属性类指示该属性类别支持的值。 Lists all printing attributes as described above 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中, null方法的参考参数不正确,除非在方法上明确记录为具有有意义的解释。 相反的用法是不正确的编码,并且可能立即或稍后导致运行时异常。 IllegalArgumentException和NullPointerException是此类情况的典型和可接受的运行时异常的示例。
- 从以下版本开始:
- 1.4
-
类摘要 类 描述 Chromaticity 类Chromaticity是打印属性类,枚举,指定单色或彩色打印。ColorSupported 类ColorSupported是打印属性类,它是一个枚举,用于标识设备是否能够进行任何类型的彩色打印,包括高亮颜色以及完整的印刷色。Compression 类Compression是打印属性类,它是一个枚举,指定如何压缩打印数据。Copies 类Copies是整数值打印属性类,它指定要打印的副本数。CopiesSupported 类CopiesSupported是打印属性类,一组整数,它为Copies属性提供支持的值。DateTimeAtCompleted 类DateTimeAtCompleted是打印属性类,即日期时间属性,指示打印作业完成(或已取消或中止)的日期和时间。DateTimeAtCreation 类DateTimeAtCreation是打印属性类,它是一个日期时间属性,指示创建打印作业的日期和时间。DateTimeAtProcessing 类DateTimeAtProcessing是打印属性类,即日期时间属性,指示打印作业首次开始处理的日期和时间。Destination 类Destination是打印属性类,URI,用于指示假脱机打印机格式化数据的备用目标。DialogOwner 用于支持请求打印或页面设置对话框的属性类将保持显示在所有窗口或某个特定窗口的顶部。DialogTypeSelection 类DialogTypeSelection是打印属性类,它是一个枚举,指示用于指定打印选项的用户对话框类型。DocumentName 类DocumentName是打印属性类,即文本属性,用于指定文档的名称。Fidelity 类Fidelity是打印属性类,它是一个枚举,指示是否需要对客户端提供的打印请求属性的完全保真度。Finishings 类Finishings是打印属性类,它是一个枚举,用于标识打印机是否对作业中每个打印文档的每个副本应用某种绑定的完成操作。JobHoldUntil 类JobHoldUntil是打印属性类,即日期时间属性,它指定作业必须成为打印候选者的确切日期和时间。JobImpressions 类JobImpressions是整数值打印属性类,它指定要提交的文档的总展示次数。JobImpressionsCompleted 类JobImpressionsCompleted是整数值打印属性类,它指定到目前为止已完成的作业的印象数。JobImpressionsSupported 类JobImpressionsSupported是打印属性类,一组整数,它为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是整数值打印属性类,它指定Print Service实例是否支持JobPriority属性以及支持的不同作业优先级的数量。JobSheets 类JobSheets是打印属性类,它是一个枚举,用于确定必须使用作业打印哪些作业开始和结束表(如果有)。JobState JobState是打印属性类,它是一个枚举,用于标识打印作业的当前状态。JobStateReason 类JobStateReason是打印属性类,它是一个枚举,它提供有关作业当前状态的附加信息,即增加作业JobState属性值的信息。JobStateReasons 类JobStateReasons是打印属性类,一组枚举值,提供有关作业当前状态的附加信息,即增加作业JobState属性值的信息。Media 类Media是打印属性类,它指定要打印的介质。MediaName 类MediaName是MediaName的子类,Media是打印属性类(枚举),它将打印作业的介质指定为名称。MediaPrintableArea 类别MediaPrintableArea是用于区分媒体的可打印和不可打印区域的打印属性。MediaSize 类别MediaSize是一个二维大小值打印属性类,它以纵向方向指示介质的尺寸,X尺寸沿底边运行,Y尺寸沿左边缘运行。MediaSize.Engineering 类别MediaSize.Engineering包括MediaSize工程介质的值。MediaSize.ISO MediaSize.ISO类包括ISO媒体的MediaSize值。MediaSize.JIS 类别MediaSize.JIS包括JIS(日语)媒体的MediaSize值。MediaSize.NA MediaSize.NA类包括北美媒体的MediaSize值。MediaSize.Other 类别MediaSize.Other包括其他媒体的MediaSize值。MediaSizeName MediaSizeName类是Media的子类。MediaTray MediaTray类是Media的子类。MultipleDocumentHandling 类别MultipleDocumentHandling是打印属性类,它是一个枚举,用于控制整理操作以及将一个或多个打印流页面放置到展示和媒体工作表中。NumberOfDocuments 类别NumberOfDocuments是整数值打印属性,指示打印机为此作业接受的单个文档的数量,无论文档的打印数据是否已到达打印机。NumberOfInterveningJobs 类别NumberOfInterveningJobs是一个整数值打印属性,它按照预期完成时间(即当前排程顺序)的相对时间顺序指示该作业之前的作业数。NumberUp 类NumberUp是整数值打印属性类,它指定要在所选介质的实例的单面上施加的打印流页面的数量。NumberUpSupported 类NumberUpSupported是打印属性类,一组整数,它为NumberUp属性提供支持的值。OrientationRequested 类OrientationRequested是打印属性类,枚举,指示打印的打印流页面的所需方向; 它没有描述客户端提供的打印流页面的方向。OutputDeviceAssigned 类OutputDeviceAssigned是打印属性类,它是一个文本属性,用于标识服务为其分配此作业的输出设备。PageRanges 类PageRanges是打印属性类,它是一组整数,用于标识打印机对象用于每个要打印的文档副本的打印流页面的范围。PagesPerMinute 类别PagesPerMinute是整数值打印属性,其指示可由该打印机生成的最接近整数的每分钟标称页数(例如,单面,黑白)。PagesPerMinuteColor 类别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 类QueuedJobCount是整数值打印属性,它指示在其打印机中的作业数JobState要么是PENDING,PENDING_HELD,PROCESSING,或PROCESSING_STOPPED。ReferenceUriSchemesSupported 类ReferenceUriSchemesSupported是打印属性类,它是一个枚举,表示“URI方案”,例如“http:”或“ftp:”,打印机可以使用它来检索存储在URI位置的打印数据。RequestingUserName 类RequestingUserName是打印属性类,即文本属性,它指定提交打印作业的最终用户的名称。Severity 类Severity是打印属性类,它是一个枚举,表示PrinterStateReason属性的严重性。SheetCollate 类SheetCollate是打印属性类,它是一种枚举,指定当Copies属性指定文档的多个副本时,作业中每个打印文档的每个副本的介质页是否按顺序排列。Sides 类Sides是打印属性类,枚举,指定如何将打印流页面强加到所选介质的实例的侧面,即印象。