同一の帳票を複数のクライアントに配布して出力する方法を,配布印刷といいます。帳票サーバから帳票の印刷データ(EPF形式ファイル)がクライアントPCに配布されると,EUR Client Serviceが起動して帳票を自動で出力できます(自動印刷)。印刷実行時に印刷中ダイアログを表示させないように設定することもできます(全自動印刷)。
自動印刷では,あらかじめ設定したプリンタに帳票が自動で出力されるため,データ受信時にクライアントPCを操作する必要はありません。
帳票を複数のクライアントPCに配布して出力する流れを,次の図に示します。
図3-5 帳票を複数のクライアントPCに配布して出力する流れ(自動印刷)
印刷データの生成で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。
また,生成時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。
帳票ファイルの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
帳票ファイルの名前 | 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バイト以内の文字列) |
クライアントPCのプリンタ | 起動部品の設定項目 | 設定する値 |
---|---|---|
プリンタクラス名 | ActiveX起動部品:PrinterClassNameプロパティ Java起動部品:setPrinterClassNameメソッド COBOL起動部品:PRINTERCLASSNAMEパラメタ コマンド起動部品:/prcオプション | プリンタクラス名(80バイト以内の文字列) |
配布印刷で使用する起動部品のメソッド,関数,およびオプションの指定値を次に示します。
また,印刷時に設定する起動部品のプロパティ,メソッド,パラメタ,およびオプションの指定値を次に示します。
EPF形式ファイルの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
EPF形式ファイル名 | ActiveX起動部品:EPFFileNameプロパティ Java起動部品:setEPFFileNameメソッド COBOL起動部品:EPFFILENAMEパラメタ コマンド起動部品:/epfnオプション | EPF形式ファイル名(255バイト以内の文字列) |
印刷方法の設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
印刷方法 | ActiveX起動部品:PrintModeプロパティ Java起動部品:setPrintModeメソッド COBOL起動部品:PRINTMODEパラメタ | 5(クライアントPCに配布印刷する) |
コマンド起動部品:/pmオプション | clds(クライアントPCに配布印刷する) |
クライアントPCの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
IPアドレス | ActiveX起動部品:ClientAddressプロパティ Java起動部品:setClientAddressメソッド COBOL起動部品:CLIENTADDRパラメタ コマンド起動部品:/clientオプション | 255.255.255.255形式 |
ダイアログの設定 | 起動部品の設定項目 | 設定する値 |
---|---|---|
ダイアログを表示するかどうか | ActiveX起動部品:DispPrintDlgプロパティ Java起動部品:setDispPrintDlgメソッド COBOL起動部品:DISPPRINTDLGパラメタ | 1(自動印刷) 3(全自動印刷)※ |
コマンド起動部品:/dialogオプション | auto(自動印刷) fullauto(全自動印刷)※ |
クライアントPCのプリンタ | 起動部品の設定項目 | 設定する値 | |
---|---|---|---|
プリンタ名 | OS上のプリンタ名 | ActiveX起動部品:ClientPrinterNameプロパティ Java起動部品:setClientPrinterNameメソッド COBOL起動部品:CLIENTPRINTERNAMEパラメタ コマンド起動部品:/pオプション | プリンタ名(80バイト以内の文字列) |
OS上のプリンタのトレイ名 | ActiveX起動部品:ClientTrayNameプロパティ Java起動部品:setClientTrayNameメソッド COBOL起動部品:CLIENTTRAYNAMEパラメタ コマンド起動部品:/tオプション | トレイ名(80バイト以内の文字列) |
「3.2.1(4) 出力結果」を参照してください。
帳票を連続して出力すると,メモリ不足のエラーになることがあります。クライアントPCでメモリ不足のエラーが発生した場合は,時間を置いて再度出力するか,EUR Client Serviceを再起動してください。
次に示すパラメタを指定して,クライアントPCへの配布印刷します。
|
コーディング例を次に示します。
import JP.co.Hitachi.soft.EURPM.*;
try {
EURPMAdapterForJava obj=new EURPMAdapterForJava();
String target = request.getRemoteAddr();
obj.setEPFFileName("sample1_EPF.epf");
//EPF形式ファイル名の指定
obj.setEPFFilePath("c:¥¥Temp");
//EPF形式ファイルパスの指定
obj.setPrintMode(5);
//印刷方式の指定
obj.setClientAddress("127.0.0.1");
//クライアントPCのIPアドレスの指定
obj.printReport();
//帳票の出力指示
}
catch (JP.co.Hitachi.soft.EURPM.EURPMException ce) {
//エラー処理
int errid;
errid=ce.getErrorCode();
//エラーコードをerridに取り出す
if (errid==301) {
//KEEY301-Eの場合のエラー処理
} else if (errid== {
//以下,そのほかのエラー処理を繰り返す
:
}
}