目次 |
前へ |
次へ
DocPrintJob とサービス書式設定済み DocFlavor を使用して、Pageable または Printable オブジェクト内にカプセル化された 2D グラフィックスを印刷またはストリーム配信できます。DocFlavor は、Java オブジェクトなど、あらゆる種類のデータを表現できます。Pageable または Printable インタフェースの実装は、Java オブジェクトです。「
ドキュメントの種類の指定」の章で説明されているように、Java 印刷サービス API には、印刷データのための定義済みの DocFlavor オブジェクト定数が Java オブジェクトの形式で組み込まれています。アプリケーションでは、この種類のデータをサポートする印刷サービスまたはストリーム印刷サービスを検索し、Doc 実装内にオブジェクトをカプセル化して、DocPrintJob 内のサービスに送信できます。「
サービス書式設定済みデータの印刷」のセクションは、データの印刷を示します。「
サービス書式設定済み印刷データのストリーム配信」のセクションは、データのストリーム配信を示します。DocPrintJob を使用して 2D グラフィックスを印刷するアプリケーションにイベントを登録する方法は、DocPrintJob を使用してドキュメントを印刷するアプリケーションにイベントを登録する方法と同じです。詳細は、「
イベントの登録」を参照してください。
サービス書式設定済みデータの印刷
サービス書式設定済みデータを処理できる印刷サービスを検索するには、適切なサービス書式設定済み DocFlavor オブジェクト定数を lookupPrintServices メソッドに渡します。
PrintService []services =
PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE,
null);
印刷アプリケーションが Printable インタフェースを実装します。Doc を作成するには、SimpleDoc を使用します。このとき、this を printData に渡します。つまり、サービス書式設定済み DocFlavor 定数およびオプションの属性セットを DocFlavor に渡します。
Doc doc = new SimpleDoc(this, DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
DocPrintJob を作成し、それをサービスに送信します。
DocPrintJob pj = service[0].createPrintJob();
pj.print(doc);
アプリケーション全体については、「
例: Print2DGraphics.java」を参照してください。
サービス書式設定済み印刷データのストリーム配信
ストリーム印刷サービスを使用すると、Java オブジェクト内にカプセル化された 2D グラフィックスを別の書式にエクスポートできます。次の例では、Printable のグラフィックスを Postscript にエクスポートしています。
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE
StreamPrintServiceFactory []factories =
StreamPrintServiceFactory.lookupStreamPrintServiceFactories(flavor,
"application/postscript"));
if (factories.length == 0) {
System.err.println("No suitable factories");
System.exit(0);
}
try{
FileOutputStream fos = new FileOutputStream("out.ps");
StreamPrintService sps = factories[0].getPrintService(fos);
}
Doc doc = new SimpleDoc(this, flavor, null);
sps.createPrintJob().print(doc);
アプリケーション全体については、「
例: Print2DtoStream.java」を参照してください。
目次 |
前へ |
次へ