モジュール 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の属性クラスは、インターネットRFC文書、2000年9月の「RFC 2911インターネット印刷プロトコル/1.1: モデルとセマンティクス」で定義されているインターネット印刷プロトコルの(IPP)属性に基づいています。 詳細は、RFC 2911を参照してください。 各属性クラスの説明は主に上記のドキュメントからの引用です。 これらのドキュメントの作者にこの場を借りて感謝いたします。

属性の構成

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

Doc Attributes

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

Print Request Attributes

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

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

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

Print Job Attributes

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

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

Print Service Attributes

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

Supported-Values Attributes

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

Attribute Table

次の表はすべての印刷属性のリストです。 Attributeインタフェースに加えて、各属性クラスが実装するタグ機能インタフェースも記載され、APIでの各属性の使用方法を示しています。 印刷サービスが、各ドキュメント属性と印刷要求属性の属性カテゴリに対してサポートしている値を示す、サポート値属性クラスがある場合は、SupportedValuesAttribute列に表示されます。
上記のすべての印刷属性を一覧表示
属性クラス 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
ゼロ以上が含まれる
    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