パッケージ 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月のInternet 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は、印刷ジョブが完了(または取り消されたか中断された)した日時を示す印刷属性クラス(日時属性)です。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は、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は、印刷する各ドキュメントのコピーごとにPrinterオブジェクトが使用する印刷ストリーム・ページの範囲を識別する一連の整数である印刷属性クラスです。PagesPerMinute クラスPagesPerMinuteは、このプリンタで生成される可能性のある最も近い整数(simplex、black-and-whiteなど)への1分当たりのわずかなページ数を示す整数値出力属性です。PagesPerMinuteColor クラスPagesPerMinuteColorは、色(simplex、colorなど)の印刷時にこのプリンタによって生成される可能性のある、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は、Copies属性でドキュメントの複数のコピーが指定されている場合に、ジョブ内の各印刷ドキュメントの各コピーのメディア・シートを順番に配置するかどうかを指定する出力属性クラス(列挙)です。Sides クラスSidesは、印刷属性クラス(列挙)で、選択したメディアのインスタンスの側面(インプレッション)に印刷ストリーム・ページをどのように課すかを指定します。