モジュール java.desktop

パッケージ javax.print.attribute.standard

パッケージjavax.print.attribute.standardには、特定の印刷属性のクラスが含まれています。 親パッケージのjavax.print.attributeは、Java Print Serviceの属性の型とそれらが属性セットに収集される方法を記述するクラスとインタフェースを提供します。

属性は印刷サービスが提供可能な印刷機能を表します。 印刷サービスがすべての属性をサポートする保証はありません。 サポートされる属性の値についても、そのすべてをサポートする保証はありません。

API側では特定の属性のサポートを必須としますが、それ以外はオプションであり、サポートするかどうかはサービス側で選択できます。 受け入れ可能な値は属性によって異なり、特定の属性に対して特定の値が必須になります。 それ以外の属性値は属性自体と同様にオプションであり、サポートするかどうかはサービス側で選択できます。 これらのサポート条件は各属性クラスのドキュメントに記述されます。

javax.print.attribute.standardパッケージは、印刷ドメインで広く使用される標準印刷属性と標準印刷属性値を含みます。 印刷サービスのベンダーは、標準の属性に加えて、ベンダー固有の印刷属性を提供できます。 またたとえば、サブクラスで標準印刷属性にベンダー固有の値を追加することで、拡張できます。 クライアント側でこのような追加属性や拡張属性を使用可能にするためには、ベンダーは新しい属性クラスを公開する必要があります。

標準属性クラスの多くは、javax.print.attributeパッケージの抽象構文クラスの1つを拡張したものです。 これらの抽象構文クラスは、それぞれ異なる型を表します。 たとえばEnumSyntaxクラスは、型保証された列挙を表します。 抽象構文クラスは属性値のラッパーを提供します。

属性クラスがEnumSyntaxを拡張し、属性の値がIPP互換の場合、属性のtoStringメソッドは属性値のIPP文字列表現を返します。たとえばJobState属性には「processing-stopped」のような値が返されます。 ただしEnumSyntaxクラスは拡張可能であるため、ベンダー独自の属性値を定義できます。 属性がEnumSyntaxクラスを使用し、これらのベンダー定義の値の1つに設定される場合、toStringメソッドは値のIPP文字列表現を返しません。

印刷クライアント・アプリケーションは、通常javax.print.attribute.standardパッケージのすべての印刷属性クラスを使用する必要はなく、アプリケーション関連のものだけを使用します。

javax.print.attribute.standardパッケージの属性クラスは、2000年9月に制定された、インターネットRFCドキュメントRFC 2911 Internet Printing Protocol/1.1: Model and Semanticsで定義されているInternet Printing Protocol (IPP)属性に基づいています。 詳細は、RFC 2911を参照してください。 各属性クラスの説明は主に上記のドキュメントからの引用です。 これらのドキュメントの作者にこの場を借りて感謝いたします。

属性の構成

印刷属性には、ドキュメント属性、印刷要求属性、印刷ジョブ属性、印刷サービス属性、サポート値属性の5種類があります。

ドキュメント属性

ドキュメント属性は個々のドキュメント、およびそのドキュメントに適用される印刷ジョブ設定を指定します。 ドキュメント属性クラスはDocAttributeインタフェースを実装します。 ドキュメント属性はDocAttributeSetで使用できます。

印刷要求属性

印刷要求属性は、印刷ジョブ全体、およびそのジョブのすべてのドキュメントに適用される設定を指定します。 印刷要求属性クラスはPrintRequestAttributeインタフェースを実装します。 印刷リクエスト属性は、PrintRequestAttributeSetに表示されます。

ドキュメント属性ではあっても印刷要求属性ではない属性があり、このような属性はドキュメント・レベルだけで指定できます。 逆に印刷要求属性ではあってもドキュメント属性ではない属性もあり、このような属性は印刷要求レベルだけで指定できます。 どちらでも指定できる属性もあります。

属性をドキュメント・レベルで指定すると、属性はそのドキュメントだけに適用されます。 印刷要求レベルで指定すると、ジョブ全体、そのジョブに含まれるすべてのドキュメントに適用されます。 両方に指定されている場合、ドキュメント・レベルの属性が印刷要求レベルで同じカテゴリに指定された属性をオーバーライドします。

印刷ジョブ属性

印刷ジョブ属性は印刷ジョブのステータスを通知します。 印刷ジョブ属性クラスは PrintJobAttributeインタフェースを実装します。 印刷ジョブ属性は、PrintJobAttributeSetに表示されます。

印刷要求属性および印刷ジョブ属性のどちらとしても指定可能な属性があります。このような属性を印刷要求に追加すると、それ以降の印刷ジョブの特性を指定できます。これらの属性は印刷ジョブの属性セットにも指定されます。 印刷ジョブ属性ではあっても印刷要求属性ではない属性は、印刷サービス自体によって印刷ジョブの属性セットに追加されます。

印刷サービス属性

印刷サービス属性は印刷サービスのステータスを通知します。 印刷サービス属性クラスはインタフェースPrintServiceAttributeを実装します。 印刷サービス属性はPrintServiceAttributeSetで使用できます。

サポート値属性

サポート値属性は、印刷サービスがサポートしている、別の属性に対する正当な値を示します。 サポート値属性クラスはSupportedValuesAttributeインタフェースを実装します。 ただし、サポートされている値の属性は属性セットには表示されないため、制限されたAttributeSetサブ・インタフェースはありません。

属性テーブル

次の表はすべての印刷属性のリストです。 Attributeインタフェースに加えて、各属性クラスが実装するタグ機能インタフェースも記載され、APIでの各属性の使用方法を示しています。 印刷サービスが、各ドキュメント属性と印刷要求属性の属性カテゴリに対してサポートしている値を示す、サポート値属性クラスがある場合は、SupportedValuesAttribute列に表示されます。
属性クラス ドキュメント
属性
印刷
要求
属性
印刷
ジョブ
属性
印刷
サービス
属性
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参照パラメータ指定は、ドキュメントに意味が明記されている場合を除いては不正であることに注意してください。 これに反する使用は無効なコーディングであり、すぐにまたはあとで実行時の例外が生ずる結果になります。 IllegalArgumentExceptionおよびNullPointerExceptionは、このような場合の典型的で許容できる実行時の例外の事例です。

導入されたバージョン:
1.4