4.2 印刷状態 (個別) 取得処理サンプル (BatchSrv2.java)
概要
このサンプルでは、印刷サーバから指定したジョブの印刷状態を取得します。
サンプル構成
| 項目 | ファイルパス |
|---|---|
| ページレイアウトサンプル |
<biz-Stream_home>/sample/java/Sample1.xml
|
| ソースサンプル |
<biz-Stream_home>/sample/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();
}
}
