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章 サンプルプログラム』で具体的な利用例を示しますので、こちらもご参照ください。