4.1 ダイレクト印刷のサンプル(DirectSrv1.java)
このサンプルではサンプル・レイアウト「sample1.xml」をダイレクト印刷しています。
この時、ダイレクト印刷クライアントモジュールとして次の制御を行っています。
この時、ダイレクト印刷クライアントモジュールとして次の制御を行っています。
- 応答をhttp://testsrv/DirectSrv1_1に返します
- 印刷データをc:/Temp/direct.pdf として保存します
- プリンタはRICOH IPSiO NX710に出力します
- 印刷部数は1部のみです
- 出力トレイは自動的に最適なものを選択します

import java.io.IOException; import java.util.Hashtable; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.brainsellers.pdf.print.PDFDirectPrintStream; import com.brainsellers.xml.JaxpXML; import com.brainsellers.xml.common.XMLSuper; import com.brainsellers.xml.page.PDFEngine; public class DirectSrv1 extends HttpServlet { // HTTP Post リクエストの処理 public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { doGet(req, res); } // HTTP Get リクエストの処理 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // インスタンス生成 PDFDirectPrintStream direct = new PDFDirectPrintStream(response); // 印刷応答URL direct.setResponseUrl("http://testsrv/DirectSrv1_1"); // ファイル保存 direct.setSaveFileName("c:/Temp/direct.pdf"); // プリンタ名 direct.setPrinterName("RICOH IPSiO NX710"); // 印刷部数 direct.setNumberOfCopy(1); // 出力トレイ direct.setSelectedTray("AUTO"); // 印刷ジョブ名 direct.setJobName("DirectPrintSample"); // 印刷ダイアログ表示 direct.setPrintDialog(false); // ブラウザのターゲットフレーム名(IEでのみ有効) direct.setTarget("bizPrint"); // sppファイル暗号化パスワード // direct.setPassword("password"); // エンコード済み暗号化パスワード // direct.setPasswordWithEncoded("cGFzc3dvcmQ="); // 用紙に合わせて印刷フラグ direct.setDoFit(true); // 印刷開始ページ direct.setFromPage(1); // 印刷終了ページ direct.setToPage(-1); // PDF埋め込み情報をHashtableにセット Hashtable<String, String> ht = new Hashtable<String, String>(); ht.put("title", "DirectSrv1"); ht.put("company", "ブレインセラーズ・ドットコム株式会社"); ht.put("address", "東京都千代田区九段北XX-XX-XX"); ht.put("phone", "TEL.XX-XXXX-XXXX"); ht.put("fax", "FAX.XX-XXXX-XXXX"); PDFEngine pdf = new PDFEngine(direct); XMLSuper xml = new JaxpXML("${base-dir}/sample/java/Sample1.xml", pdf); // レイアウト情報(XML)の解析を行う xml.parse(); try { // ページサイズの設定を行う xml.setPageSize(); // データのセットおよび座標計算を行った後、PDFを生成する xml.toPDF(ht); } catch (Exception ex) { throw new ServletException(ex); } // PDFの出力を行う xml.close(); } }