EUR Web Plug-Inを使用してWebブラウザから帳票を出力する方法を,ActiveXクライアント印刷といいます。クライアントPCのWebブラウザから,Webサーバにアクセスして印刷データ(EPF形式ファイル)をダウンロードすると,クライアントPCのEUR Web Plug-Inによって帳票が出力されます。
EUR Web Plug-Inを使用して帳票を出力する流れを,次の図に示します。
図3-8 EUR Web Plug-Inを使用して帳票を出力する流れ(ActiveXクライアント印刷)
帳票をダウンロードするWebページに,ダウンロードで使用するEUR Web Plug-Inのパラメタを<object>タグを使用して記述します。<object>タグの記述内容は,EUR Web Plug-Inのインストール方法によって異なります。<object>タグの記述内容については,マニュアル「EUR 帳票出力 リファレンス EUR Server編」を参照してください。
プリンタの指定方法 | EUR Web Plug-Inの設定項目 | 指定する値 | |
---|---|---|---|
印刷するプリンタとトレイを指定する※1 | OS上のプリンタ名 | PrinterNameパラメタ | プリンタ名(80バイト以内の文字列) |
OS上のプリンタのトレイ名 | TrayNameパラメタ | トレイ名(80バイト以内の文字列) | |
通常使うプリンタを指定する※2 | NoSetPrinterDlgパラメタ | YES(通常使うプリンタを指定する) NO(通常使うプリンタを指定しない) | |
ダイアログでプリンタを選択する | 表示するダイアログ | DefaultPrintDlgパラメタ | YES(OSの印刷ダイアログを表示する) NO(EUR Web Plug-Inの[印刷先指定]ダイアログ※3を表示する) |
初期表示するプリンタ名の表示モード | SelectDisplayPrinterパラメタ,SelectDisplayPrinterプロパティ | 0(標準モード) 1(通常使うプリンタ初期表示モード) |
EUR Web Plug-InのExclusionPrinterNameプロパティ,ExclusionPrinterDriverプロパティ,PermissionPrinterNameプロパティ,およびPermissionPrinterDriverプロパティの詳細については,マニュアル「EUR 帳票出力 リファレンス EUR Server編」を参照してください。
帳票出力で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。
また,出力時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。
帳票ファイルの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
帳票ファイルの名前 | ActiveX起動部品:ReportFileNameプロパティ Java起動部品:setReportFileNameメソッド COBOL起動部品:REPORTNAMEパラメタ コマンド起動部品:/rfオプション | 帳票ファイル名(255バイト以内の文字列) |
EPF形式ファイルの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
EPF形式ファイル名 | ActiveX起動部品:EPFFileNameプロパティ Java起動部品:setEPFFileNameメソッド COBOL起動部品:EPFFILENAMEパラメタ コマンド起動部品:/epfnオプション | EPF形式ファイル名(255バイト以内の文字列) |
ユーザデータファイルの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
マッピングデータファイルの名前 | ActiveX起動部品:DataFileNameプロパティ Java起動部品:setDataFileNameメソッド COBOL起動部品:MAPPINGDATAパラメタ コマンド起動部品:/mapオプション | マッピングデータファイル名(255バイト以内の文字列) |
次の表に示すように,出力時のEUR Web Plug-Inのパラメタの指定内容によって,出力結果が異なります。
表3-3 出力時のEUR Web Plug-Inのパラメタの指定内容と出力結果
出力時のEUR Web Plug-Inのパラメタの指定内容 | 出力結果 | ||||
---|---|---|---|---|---|
プリンタ(PrinterNameパラメタ) | トレイ(TrayNameパラメタ) | プリンタ選択ダイアログの表示(NoSetPrinterDlgパラメタ) | プリンタ選択ダイアログの種類 (DefaultPrintDlgパラメタ) | プリンタ選択ダイアログに初期表示するプリンタ名の表示モード(SelectDisplayPrinterパラメタ,SelectDisplayPrinterプロパティ) | |
○ | ○ | - | - | - | 指定されたプリンタとトレイで自動出力されます。 |
× | - | - | - | 指定したプリンタと指定したプリンタの標準のトレイで自動出力されます。 | |
× | - | YES(通常使うプリンタを指定する) | - | - | クライアントPCの「通常使うプリンタ」で自動出力されます。※1 |
NO(通常使うプリンタを指定しない) | YES(OSの印刷ダイアログを表示する) | 0(標準モード) | OSの印刷ダイアログが表示されます。 次に示すプリンタ名が初期表示されます。
| ||
1(通常使うプリンタ初期表示モード) | OSの印刷ダイアログが表示されます。 次に示すプリンタ名が初期表示されます。
| ||||
NO(EUR Web Plug-Inの[印刷先指定]ダイアログを表示する) | 0(標準モード) | [印刷先指定]ダイアログが表示されます。 次に示すプリンタ名が初期表示されます。
| |||
1(通常使うプリンタ初期表示モード) | [印刷先指定]ダイアログが表示されます。 次に示すプリンタ名が初期表示されます。※5
|
[印刷先指定]ダイアログの[OK]ボタンをクリックすると,指定したプリンタのトレイで帳票が出力されます。指定したプリンタとトレイがクライアントPCにない場合は,エラーとなります。
クライアントPCにユーザ単位インストール用とマシン単位インストール用のどちらかのダウンロードパッケージを配置して,最新のEUR Web Plug-Inを自動でインストールして帳票を出力します。
|
コーディング例を次に示します。
<%@ LANGUAGE="VBScript" %>
<HTML>
<HEAD>
<META http-equiv="Content-Type"
content="text/html;charset=Shift_JIS">
<TITLE>
EUR-CLP-AX ASP Sample
</TITLE>
<%
'Webサーバの処理
Dim objEURPM
'EURPMオブジェクト生成
Set objEURPM=Server.CreateObject("EURPM.Exec")
Dim strVersion
'EUR-CLP-AXのバージョン取得
strVersion = objEURPM.GetPrintAXVersion()
Dim strClassID
'EUR-CLP-AXのクラスID取得
strClassID = objEURPM.GetPrintAXClassID()
%>
</HEAD>
<BODY>
<Script LANGUAGE="vbScript">
<!--
'ダウンロードパッケージの格納場所の設定
Dim CabPath
CabPath = "http://xxx.xxx.xxx.xxx/cab/EURPMPrintAX.cab"
'OBJECTタグの生成
document.Write("<object")
'Webサーバで取得したクラスIDを指定
document.Write(" classid=clsid:<%=strClassID%>")
'CAB形式ファイルのパスおよびWebサーバで取得したバージョンを指定
document.Write(" codebase=" & CabPath & "#version=<%=strVersion%>")
document.Write(" ID=EURPMPRINTAX")
document.Write(" type=application/x-oleobject>")
document.Write("<BR>")
document.Write("<param name=EPFFileURL value=http://xxx.xxx.xxx/File/EPF/sample.epf>")
document.Write("<BR>")
document.Write("<param name=LogLevel value=16>")
document.Write("<BR>")
document.Write("</object>")
document.Write("<BR>")
-->
</Script>
</BODY>
</HTML>
<%@ page import="JP.co.Hitachi.soft.EURPM.*" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<jsp:useBean id="adapter" class="JP.co.Hitachi.soft.EURPM.EURPMAdapterForJava" scope="session" />
<HTML>
<HEAD>
<TITLE>
EUR-CLP-AX JSP Sample
</TITLE>
<%
//EUR-CLP-AXのバージョン取得
String strVersion = adapter.getPrintAXVersion();
//EUR-CLP-AXのクラスID取得
String strClassID = adapter.getPrintAXClassID();
%>
</HEAD>
<BODY>
<Script LANGUAGE="javascript">
<!--
//ダウンロードパッケージの格納場所の設定
var CABPath; // CAB形式ファイルの格納場所
CabPath = "http://xxx.xxx.xxx.xxx/cab/EURPMPrintAX.cab";
//OBJECTタグの記述
document.write("<object");
//Webサーバで取得したクラスIDを指定
document.write(" classid=clsid:<%=strClassID%>");
//CAB形式ファイルのパスおよびWebサーバで取得したバージョンを指定
document.write(" codebase=" + CabPath + "#version=<%=strVersion%>");
document.write(" ID=EURPMPRINTAX");
document.write(" type=application/x-oleobject>");
document.write("<BR>");
document.write("<param name=EPFFileURL value=http://xxx.xxx.xxx/File/EPF/sample.epf>");
document.write("<BR>");
document.write("<param name=LogLevel value=16>");
document.write("<BR>");
document.write("</object>");
document.write("<BR>");
-->
</Script>
</BODY>
</HTML>
同一システム内のクライアント環境が,ユーザ単位インストールが可能な環境と,それ以外の環境(マシン単位インストールが可能な環境)が混在している場合に,クライアントPCにユーザ単位インストール用とマシン単位インストール用の両方のダウンロードパッケージを配置して,最新のEUR Web Plug-In自動でインストールして帳票を出力します。
|
コーディング例を次に示します。
<%@ page import="JP.co.Hitachi.soft.EURPM.*" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<jsp:useBean id="adapter" class="JP.co.Hitachi.soft.EURPM.EURPMAdapterForJava" scope="session" />
<HTML>
<HEAD>
<TITLE>
EUR Web Plug-In Print JSP Sample
</TITLE>
<%
//EUR Web Plug-In Printのバージョン取得
String strVersion = adapter.getPrintAXVersion();
%>
</HEAD>
<BODY>
<Script LANGUAGE="javascript">
<!--
var CABType; // フラグ
var CABPath; // CAB形式ファイルの格納場所
var ClassID; // EUR Web Plug-In PrintのクラスID
var appVersion = window.navigator.appVersion.toLowerCase();
// OSの判定
// Windows XPの場合
if ( (window.navigator.userAgent).indexOf( "NT 5.1" ) != -1 ) {
CABType = 0; // マシン単位インストール
} else { // 上記以外の場合
CABType = 1; // ユーザ単位インストール
}
// フラグから使用するCAB形式ファイルおよびクラスIDを決定する
if (CABType == 0) {
// マシン単位インストールの格納場所の設定
CabPath = "http://xxx.xxx.xxx.xxx/machine/EURPMPrintAX.cab";
// マシン単位のクラスIDの設定
ClassID = "368EE1C4-5A52-4C2E-A4C0-27C46B946A2C";
} else {
// ユーザ単位インストールの格納場所の設定
CabPath = "http://xxx.xxx.xxx.xxx/user/EURPMPrintAX.cab";
// ユーザ単位のクラスIDの設定
ClassID = "7A50CEB4-6A70-4DAD-B8F9-D9F791F7C9E5";
}
//OBJECTタグの記述
document.write("<object");
//Webサーバで取得したクラスIDを指定
document.write(" classid=clsid:"+ClassID);
//CAB形式ファイルのパスおよびWebサーバで取得したバージョンを指定
document.write(" codebase=" + CabPath + "#version=<%=strVersion%>");
document.write(" ID=EURPMPRINTAX");
document.write(" type=application/x-oleobject>");
document.write("<BR>");
document.write("<param name=EPFFileURL value=http://xxx.xxx.xxx/File/EPF/1.epf>");
document.write("<BR>");
document.write("<param name=LogLevel value=16>");
document.write("<BR>");
document.write("</object>");
document.write("<BR>");
-->
</Script>
</BODY>
</HTML>