4.3 印刷状態 (全履歴) 取得処理サンプル (BatchSrv3.java)
概要
このサンプルでは、印刷サーバからすべてのジョブの印刷状態を取得します。
サンプル構成
項目 | ファイルパス |
---|---|
ページレイアウトサンプル |
<biz-Stream_home>/sample/java/Sample1.xml
![]() |
ソースサンプル |
<biz-Stream_home>/sample/batch_print/BatchSrv3.java
![]() |
ソースサンプル
赤行は、バッチ印刷のロジックを追加、変更する箇所を示します。
import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; 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 BatchSrv3 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 { try { // 印刷状態を取得するクラスのインスタンス化 PDFBatchStatus status = new PDFBatchStatus("http://server:3000/"); // バッチ印刷のアプリケーションをインストールしたサーバ名を指定する // 取得したジョブIDをすべて照会する status.query(); 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>BatchSrv3</title></head><body><pre>"); String statusResult = status.getResult(); writer.println("RESULT:" + result); // 受付結果 writer.println("ERROR_CODE:" + errorCode); // エラーコード writer.println("ERROR_CAUSE" + errorCause); // エラー原因 writer.println("ERROR_DETAILS:" + errorDetails); // エラー内容 writer.println("</pre>"); // 印刷状態の全履歴取得 for (Iterator iterator = status.getPrintStatus().iterator(); iterator.hasNext();) { // getPrintStatus メソッドは印刷状況全件のイテレータを返す PDFBatchPrintStatus printStatus = (PDFBatchPrintStatus) iterator.next(); String jobID = printStatus.getJobId(); // ジョブID String jobName = printStatus.getJobName(); // ジョブ名 String printerName = printStatus.getPrinterName(); // 出力プリンタ名 String dateTime = printStatus.getDateTime(); // タイムスタンプ String pErrorCode = printStatus.getErrorCode(); // エラーコード String pErrorCause = printStatus.getErrorCause(); // エラー原因 String pErrorDetails = printStatus.getErrorDetails(); // エラー内容 String pStatusCode = printStatus.getStatusCode(); // 印刷状態コード String pStatus = printStatus.getStatus(); // 印刷状態内容 writer.println("<pre>"); writer.println("JOB_ID: " + jobID); // ジョブID 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>"); } writer.println("</body></html>"); } catch (Exception ex) { ex.printStackTrace(); throw new ServletException(ex); } } }