目次 | 前の項目 | 次の項目 JavaTM 印刷サービス API ユーザガイド


アプリケーションから Java 印刷サービスを使用する方法

標準的なアプリケーションから Java 印刷サービス API を使用するときは、以下の手順で印刷要求を処理します。

  1. 適切な DocFlavor を取得します。DocFlavor は、印刷データの書式を定義するクラスです。
  2. AttributeSet を作成します。AttributeSet には、目的の印刷サービス機能を定義した一連の属性セットがカプセル化されます。たとえば、ステープル止めおよび両面印刷で 5 部印刷する機能などがカプセル化されます。
  3. DocFlavor と属性セットに指定された印刷要求を処理できる印刷サービスを検索します。
  4. 印刷サービスから印刷ジョブを作成します。
  5. 印刷ジョブの印刷メソッドを呼び出します。
アプリケーションは、印刷する対象および方法に応じて手順を実行します。印刷データは、プリンタまたは出力ストリームに送信できます。印刷データの書式は、テキストまたはイメージ以外に、2D グラフィックスをカプセル化した Java オブジェクトでもかまいません。印刷データが 2D グラフィックスの場合は、印刷ジョブは DocPrintJob または PrinterJob を使用して表現できます。印刷データがドキュメントの場合は、DocPrintJob を使用する必要があります。

印刷メソッドと印刷データ書式の組み合わせによって、次の 6 つの印刷方法を選択できます。

「属性」の章と「ドキュメントの種類の指定」では、これらの印刷方法を使用するために、属性セットを作成してドキュメントの種類を指定する方法を説明します。「ドキュメントの印刷とストリーム配信」では、DocPrintJob を使用してドキュメントを印刷およびストリーム配信する方法を説明します。「グラフィックスの印刷とストリーム配信」では、DocPrintJob および PrinterJob を使用して 2D グラフィックスを印刷およびストリーム配信する方法を説明します。


基本的な例

Java 印刷サービス API を使用するアプリケーションでは、ほとんどの場合、ドキュメントをプリンタに直接送信します。以下のコード例でその方法を示します。

// Input the file
FileInputStream textStream; 
try { 
	textstream = new FileInputStream("file.TXT"); 
} catch (FileNotFoundException ffne) { 
} 
if (textstream == null) { 
	return; 
} 
// Set the document type
DocFlavor myFormat = DocFlavor.INPUT_STREAM.TEXT_PLAIN_ASCII;
// Create a Doc
Doc myDoc = new SimpleDoc(texttream, myFormat, null); 
// Build a set of attributes
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
aset.add(new Copies(5)); 
aset.add(MediaSize.ISO_A4);
aset.add(Sides.DUPLEX); 
// discover the printers that can print the format according to the
// instructions in the attribute set
PrintService[] services =
	PrintServiceLookup.lookupPrintServices(myFormat, aset);
// Create a print job from one of the print services
if (services.length > 0) { 
	DocPrintJob job = services[0].createPrintJob(); 
	try { 
		job.print(myDoc, aset); 
	} catch (PrintException pe) {} 
} 
この例では、6 種類の印刷方法の 1 つだけを示していますが、ほかの印刷方法も同様に機能します。このガイドの残りの部分では、各印刷処理およびすべての印刷方法について詳細に説明します。



目次 | 前の項目 | 次の項目
Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.