biz-Streamマニュアル バッチ印刷ガイド 第3章 バッチ印刷アプリケーションの開発の概要 3.3 コーディング方法

3.3 コーディング方法

前述のように、バッチ印刷アプリケーションは、PDFを生成する部分は既存のPDF生成アプリケーションとまったく同じように作成できます。ここではバッチ印刷のコーディングに関して説明するため、biz-Streamライブラリを利用したPDFを生成するユーザアプリケーションがすでにあるものとします。biz-Streamライブラリを利用したPDFを生成するユーザアプリケーションの開発方法およびレイアウトの作成方法に関しては、biz-Streamの各マニュアルをご参照ください。

最も簡単なPDFを生成するユーザアプリケーションは以下のように記述できます。(ここではサーブレットの基本的な処理は省略してあります)
public void makePdf(HttpServletResponse response) {
	ServletOutputStream output = response.getOutputStream();
	PDFEngine pdf = new PDFEngine(output);
	XMLSuper xml = new JaxpXML("${base-dir}/sample/xml/Circle/CircleSample1.xml", pdf);
	xml.parse();
	xml.setPageSize();
	xml.calcDataSize();
	xml.toPDF();
	xml.close();
}
これをバッチ印刷に移行する場合、次の赤行のような変更を加えることになります。(PDF生成エンジンの出力先に指定していた出力ストリームをPDFBatchPrintStreamのインスタンスに変更する)
public void makePdf(HttpServletResponse response) {
	PDFBatchPrintStream batch = new PDFBatchPrintStream("http://server/");    //ポート番号が3000以外の場合は http://server:nnnn/
	PDFEngine pdf = new PDFEngine(batch);
	XMLSuper xml = new JaxpXML("${base-dir}/sample/xml/Circle/CircleSample1.xml", pdf);
	xml.parse();
	xml.setPageSize();
	xml.calcDataSize();
	xml.toPDF();
	xml.close();
}
また、バッチ印刷時のプリンタの制御は、以下のようにPDFBatchPrintStreamのメソッドを呼び出すことで行います。
	PDFBatchPrintStream batch = new PDFBatchPrintStream("http://server/");    //ポート番号が3000以外の場合は http://server:nnnn/
	batch.setPrinterName("Canon LBP3800 LIPSLX");	// プリンタ名
	batch.setNumberOfCopy(1);						// 印刷部数