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


印刷ジョブの送信

Doc および DocPrintJob を作成したら、DocPrintJob オブジェクトの印刷メソッドを呼び出し、ドキュメントを印刷サービスに送信します。「印刷ジョブのプリンタへの送信」では、印刷の例を示します。「印刷ジョブのストリームへの送信」では、ストリーム配信の例を示します。


印刷ジョブのプリンタへの送信

ここでは、この章で説明した印刷アプリケーションを完了します。この例では、PostScript ドキュメントを A4 用紙に 5 部両面印刷し、ステープル処理します。

	DocFlavor psFlavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
	PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
	aset.add(new Copies(2));
	aset.add(MediaSizeName.ISO_A4);
	aset.add(Sides.TWO_SIDED_LONG_EDGE);
	aset.add(Finishings.STAPLE);
	PrintService[] pservices = PrintServiceLookup.lookupPrintServices(psFlavor,
							aset);
	if (services.length > 0) {
		DocPrintJob pj = pservices[0].createPrintJob();
		try {
			FileInputStream fis = new FileInputStream("example.ps");
			Doc doc = new SimpleDoc(fis, psFlavor, null);
			pj.print(doc, aset);
		} catch (IOException e) {
			System.err.println(e);
		} catch (PrintException e) {
			System.err.println(e);
		}
	}
アプリケーション全体については、「例: PrintPS.java」を参照してください。


印刷ジョブのストリームへの送信

ここでは、この章で説明したストリーム配信の例を完了します。この例では、GIF ドキュメントを PostScript ドキュメントに変換し、指定した印刷属性を PostScript ドキュメントに埋め込みます。

	DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF;
	String psMimeType = DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType();
	PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
	aset.add(new Copies(2));
	aset.add(MediaSizeName.ISO_A4);
	aset.add(Sides.TWO_SIDED_LONG_EDGE);
	aset.add(Finishings.STAPLE);
	StreamPrintServiceFactory[] factories =
		StreamPrintServiceFactory.lookupStreamPrintServiceFactories(
				flavor, psMimeType);
	if(factories.length==0) {
		System.err.println("No suitable factories");
		System.exit(0);
	}
	try {
		FileInputStream fis = new FileInputStream("java2dlogo.gif");
		String filename = "newfile.ps";
		FileOutputStream fos = new FileOutputSteam(filename);
		StreamPrintService sps= factories[0].getPrintService(fos);
		DocPrintJob pj = sps.createPrintJob();
		Doc doc = new SimpleDoc(fos, psFlavor, aset);
		pj.print(doc, aset);
	} catch (IOException e) {
		System.err.println(e);
	} catch (PrintException e) {
		System.err.println(e);
	}
}
アプリケーション全体については、「例: PrintGIFtoStream.java」を参照してください。



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