3.3 コーディング方法
前述のように、バッチ印刷アプリケーションは、PDFを生成する部分は既存のPDF生成アプリケーションとまったく同じように作成できます。ここではバッチ印刷のコーディングに関して説明するため、biz-Streamライブラリを利用したPDFを生成するユーザアプリケーションがすでにあるものとします。biz-Streamライブラリを利用したPDFを生成するユーザアプリケーションの開発方法およびレイアウトの作成方法に関しては、biz-Streamの各マニュアルをご参照ください。
最も簡単なPDFを生成するユーザアプリケーションは以下のように記述できます。(ここではサーブレットの基本的な処理は省略してあります)
これをバッチ印刷に移行する場合、次の赤行のような変更を加えることになります。(PDF生成エンジンの出力先に指定していた出力ストリームをPDFBatchPrintStreamのインスタンスに変更する)
また、バッチ印刷時のプリンタの制御は、以下のようにPDFBatchPrintStreamのメソッドを呼び出すことで行います。
最も簡単な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();
}
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 batch = new PDFBatchPrintStream("http://server/"); //ポート番号が3000以外の場合は http://server:nnnn/
batch.setPrinterName("Canon LBP3800 LIPSLX"); // プリンタ名
batch.setNumberOfCopy(1); // 印刷部数
- PDFBatchPrintStreamのインターフェイスに関しては『3.4 アプリケーション・インターフェイス』に詳細に記述しています。また、『第4章 サンプルプログラム』で具体的な利用例を示しますので、こちらもご参照ください。
