チュートリアル¶
目次
前提条件¶
このチュートリアルでは、 JavaEE開発モデル におけるプログラミングの方法について説明します。このチュートリアルでは、直接印刷機能(利用するAPI は jp.co.iothe.pdfdirectprint パッケージ)のサンプルを作成します。このチュートリアルで作成したプログラムは、C:\temp\sample.pdf ファイルをサンプルデータとして利用しますので、サンプルデータを作成してください。プリンタ名は環境に合わせて指定ください。
用語解説¶
- Resin をインストールしたディレクトリを %RESIN_HOME% と略します。
- Apache HTTP Server をインストールしたディレクトリを %APACHE_HOME% と略します。
- Storage として使用するディレクトリを %PUBLIC_STORAGE_PATH% と略します。
- Webサーバ利用時の静的コンテンツを配置するディレクトリを %WEB_PATH% と略します。
- 直接印刷エンジン をインストールしたディレクトリを %PDFPRINTX% と略します。
環境¶
チュートリアルを学ぶための環境です。このドキュメント内では、ここで示す環境を前提として解説しています。
IM-PDFDirectPrint for Accel Platform 環境¶
サーバには IM-PDFDirectPrint for Accel Platform が正しくインストールされ、APIが正常に動作している状態であることが前提です。サーバは Windows Server 2012 で動作しているものとして説明をします。また、Java はOracle JDK がインストールされているものとします。
サンプルプログラムの場所¶
document/tutorial/DirectPrintSample.jspにサンプルプログラムを用意しておりますので参照してください。
サンプルデータの用意¶
C:\temp\sample.pdf ファイルを用意ください。
JSPプログラムの作成¶
このサンプルでは、JSPから IM-PDFDirectPrint for Accel Platform の 直接印刷機能を呼び出します。テキストエディタを起動して、以下のプログラムを記述します。この時、ファイル名の大文字・小文字は厳密な意味を持ちますので、注意してください。作成した JSPファイルは、以下のフォルダに保存してください。
ファイル名 保存場所 DirectPrintSample.jsp %RESIN_HOME%/webapps/{アプリケーション名}/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.ParseException" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="jp.co.iothe.pdfdirectprint.DirectPrint" %>
<%@ page import="jp.co.iothe.pdfdirectprint.intra_mart.IMDirectPrintFactory" %>
<%@ page import="jp.co.iothe.pdfdirectprint.PaperOrientation" %>
<%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui" %>
<%
// 環境に合ったインスタンスを生成
DirectPrint directPrint = IMDirectPrintFactory.createDirectPrint();
//DirectPrint directPrint = IMDirectPrintFactory.createDirectPrint("http://localhost:8080/pdfdirectprint/webapi/directprint", 60, 600);
// 印刷対象PDFファイル
String fileName = "C:\\temp\\sample.pdf";
String printerName = "PrinterName";
String password = "";
String resultMessage = "";
// 印刷部数
directPrint.setCopies(1); // 部数を指定
// 部単位でまとめて印刷する
directPrint.setCollate(false); // 部単位で印刷しない
directPrint.setCollate(true); // 部単位で印刷する
// 印刷ページ範囲
directPrint.setPrintRange("1,2"); // 1ページ、2ページ
directPrint.setPrintRange("1-5"); // 1ページ目から5ページ目
directPrint.setPrintRange("1-5,10-"); // 1ページ目から5ページ目、10ページ目から最終ページまでを印刷
directPrint.setPrintRange("*"); // 全ページ
// プリンタ名
directPrint.setPrinterName("def"); // デフォルトプリンタ(環境設定で指定されているプリンタ)
directPrint.setPrinterName(printerName); // プリンタ指定
// 用紙サイズ
directPrint.setPaperSize("A2"); // A2 : A2 420×594mm
directPrint.setPaperSize("A3"); // A3 : A3 297×420mm
directPrint.setPaperSize("A4"); // A4 : A4 210×297mm
directPrint.setPaperSize("A5"); // A5 : A5 148×210mm
directPrint.setPaperSize("A6"); // A6 : A6 105×148mm
directPrint.setPaperSize("B4"); // B4 : B4 257×364mm
directPrint.setPaperSize("B5"); // B5 : B5 182×257mm
directPrint.setPaperSize("legal"); // legal : リーガル 8 1/2×14インチ
directPrint.setPaperSize("letter"); // letter : レター 8 1/2×11インチ
directPrint.setPaperSize("def"); // def : 印刷するPDFファイルの用紙サイズ
// 用紙の向き
directPrint.setPaperOrientation(PaperOrientation.Landscape); // 横向き
directPrint.setPaperOrientation(PaperOrientation.Portrait); // 縦向き
directPrint.setPaperOrientation(PaperOrientation.Default); // 自動(PDFに合わせる)
// 縮尺率
directPrint.setScale("50"); // 50%
directPrint.setScale("100"); // 100%
directPrint.setScale("def"); // 用紙に合わせる
// 画像変換する
directPrint.setImage(false); // PDFファイルのまま印刷
directPrint.setImage(true); // 画像に変換してから印刷
// 中央配置する
directPrint.setCenter(false); // 用紙の端に配置
directPrint.setCenter(true); // 用紙の中央に配置
// 印刷処理実行
int ret = directPrint.print(fileName, password);
if(ret != 0) {
Exception e = directPrint.getException();
if(e != null) {
resultMessage = e.getMessage();
}
}
else{
resultMessage = "Success !!";
}
%>
<imui:head>
<title>IM-PDFDirectPrint-チュートリアル-JavaEE開発モデル-DirectPrint</title>
</imui:head>
<div class="imui-title">
<h1>IM-PDFDirectPrint チュートリアル JavaEE開発モデル DirectPrint</h1>
</div>
<div class="imui-form-container">
<div class="imui-chapter-title"><h2>実行結果</h2></div>
<form>
<table class="imui-table">
<tbody>
<tr>
<th class="wd-225px">出力PDFファイル</th>
<td><%= fileName %></td>
</tr>
<tr>
<th class="wd-225px">プリンター</th>
<td><%= printerName %></td>
</tr>
<tr>
<th class="wd-225px">戻り値</th>
<td><%= ret %></td>
</tr>
<tr>
<th class="wd-225px">メッセージ</th>
<td><%= resultMessage %></td>
</tr>
</tbody>
</table>
</form>
</div>
|
コラム
プリンタ名は環境に合わせて指定ください。
プログラム実行¶
プログラム実行¶
メニューで『DirectPrintSample』を選択してください。作成したJSPファイルが実行されます。JSP の実行エラー(コンパイルエラー)になってしまった場合には、エラーメッセージの内容に従いJSP プログラムを修正してください。JSP プログラムが正しく動作しているにも関わらず実行時エラーになってしまう場合は、エラーの内容にしたがって環境を正しく構築してください(環境を変更した場合は、サーバの再起動が必要になる場合があります)。
コラム
PDFファイルを画像に変換してから印刷する機能(setImage)は、特殊な図面やプリンタ向けの機能です。通常は設定不要です。