biz-Streamマニュアルダイレクト印刷ガイド第4章 サンプルプログラム4.1 ダイレクト印刷のサンプル(DirectSrv1.java)

4.1 ダイレクト印刷のサンプル(DirectSrv1.java)

このサンプルではサンプル・レイアウト「sample1.xml」をダイレクト印刷しています。
この時、ダイレクト印刷クライアントモジュールとして次の制御を行っています。

  1. 応答をhttp://testsrv/DirectSrv1_1に返します
  2. 印刷データをc:/Temp/direct.pdf として保存します
  3. プリンタはRICOH IPSiO NX710に出力します
  4. 印刷部数は1部のみです
  5. 出力トレイは自動的に最適なものを選択します
<biz-Stream_home>/direct_print/DirectSrv1.java DirectSrv1.java
import java.io.IOException;
import java.util.Hashtable;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.brainsellers.pdf.print.PDFDirectPrintStream;
import com.brainsellers.xml.JaxpXML;
import com.brainsellers.xml.common.XMLSuper;
import com.brainsellers.xml.page.PDFEngine;

public class DirectSrv1 extends HttpServlet {

	// HTTP Post リクエストの処理
	public void doPost(HttpServletRequest req, HttpServletResponse res)
			throws IOException, ServletException {
		doGet(req, res);
	}

	// HTTP Get リクエストの処理
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		// インスタンス生成
		PDFDirectPrintStream direct = new PDFDirectPrintStream(response);

		// 印刷応答URL
		direct.setResponseUrl("http://testsrv/DirectSrv1_1");

		// ファイル保存
		direct.setSaveFileName("c:/Temp/direct.pdf");

		// プリンタ名
		direct.setPrinterName("RICOH IPSiO NX710");

		// 印刷部数
		direct.setNumberOfCopy(1);

		// 出力トレイ
		direct.setSelectedTray("AUTO");

		// 印刷ジョブ名
		direct.setJobName("DirectPrintSample");

		// 印刷ダイアログ表示
		direct.setPrintDialog(false);

		// ブラウザのターゲットフレーム名(IEでのみ有効)
		direct.setTarget("bizPrint");

		// sppファイル暗号化パスワード
//		direct.setPassword("password");

		// エンコード済み暗号化パスワード
//		direct.setPasswordWithEncoded("cGFzc3dvcmQ=");

		// 用紙に合わせて印刷フラグ
		direct.setDoFit(true);

		// 印刷開始ページ
		direct.setFromPage(1);

		// 印刷終了ページ
		direct.setToPage(-1);

		// PDF埋め込み情報をHashtableにセット
		Hashtable<String, String> ht = new Hashtable<String, String>();
		ht.put("title", "DirectSrv1");
		ht.put("company", "ブレインセラーズ・ドットコム株式会社");
		ht.put("address", "東京都千代田区九段北XX-XX-XX");
		ht.put("phone", "TEL.XX-XXXX-XXXX");
		ht.put("fax", "FAX.XX-XXXX-XXXX");

		PDFEngine pdf = new PDFEngine(direct);
		XMLSuper xml = new JaxpXML("${base-dir}/sample/java/Sample1.xml", pdf);

		// レイアウト情報(XML)の解析を行う
		xml.parse();

		try {
			// ページサイズの設定を行う
			xml.setPageSize();
			// データのセットおよび座標計算を行った後、PDFを生成する
			xml.toPDF(ht);
		} catch (Exception ex) {
			throw new ServletException(ex);
		}
		// PDFの出力を行う
		xml.close();
	}
}