Module  java.desktop

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: 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 Doc
Attribute 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