biz-Streamマニュアルバッチ印刷ガイド第4章 サンプルプログラム4.2 印刷状態 (個別) 取得処理サンプル (BatchSrv2.java)

4.2 印刷状態 (個別) 取得処理サンプル (BatchSrv2.java)

このサンプルでは、印刷サーバから指定したジョブの印刷状態を取得します。
<biz-Stream_home>/batch_print/BatchSrv2.java BatchSrv2.java
赤行は、バッチ印刷のロジックを追加、変更する箇所を示します。

import java.io.IOException;
import java.io.PrintWriter;

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

import com.brainsellers.pdf.print.PDFBatchPrintStatus;
import com.brainsellers.pdf.print.PDFBatchStatus;

public class BatchSrv2 extends HttpServlet {
	// HTTP Post リクエストの処理
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		doGet(request, response);
	}

	// HTTP Get リクエストの処理
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String jobID = request.getParameter("jobID"); // ジョブID 取得
		// 印刷状態を取得するクラスのインスタンス化
		PDFBatchStatus status = new PDFBatchStatus("http://server:3000"); // バッチ印刷のアプリケーションをインストールしたサーバ名を指定する
		// 取得したジョブIDを指定して照会する
		status.query(jobID);

		String result = status.getResult();
		String errorCode = status.getErrorCode();
		String errorCause = status.getErrorCause();
		String errorDetails = status.getErrorDetails();

		// ブラウザに結果を表示
		response.setContentType("text/html; charset=UTF-8");
		PrintWriter writer = response.getWriter();
		writer.println("<html><head><title>BatchSrv2</title></head><body><pre>");
		writer.println("RESULT:			" + result);
		writer.println("ERROR_CODE:		" + errorCode);
		writer.println("ERROR_CAUSE:	" + errorCause);
		writer.println("ERROR_DETAILS:	" + errorDetails);
		writer.println("</pre><pre>");

		// 印刷ジョブの印刷状態の結果を格納するクラスのインスタンス化
		PDFBatchPrintStatus printStatus = status.getPrintStatus(jobID);
		String jobName = printStatus.getJobName();
		String printerName = printStatus.getJobName();
		String dateTime = printStatus.getDateTime();
		String pErrorCode = printStatus.getErrorCode();
		String pErrorCause = printStatus.getErrorCause();
		String pErrorDetails = printStatus.getErrorDetails();
		String pStatusCode = printStatus.getStatusCode();
		String pStatus = printStatus.getStatus();

		// ジョブID が指定された場合表示する
		if (printStatus != null) {
			writer.println("JOB_NAME:		" + jobName);
			writer.println("PRINTER_NAME:	" + printerName);
			writer.println("DATETIME:		" + dateTime);
			writer.println("ERROR_CODE:		" + pErrorCode);
			writer.println("ERROR_CAUSE:	" + pErrorCause);
			writer.println("ERROR_DETAILS:	" + pErrorDetails);
			writer.println("STATUS_CODE:	" + pStatusCode);
			writer.println("STATUS:			" + pStatus);
		}
		writer.println("</pre></body></html>");
		writer.close();
	}
}