4.2 印刷状態 (個別) 取得処理サンプル (BatchSrv2.java)
このサンプルでは、印刷サーバから指定したジョブの印刷状態を取得します。
<biz-Stream_home>/batch_print/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(); } }