クライアントが、印刷データの書式を判断し、データをプリンタに渡す方法を決定します。 次に、クライアントは、次の形式を表すDocFlavorを作成または取得します:
DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
クライアントは、DocFlavor
を使用して、DocFlavor
で指定された形式を理解でき、クライアントの属性セットで指定された機能を持つプリンタを検索します:
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, aset);
印刷サービスから、クライアントはDocPrintJob
オブジェクトで表される印刷ジョブを作成します:
DocPrintJob printJob = services[0].createPrintJob();
クライアントは、出力するドキュメントを表すDoc
を作成します:
Doc doc = new InputStreamDoc("duke.gif", flavor);
クライアントは、DocPrintJob
オブジェクトのprintメソッドをコールしてドキュメントを出力します:
printJob.print(doc, aset);
クライアントがDoc
オブジェクトをprintメソッドに渡すと、DocPrintJob
オブジェクトはDoc
オブジェクトから印刷データを取得し、クライアントが提供できるDocFlavor
を決定します。 DocFlavor
の表現クラスは、DocPrintJob
がクライアントから一連の文字またはバイトを取得するためのコンジットです。