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);
}
}
}
