チュートリアル¶
目次
前提条件¶
このチュートリアルでは、 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% と略します。s PDFれびゅーOCX をインストールしたディレクトリを %PDFPRINTX% と略します。
環境¶
チュートリアルを学ぶための環境です。このドキュメント内では、ここで示す環境を前提として解説しています。
IM-PDFDirectPrint for Accel Platform 環境¶
サーバには IM-PDFDirectPrint for Accel Platform が正しくインストールされ、APIが正常に動作している状態であることが前提となります。サーバは WindowsServer2008 R2 で動作しているものとして説明をします。また、Java はOracle JDK がインストールされているものとします。
サンプルプログラムの場所¶
document/tutorial/DirectPrintSample.jspにサンプルプログラムを用意しておりますのでご覧ください。
サンプルデータの用意¶
C:\temp\sample.pdf ファイルを用意ください。
JSPプログラムの作成¶
このサンプルでは、JSPから IM-PDFDirectPrint for Accel Platform の 直接印刷機能を呼び出します。テキストエディタを起動して、以下のプログラムを記述します。この時、ファイル名の大文字・小文字は厳密な意味を持ちますので、注意して下さい。作成した JSPファイルは、以下のフォルダに保存してください。
ファイル名 保存場所 DirectPrintSample.jsp %RESIN_HOME%/webapps/{アプリケーション名}/
<%@ 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" %>
<%
// 環境に合ったインスタンスを生成
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(true);
// 印刷ページ範囲
directPrint.setPrintRange("*");
// プリンタ名
//directPrint.setPrinterName("def");
directPrint.setPrinterName(printerName);
// 用紙サイズ
directPrint.setPaperSize("def");
// 用紙の向き
directPrint.setPaperOrientation(PaperOrientation.Default);
// 縮尺率
directPrint.setScale("def");
// 画像変換する
directPrint.setImage(true);
// 中央配置する
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 !!";
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 //EN">
<HTML>
<HEAD>
<TITLE>My sample</TITLE>
</HEAD>
<BODY bgcolor="WhiteSmoke">
<DIV align="center" style="center; padding-top: 25px;">
<P><FONT size="+2">Sample(IM-PDFDirectPrint)</FONT></P>
<CENTER>
<TABLE border="1">
<TR>
<TH align="right" style="padding: 5px 10px;" nowrap>PDF File</TH>
<TD align="left" style="padding: 5px 10px;" nowrap><%= fileName %></TD>
</TR>
<TR>
<TH align="right" style="padding: 5px 10px;" nowrap>Printer</TH>
<TD align="left" style="padding: 5px 10px;" nowrap><%= printerName %></TD>
</TR>
<TR>
<TH align="right" style="padding: 5px 10px;" nowrap>Result Code</TH>
<TD align="left" style="padding: 5px 10px;" nowrap><%= ret %></TD>
</TR>
<TR>
<TH align="right" style="padding: 5px 10px;" nowrap>Message</TH>
<TD align="left" style="padding: 5px 10px;" nowrap><%= resultMessage %></TD>
</TR>
</TABLE>
</CENTER>
</DIV>
</BODY>
<HTML>
コラム
プリンタ名は環境に合わせて指定ください。