パッケージ javax.print.attribute.standard
属性は印刷サービスが提供可能な印刷機能を表します。 印刷サービスがすべての属性をサポートする保証はありません。 サポートされる属性の値についても、そのすべてをサポートする保証はありません。
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列に表示されます。注: javax.print APIでは、メソッドへのnull参照パラメータ指定は、ドキュメントに意味が明記されている場合を除いては不正であることに注意してください。 これに反する使用は無効なコーディングであり、すぐにまたはあとで実行時の例外が生ずる結果になります。 IllegalArgumentExceptionおよびNullPointerExceptionは、このような場合の典型的で許容できる実行時の例外の事例です。
- 導入されたバージョン:
- 1.4
-
クラスのサマリー クラス 説明 Chromaticity Chromaticityクラスは、モノクロまたはカラー・プリントを指定する列挙型の印刷属性クラスです。ColorSupported ColorSupportedクラスは、デバイスがフル・プロセス・カラーとハイライト・カラーを含む、あらゆる種類のカラー・プリントが可能かどうかを識別する列挙型の印刷属性クラスです。Compression Compressionクラスは、印刷データの圧縮方法を指定する列挙型の印刷属性クラスです。Copies Copiesクラスは、印刷する部数を指定する整数型の値の印刷属性クラスです。CopiesSupported クラスCopiesSupportedは、Copies
属性のサポートされる値を与える印刷属性クラス(整数のセット)です。DateTimeAtCompleted DateTimeAtCompletedクラスは、Print Jobが完了したか、または取消し、中断された日付と時刻を表示する日付と時刻属性の印刷属性クラスです。DateTimeAtCreation DateTimeAtCreationクラスは、Print Jobが生成された日付と時刻を表示する日付と時刻属性の印刷属性クラスです。DateTimeAtProcessing DateTimeAtProcessingクラスは、Print Jobが最初に処理を開始した日付と時刻を表示する日付と時刻属性の印刷属性クラスです。Destination Destinationクラスは、スプールされたプリンタ形式のデータの代替出力先を示すために使用するURI印刷属性クラスです。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は、印刷サービス・インスタンスがJobPriority
属性をサポートしているかどうかを指定し、サポートされている印刷順位レベル数を指定する、整数値の印刷属性クラスです。JobSheets JobSheetsは、ジョブの開始時と終了時に印刷するシートがある場合に、そのうちのどれを使用するかを列挙して決定する印刷属性クラスです。JobState JobStateは印刷ジョブの現在の状態を識別して列挙する印刷属性クラスです。JobStateReason JobStateReasonはジョブの現在の状態についての追加情報、つまりジョブのJobState
属性をよりわかりやすくする情報を値の列挙として提供する印刷属性クラスです。JobStateReasons JobStateReasonsはジョブの現在の状態についての追加情報、つまりジョブのJobState
属性をよりわかりやすくする情報を列挙値のセットとして提供する印刷属性クラスです。Media Mediaは印刷する媒体を指定する印刷属性クラスです。MediaName MediaNameクラスはMediaのサブクラスであり、印刷ジョブで使用する媒体名を列挙して指定する印刷属性クラスです。MediaPrintableArea MediaPrintableAreaは媒体の印刷可能領域と印刷不可能領域を区別する印刷属性です。MediaSize MediaSizeは縦長に置いた場合の媒体の寸法を2次元のサイズ値として示す印刷属性クラスです。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は、仕上げ処理、および1つ以上の出力ストリーム・ページの印刷データと用紙上での配置方法を制御する値を列挙して示す印刷属性クラスです。NumberOfDocuments NumberOfDocumentsはプリンタがこのジョブに対して受信したドキュメントの数を示す整数値の印刷属性クラスです。ドキュメントの印刷データが実際にプリンタに届いているかどうかは考慮しません。NumberOfInterveningJobs NumberOfInterveningJobsは、完了予定時間の昇順、つまり現在スケジュールされている順序でジョブを並べた場合に、このジョブの前にあるジョブの数を整数値で示す印刷属性クラスです。NumberUp NumberUpは、選択された媒体の片面に印刷する出力ストリームのページ数を整数で表す印刷属性クラスです。NumberUpSupported クラスNumberUpSupportedは、NumberUp
属性のサポートされる値を与える印刷属性クラス(整数のセット)です。OrientationRequested OrientationRequestedは、印刷される出力ストリーム・ページの方向を値の列挙で示す印刷属性クラスです。クライアントが指定する出力ストリームの方向は記述しません。OutputDeviceAssigned OutputDeviceAssignedは、サービスがこのジョブを割り当てた出力デバイスを識別する、テキスト属性の印刷属性クラスです。PageRanges PageRangesは、プリンタ・オブジェクトが印刷する各ドキュメントに使用する、出力ストリームの範囲を整数値のセットで表す印刷属性クラスです。PagesPerMinute PagesPerMinuteは、このプリンタ(シンプレックス・モノクロ・プリンタなど)が1分間に生成できるページ数をもっとも近い整数値で表す印刷属性クラスです。PagesPerMinuteColor PagesPerMinuteColorは、このプリンタ(シンプレックス・カラー・プリンタなど)が1分間に生成できるカラー・ページ数をもっとも近い整数値で表す印刷属性クラスです。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は、ドキュメントを2部以上印刷することがCopies
属性で指定されている場合、そのジョブの印刷ドキュメントを部単位で印刷するかどうかを列挙して指定する印刷属性クラスです。Sides Sidesは、選択された媒体の各面への、出力ストリーム・ページの配置方法、つまり印刷データの生成方法を値の列挙で指定する印刷属性クラスです。