3.2.5 EUR Web Plug-Inを使用して出力する

EUR Web Plug-Inを使用してWebブラウザから帳票を出力する方法を,ActiveXクライアント印刷といいます。クライアントPCのWebブラウザから,Webサーバにアクセスして印刷データ(EPF形式ファイル)をダウンロードすると,クライアントPCのEUR Web Plug-Inによって帳票が出力されます。

<この項の構成>
(1) 出力の流れ
(2) Webページの設定
(3) 起動部品の設定
(4) 出力結果
(5) 出力で使用するダイアログ
(6) 注意事項
(7) コーディング例(ダウンロードパッケージの自動切り替えなし)
(8) コーディング例(ダウンロードパッケージの自動切り替えあり)

(1) 出力の流れ

EUR Web Plug-Inを使用して帳票を出力する流れを,次の図に示します。

図3-8 EUR Web Plug-Inを使用して帳票を出力する流れ(ActiveXクライアント印刷)

[図データ]

  1. 出力要求
    帳票の出力要求が業務プログラムに送られます。
  2. 転送
    アプリケーションサーバのEUR Server - Adapterは,ユーザデータファイルを帳票サーバのEUR Server Serviceに転送します。
  3. 印刷データ生成
    転送されたユーザデータファイルとあらかじめ帳票サーバに配置しておいた印刷定義ファイルから,印刷データ(EPF形式ファイル)が生成されます。
    なお,手順1.~手順3.で生成された印刷データが複数ある場合,一つの印刷データに統合することもできます。印刷データの統合方法については,「6.3.1 複数のEPF形式ファイルを統合出力する」を参照してください。
  4. 印刷データ転送
    EUR Server Serviceは,生成された印刷データ(EPF形式ファイル)をアプリケーションサーバに転送します。
  5. ダウンロード
    クライアントPCのWebブラウザから,Webサーバにアクセスして印刷データ(EPF形式ファイル)をダウンロードします。
    Webサーバとアプリケーションサーバが別マシンであったり,ネットワークを共有していたりする場合は,業務プログラム側でアプリケーションサーバの印刷データ(EPF形式ファイル)をWebサーバに転送しておいてください。
  6. 出力
    印刷データ(EPF形式ファイル)のダウンロードが完了すると,EUR Web Plug-Inによって帳票が出力されます。

(2) Webページの設定

帳票をダウンロードするWebページに,ダウンロードで使用するEUR Web Plug-Inのパラメタを<object>タグを使用して記述します。<object>タグの記述内容は,EUR Web Plug-Inのインストール方法によって異なります。<object>タグの記述内容については,マニュアル「EUR 帳票出力 リファレンス EUR Server編」を参照してください。

EUR Web Plug-InのExclusionPrinterNameプロパティ,ExclusionPrinterDriverプロパティ,PermissionPrinterNameプロパティ,およびPermissionPrinterDriverプロパティの詳細については,マニュアル「EUR 帳票出力 リファレンス EUR Server編」を参照してください。

(3) 起動部品の設定

帳票出力で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。

また,出力時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。

  1. 帳票ファイルの設定
    印刷する帳票ファイル名を設定します。
    帳票ファイルの設定起動部品の設定項目設定する値
    帳票ファイルの名前ActiveX起動部品:ReportFileNameプロパティ
    Java起動部品:setReportFileNameメソッド
    COBOL起動部品:REPORTNAMEパラメタ
    コマンド起動部品:/rfオプション
    帳票ファイル名(255バイト以内の文字列)
  2. EPF形式ファイルの設定
    EPF形式ファイル名を設定します。
    EPF形式ファイルの設定起動部品の設定項目設定する値
    EPF形式ファイル名ActiveX起動部品:EPFFileNameプロパティ
    Java起動部品:setEPFFileNameメソッド
    COBOL起動部品:EPFFILENAMEパラメタ
    コマンド起動部品:/epfnオプション
    EPF形式ファイル名(255バイト以内の文字列)
  3. マッピングデータファイルの設定
    マッピングデータファイル名を設定します。
    ユーザデータファイルの設定起動部品の設定項目設定する値
    マッピングデータファイルの名前ActiveX起動部品:DataFileNameプロパティ
    Java起動部品:setDataFileNameメソッド
    COBOL起動部品:MAPPINGDATAパラメタ
    コマンド起動部品:/mapオプション
    マッピングデータファイル名(255バイト以内の文字列)
  4. ユーザデータファイル,印刷定義ファイル,および印刷付加情報の設定
    必要に応じて,ユーザデータファイル(ユーザ定義データファイルなど),印刷定義ファイル(複数様式情報定義ファイル,文書情報設定ファイル,置き換え表管理情報ファイルなど)および印刷付加情報(印刷開始ページ,印刷部数,ページ番号など)を設定します。
■参考
帳票ファイル名やマッピングデータファイル名を起動部品で直接指定するのではなく,帳票セットとして帳票セット指定ファイルにまとめて指定することもできます。この場合,出力時には次に示すプロパティ,メソッド,パラメタ,またはオプションで帳票セット指定ファイル名を指定してください。
  • ActiveX起動部品:MultiReportSetFileNameプロパティ
  • Java起動部品:setMultiReportSetFileNameメソッド
  • COBOL起動部品:REPORTSETFILEパラメタ
  • コマンド起動部品:/mrsオプション

(4) 出力結果

次の表に示すように,出力時の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の印刷ダイアログが表示されます。
次に示すプリンタ名が初期表示されます。
初めて印刷する帳票ジョブを受信した場合
通常使うプリンタのプリンタ名が表示されます。
印刷したことがある帳票ジョブを受信した場合
前回の受信時に設定したプリンタ名が表示されます。※2
1(通常使うプリンタ初期表示モード)OSの印刷ダイアログが表示されます。
次に示すプリンタ名が初期表示されます。
初めて印刷する帳票ジョブを受信した場合
通常使うプリンタのプリンタ名が表示されます。
印刷したことがある帳票ジョブを受信した場合
通常使うプリンタのプリンタ名が表示されます。
NO(EUR Web Plug-Inの[印刷先指定]ダイアログを表示する)0(標準モード)[印刷先指定]ダイアログが表示されます。
次に示すプリンタ名が初期表示されます。
初めて印刷する帳票ジョブを受信した場合
プリンタ名は表示されません。※3
印刷したことがある帳票ジョブを受信した場合
前回の受信時に設定したプリンタ名が表示されます。※4
1(通常使うプリンタ初期表示モード)[印刷先指定]ダイアログが表示されます。
次に示すプリンタ名が初期表示されます。※5
初めて印刷する帳票ジョブを受信した場合
通常使うプリンタのプリンタ名が表示されます。
印刷したことがある帳票ジョブを受信した場合
通常使うプリンタのプリンタ名が表示されます。
(凡例)
○:存在するプリンタ名,またはトレイ名をパラメタに指定している場合。
×:パラメタに指定したプリンタ名,またはトレイ名が存在しない場合。または,プリンタ名,およびトレイ名を指定していない場合。
-:パラメタの指定は無視されます。

注※1
  • 通常使うプリンタのプリンタ名,またはプリンタドライバ名が,EUR Web Plug-InのExclusionPrinterNameプロパティ,またはExclusionPrinterDriverプロパティに指定されている場合はエラーになります。
  • 通常使うプリンタのプリンタ名,またはプリンタドライバ名が,EUR Web Plug-InのPermissionPrinterNameプロパティ,またはPermissionPrinterDriverプロパティに指定されていない場合はエラーになります。
注※2
前回の受信時に設定したプリンタ名のプリンタが存在しない場合,通常使うプリンタのプリンタ名が表示されます。
注※3
ExclusionPrinterNameプロパティ,またはExclusionPrinterDriverプロパティが指定されている場合,次のどちらかの条件を満たすときは,通常使うプリンタのプリンタ名が表示されます。
  • ExclusionPrinterNameプロパティ,またはExclusionPrinterDriverプロパティの指定が有効,かつ指定値に通常使うプリンタのプリンタ名が指定されていないとき
  • PermissionPrinterNameプロパティ,またはPermissionPrinterDriverプロパティの指定が有効,かつ指定値に通常使うプリンタのプリンタ名が指定されているとき
注※4
前回の受信時に設定したプリンタ名が存在しない場合,またはプロパティ(ExclusionPrinterNameプロパティ,ExclusionPrinterDriverプロパティ,PermissionPrinterNameプロパティ,またはPermissionPrinterDriverプロパティ)の指定によってプリンタ名が表示できない場合は,次に示すプリンタ名が表示されます。
  • 注※3の条件を満たすときは,通常使うプリンタのプリンタ名が表示されます。
  • 注※5の条件を満たすときは,プリンタ名は表示されません。
  • ExclusionPrinterNameプロパティ,またはExclusionPrinterDriverプロパティが指定されていないときは,プリンタ名は表示されません。
注※5
次のどちらかの条件を満たす場合,プリンタ名は表示されません。
  • ExclusionPrinterNameプロパティ,またはExclusionPrinterDriverプロパティの指定が有効,かつ指定値に通常使うプリンタのプリンタ名が指定されているとき
  • PermissionPrinterNameプロパティ,またはPermissionPrinterDriverプロパティの指定が有効,かつ指定値に通常使うプリンタのプリンタ名が指定されていないとき

(5) 出力で使用するダイアログ

(a) [印刷先指定]ダイアログ

[印刷先指定]ダイアログの[OK]ボタンをクリックすると,指定したプリンタのトレイで帳票が出力されます。指定したプリンタとトレイがクライアントPCにない場合は,エラーとなります。

[図データ]

[帳票ジョブ名]
クライアントプリンタクラス名を表示します。クライアントプリンタクラスが指定されていない場合は,帳票名を表示します。
[プリンタ]リストボックス
クライアントPCに登録されたプリンタ名を表示します。
[プリンタ]リストボックスに初期表示されるプリンタ名は,EUR Client Serviceの環境設定ファイルのSELECTDISPLAYPRINTERキーの指定で変更できます。
[プリンタ]リストボックスは,プリンタの種類と状態を次に示すアイコンで示します。
  • [図データ]:OS上の通常使うプリンタ
  • [図データ]:OS上の通常使うプリンタ以外のOSに登録されているプリンタ
[トレイ]リストボックス
プリンタ名を選択すると,OS上に登録されたプリンタ名のトレイ名を表示します。トレイを指定しなかった場合は,デフォルトのトレイで印刷されます。
印刷したことがある帳票ジョブを受信した場合で,[プリンタ]リストボックスに初期表示されるプリンタ名が,前回の受信時に設定したプリンタ名のときは,前回の受信時に設定したトレイ名が表示されます。
それ以外の場合は,トレイ名は表示されません。
[+]ボタン
[印刷先指定]ダイアログが拡張されて,[印刷オプション]を設定できます。
[図データ]
[-]ボタン
[印刷オプション]の設定が非表示になります。
[ページ指定]
印刷開始ページと印刷終了ページを指定します。
  • 印刷開始ページ
    初期表示は1(ページ)です。入力できる値は,1~999,999です。帳票の最終ページを超える値を指定した場合は,最終ページだけ印刷されます。
  • 印刷終了ページ
    初期表示は,帳票の最終ページです。入力できる値は,1~999,999です。帳票の最終ページを超える値を指定した場合は,最終ページまで印刷されます。

(6) 注意事項

(7) コーディング例(ダウンロードパッケージの自動切り替えなし)

クライアントPCにユーザ単位インストール用とマシン単位インストール用のどちらかのダウンロードパッケージを配置して,最新のEUR Web Plug-Inを自動でインストールして帳票を出力します。

ダウンロードパッケージ:EUR Server - Adapter稼働マシンに配置
http://xxx.xxx.xxx.xxx/cab/EURPMPrintAX.cab
出力ファイル:EUR Server - Adapter稼働マシンに配置
出力EPF形式ファイル名:http://xxx.xxx.xxx/File/EPF/sample.epf
■処理内容
クライアントPCに最新のEUR Web Plug-Inがインストールされていない場合,ユーザ単位インストール用またはマシン単位インストール用のどちらかのダウンロードパッケージとEUR Web Plug-In情報ファイルを配置したクライアントPCに,最新のEUR Web Plug-Inが自動でインストールされます。

コーディング例を次に示します。

(a) ActiveX起動部品の場合

<%@ 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>

(b) Java起動部品の場合

<%@ 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>

(8) コーディング例(ダウンロードパッケージの自動切り替えあり)

同一システム内のクライアント環境が,ユーザ単位インストールが可能な環境と,それ以外の環境(マシン単位インストールが可能な環境)が混在している場合に,クライアントPCにユーザ単位インストール用とマシン単位インストール用の両方のダウンロードパッケージを配置して,最新のEUR Web Plug-In自動でインストールして帳票を出力します。

ダウンロードパッケージ:EUR Server - Adapter稼働マシンに配置
  • ユーザ単位インストール用
    http://xxx.xxx.xxx.xxx/user/EURPMPrintAX.cab
  • マシン単位インストール用
    http://xxx.xxx.xxx.xxx/machine/EURPMPrintAX.cab
出力ファイル:EUR Server - Adapter稼働マシンに配置
出力EPF形式ファイル名:http://xxx.xxx.xxx/File/EPF/1.epf
■処理内容
クライアントPCに最新のEUR Web Plug-Inがインストールされていない場合,ユーザ単位インストール用およびマシン単位インストール用のダウンロードパッケージとユーザ単位インストール用のEUR Web Plug-In情報ファイルを配置したクライアントPCに,クライアントPCの環境に応じてダウンロードパッケージが選択されて,最新のEUR Web Plug-Inが自動でインストールされます。ユーザ単位インストールが可能な環境では,ユーザ単位インストール用のダウンロードパッケージ,それ以外の環境では,マシン単位インストール用のダウンロードパッケージが選択されて自動で新規インストールされます。

コーディング例を次に示します。

(a) Java起動部品の場合

<%@ 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>