目次||

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

Java印刷サービスAPIを使用する標準的なアプリケーションは、印刷要求を処理するためにこれらのステップを実行します。
  1. 適切なDocFlavorを取得します。これは、印刷データの形式を定義するクラスです。
  2. AttributeSetを作成して移入します。これは、必要な印刷サービス機能(5つのコピーを印刷する機能、プル機能、両面印刷機能など)を説明する一連の属性をカプセル化します。
  3. DocFlavorおよび属性セットで指定された印刷リクエストを処理できる印刷サービスをルックアップします。
  4. 印刷サービスから印刷ジョブを作成します。
  5. 印刷ジョブの印刷メソッドを呼び出します。
アプリケーションは、印刷する対象および方法に応じてこれらのステップを実行します。 印刷データは、プリンタまたは出力ストリームに送信できます。 印刷データは、テキストまたはイメージ形式のドキュメント、または2Dグラフィックをカプセル化するJavaオブジェクトです。 印刷データが2Dグラフィックの場合、印刷ジョブはDocPrintJobまたはPrinterJobのいずれかで表すことができます。 印刷データがドキュメントの場合は、DocPrintJobを使用する必要があります。

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

「属性」の章および「ドキュメントの種類の指定」の章では、これらの任意の印刷メカニズムで使用するために属性セットを作成し、ドキュメントの種類を指定する方法について説明します。 文書の印刷およびストリーミングの章では、DocPrintJobを使用したドキュメントの印刷およびストリーミングについて説明します。 2Dグラフィックの印刷およびストリーミングの章では、DocPrintJobPrinterJobの両方を使用した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つの印刷方法のいずれかのみを示していますが、ほかの印刷メカニズムも同様の方法で機能します。 このガイドの残りの部分では、各印刷処理およびすべての印刷メカニズムについて詳細に説明します。



目次||

Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved.