はじめに
この度は SVF for Web/Client をお買い上げいただき、誠にありがとうございます。
SVF for Web/Client は、クライアントコンピュータに Web/Client 専用の ActiveX をセットアッ
プすることで、クライアントコンピュータのブラウザを通して、サーバで作成された印刷データ
を、クライアントコンピュータに接続されているプリンタから出力することができるソフトウェアで
す。業務で使用されている Web アプリケーションと連携してご使用いただける製品です。
このマニュアルは、SVF for Web/Client を円滑に導入するためのガイドとして、そのセット
アップ方法や使用方法が書かれています。
SVF for Web/Client の動作環境をご確認の上、ご使用いただきますようお願い致します。
ii
1 製品概要 1-1
クライアントコンピュータに設定されているプリンタからの出力.... . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Active X へのデータの受け渡し方法 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Ver8.0 における拡張子変更の概要 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
拡張子が同じ場合に想定される問題... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
変更された拡張子 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
従来の拡張子の使用 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
動作環境 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
2 セットアップと解除 2-1
拡張子の変更に伴うインストーラの種類の変更 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
導入ケース... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
インストーラ形式.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
セットアップ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
解除 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
MSI 形式 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
セットアップ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
解除 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
ダウンロード形式 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
サーバでのセットアップ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
クライアントでのセットアップ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
CODEBASE .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
コーディングサンプル ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
解除 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
表示言語を切り替える場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
3 環境設定 3-1
環境設定の起動 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
環境設定のメニュー .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
プリンタ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
機種別基本設定... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
4 ActiveX を使用したデータの受け渡しと印刷 4-1
設定方法 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
出力するファイルの拡張子 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
CLASSID .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
<OBJECT>タグを使用して印刷する方法 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
通常使うプリンタに出力する... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
プリンタ選択ダイアログボックスからプリンタを選択して出力する ... . . . . . . . . . . . . . 4-7
プレビュー表示後、通常使うプリンタに出力する ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
iii
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択し
て出力する... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
プレビューを表示させる(印刷は不可) ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
クライアントコンピュータのプリンタ情報を取得し、クライアントのブラウザ
へプリンタ一覧を表示させ、選択されたプリンタに出力する... . . . . . . . . . . . . . . . . . . . . . 4-17
<OBJECT>タグを使用して印刷する方法:応用編.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
<OBJECT>タグを使用しないで印刷する場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
通常使うプリンタに印刷する... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
プリンタ選択ダイアログボックスからプリンタを選択して印刷する ... . . . . . . . . . . 4-24
プレビュー表示後、通常使うプリンタに出力する ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択し
て出力する... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
プレビューを表示させる(印刷は不可) ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
ErrorUrl で取得できるパラメータについて .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
Config パラメータの使用方法 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Config パラメータを使用した XML サンプル... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
ini ファイルに定義が必要なモードを指定した場合 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
XSvfWeb.ini ファイル設定項目 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
ShowErrorDlg .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
CsmErrorMsg .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
SendErrorMethod .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
DefaultEmfTrayMode .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
OutLog .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
Fi leName .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
LogLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
5 サンプルプログラム 5-1
サンプルのディレクトリ構成 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
サンプル使用のための条件 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
サンプルプログラム実行用 HTML ファイル「index.html」 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
自動インストール用 HTML ファイル「install.html」 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
<OBJECT>タグを使用して通常使うプリンタに直接出力する場合 .... . . . . . . . . . . . . 5-5
<OBJECT>タグを使用してプリンタ選択ダイアログボックスを表示させ、クライ
アントがプリンタを選択して出力する場合.... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
プレビュー表示後、通常使うプリンタに出力する場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択して出力
する場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
プレビューを表示させる場合(印刷は不可).... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
クライアントのプリンタ情報を取得し、クライアントのブラウザへプリンタ一覧を表
示させ、選択されたプリンタへ出力する場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
印刷データを作成せず、ストリームにより直接出力する場合 .... . . . . . . . . . . . . . . . . . . . . . . . . . 5-38
iv
エラー情報取得用プログラム .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43
1 ErrorUrl パラメータにより、エラー内容表示用サーブレットが呼び出さ
れる ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44
2 エラー内容表示用サーブレット ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44
6 その他 6-1
注意事項 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
制限事項 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
FAQ ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Cookie を使用した情報取得 .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
索引 索引-1
1 製品概要
1-1
1 製品概要
SVF for Web/Client は、クライアントコンピュータに Web/Client 専用の ActiveX をセットアッ
プすることにより、クライアントコンピュータのブラウザを通して、サーバで作成された印刷デー
タを、クライアントコンピュータに接続されているプリンタから印刷できる製品です。印刷デー
タを圧縮して、サーバとクライアント間での転送をおこなうため、インターネットおよびイントラ
ネットを介して、スムーズに印刷がおこなえます。また、SVF for Web/Client での印刷後の
処理や異常終了時の処理などをプログラム上で設定することで、業務で使用する Web ア
プリケーションとの連携がおこなえます。
SVF for Web/Client を使用するには、Web サーバ上に以下の製品のいずれかがあらかじ
めセットアップされていることが必要です。
・SVF for Java Print
・SVFfor Web/PDF Java Edition
・SVF for PDF
・SVF for XPS
SVF for Web/Client での出力は、クライアントコンピュータに接続されているプリンタからお
こないます。出力は、通常使用するプリンタ、ユーザがあらかじめ指定したプリンタ、プリンタ
選択ダイアログボックスを表示して選択したプリンタの中から選択することができます。また、
それぞれの出力方式にプレビュー機能を加えることも可能です。
また、ユーザアプリケーションとしてプリンタ選択画面を作成し、あらかじめ出力先プリンタを
指定する場合のために、クライアントコンピュータに接続されているプリンタの一覧情報を取
得する機能が用意されています。
クライアントコンピュータに設定されているプリンタからの出力
Internet Explorer版 では、SVF for Web/Clientの配 布 方 法 として、XSvfWeb.cabモ
ジュールをWebサーバ上にコピーし、各クライアントコンピュータからアクセスすることで自動
的にダウンロードする方法、インストーラからインストールする方法、MSI形式を使用したイ
ンストール方法の3種類があります。
クライアントコンピュータから印刷する際に、出 力するプリンタが対応しているプリンタ言
語と、サーバで作成された印刷データファイルのプリンタ言語(機種)が一致していない
場 合 、文字 化けが起 きるなどの現 象 により、正 しい出力 ができません(プリンタ言 語が
EMF、XPS以外の場合)。
SVF for XPS 、 SVF for Java Print で 作 成 し た 印 刷 デ ー タ の 場 合 、 SVF for
Web/Clientのプレビュー機能は使用できません。
SVF for Web / Client ユーザーズ・マニュアル
1-2
Internet Explorer で Web サーバから Active X へデータを受け渡すには、<OBJECT>タ
グを使用し CLASSID によって認識させる方法と、<OBJECT>タグを使用せず拡張子に
よって認識させる方法があります。
詳細については、「4 Active X を使用したデータの受け渡しと印刷」を参照してください。
<Active X へのデータの受け渡し方法の例>
Active X へのデータの受け渡し方法
1 製品概要
1-3
SVF for Web/Client が従来使用してきた直接印刷の ActiveX コントロールを呼び出す拡
張子"wdp"と、Microsoft の次世代静止画像フォーマットである HDPhoto 規格の拡張子
"wdp"とが同名となっています。それにより、Ver8.0 から SVF for Web/Client がインストール
時にレジストリ上に関連付けを登録する拡張子が変更されています。
拡張子が同じ場合に想定される問題 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client で使用する拡張子と、HDPhoto 規格で使用する拡張子が同じ場合
に想定される問題は次のとおりです。
SVF for Web/Client がインストールされた環境に.NetFramework3.0 を新規にインス
トールすると、レジストリ上にある"wdp"拡張子の関連付け情報が、HDPhoto アプリケー
ションとの関連付けに変更されてしまいます。それにより、SVF for Web/Cient の"wdp"
拡張子の関連付けによる起動がおこなえなくなります。
Windows Vista など、.Netframework3.0 が既にインストールされた環境に SVF for
Web/Client のインストールをおこなうと、HDPhoto の拡張子関連付け情報が上書きさ
れます。それにより、拡張子による HDPhoto アプリケーションの起動がおこなえなくなりま
す。
変更された拡張子 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/ClientVer.8.0 からは、次のように拡張子が変更されています。
直接印刷 wdp → svfwdp
ダイアログ印刷 wdd → svfwdd
プレビュー印刷(プリンタ選択なし)
wdv → svfwdv
プレビュー印刷(プリンタ選択あり)
wdw → svfwdw
プレビューのみ wdx → svfwdx
従来の拡張子の使用・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Ver.8 より前の SVF for Web/Client を使用している場合で、拡張子の変更がおこなえない
環境のときは、従来の拡張子も継続して利用することが可能です。
「第 2 章 セットアップと解除」の「導入ケース例」を参照の上、使用する拡張子にあわせた
インストールをおこなってください。
Ver8.0 における拡張子変更の概要
SVF for Web / Client ユーザーズ・マニュアル
1-4
サーバコンピュータの
SVF 製品
以下のいずれかの製品が必要
・SVF for JavaPrint Ver.6.3 以上
・SVF for Web/PDF JavaEdit ion Ver.6.3 以上
・SVF for PDF Ver.7.5 以上
・SVF for XPS Ver.7.5 以上
クライアント OS Microsoft® Windows® XP Professional*1
Microsoft® Windows Vista™ Business、Enterprise、Ult imate*1
ブラウザ Internet Explore 5.5 Servise Pack2 以上
*1 SVF for XPS で印刷する場合、クライアントコンピュータに Microsoft .NETFramework
3.0 が必要となります。
1
動作環境
2 セットアップと解除
2-1
2 セットアップと解除
ここでは、SVF for Web/Client のセットアップおよび解除の方法をインストーラ形式と自動
ダウンロード形式に分けて説明します。
Internet Explorer 版 では、SVF for Web/Client の配 布 方 法 として、XSvfWeb.cab モ
ジュールを Web サーバ上にコピーし、各クライアントコンピュータからアクセスすることで自動
的にダウンロードする方法、インストーラからインストールする方法、MSI 形式を使用したイン
ストール方法の 3 種類があります。ここでは、それぞれの方法のセットアップと解除について
説明します。
Ver8.0 から SVF for Web/Client がインストール時にレジストリ上に関連付けを登録する拡
張子が変更されています(詳細については、「第 1 章 製品概要」を参照)。
Ver.8 より前の SVF for Web/Client を使用している場合で拡張子の変更がおこなえない
環境のときは、従来の拡張子も継続して利用することができるよう、インストール方法の種
類ごとに新・旧拡張子のインストーラが提供されています。
次項を参照の上、使用する拡張子にあわせたインストールをおこなってください。
導入ケース ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Ver.8.0 を新規に導入する場合
拡張子の関連付けを利用する場合
新しい拡張子に対応したアプリケーションを構築後、新しい拡張
子の SVF for Web/Client インストーラを使用。
拡張子の関連付けを利用しない場合
新しい拡張子の SVF for Web/Client インストーラを使用。
Ver7.5 以前から Ver8.0 へバージョンアップする場合
拡張子の関連付けを利用する場合
SVF for Web/Client を利用しているユーザアプリケーションの改
修が可能な場 合は、新しい拡張子に対 応 後、新しい拡 張子の
SVF for Web/Client インストーラを使用。
または、拡張子関連付けによる起動方法を見直し、mime-type
や object タグによる利用に移行。
ユーザアプリケーションの改修が不可能な場合は、従来の拡張
子の SVF for Web/Client インストーラを使用。ただしその場合
次の制限が発生します。
・ SVF for Web/Client の "wdp" 拡 張 子 を 利 用 中
に、.NetFramework3.0 を新規 インストールした場 合、SVF for
Web/Client の再インストールが必要になります。
拡張子の変更に伴うインストーラの種類の変更
SVF for Web / Client ユーザーズ・マニュアル
2-2
・.Netframework3.0 がインストールされた環境(Vista 含む)で
は SVF for Web/Client のインストールにより、HDPhoto 規格の
拡 張 子 ".wdp"の関 連 付 けが上 書 きされます。それにより、本 来
であれば".wdp"の拡 張 子 を持 つファイルをダブルクリックすると
「Windows フォトギャラリー」が起動しますが、この起動がおこなわ
れなくなります。
拡張子の関連付けを利用しない場合
新しい拡張子の SVF for Web/Client インストーラを使用。
インストーラを利用したセットアップと解除の方法について説明します。
セットアップ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client のインストーラ形式でのセットアップは、クライアント側で操作をおこな
います。手順はつぎのとおりです。
1 SVF for Web/Client Internet Explorer 版の CD‐ROM を CD ドライブにセットします。
自動的にセットアップ画面が表示されない場合は、CD‐ROM の「WebClient.exe」をダブ
ルクリックして、明示的に起動させます。
新しい拡張子 inst\WebClient.exe
従来の拡張子 OldExt\inst\WebClient.exe
「Instal lShield Wizard」が実行され、開始画面が表示されます。
<[Instal lShield Wizard]の開始画面>
インストーラ形式
2 セットアップと解除
2-3
2 [Next]ボタンをクリックします。
[Choose Destination Location]画面が表示されます。
<[Choose Destination Location]画面>
3 セットアップ先 のフォ ルダを 選 択 します。現 在 選 択 されているフォ ルダでよければ、
[Next]ボタンをクリックします。セットアップ先 を変 更 するには、[Browse…]ボタンをク
リックしてフォルダを選択します。
4 現在設定されている内容でよければ、[Next]ボタンをクリックします。
CD‐ROM からハードディスクへのファイルのコピーが開始されます。
<[Setup Status]画面>
SVF for Web / Client ユーザーズ・マニュアル
2-4
コピーが終了すると、[Instal lShield Wizard Complete]画面が表示されます。
<[Instal lShield Wizard Complete]画面>
5 [Finish]ボタンをクリックします。
セットアップが終了します。
解除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client Internet Explorer 版のインストーラ形式での解除は、以下の手順で
おこないます。
1 [スタート]-[すべてのプログラム]-[コントロールパネル]-[プログラムの追加と削除]を
選択します。
[プログラムの追加と削除]画面が表示されます。
<[プログラムの追加と削除]画面>
2 SVF for Web/Client を選択し、[変更と削除]ボタンをクリックします。
2 セットアップと解除
2-5
「Instal lShield Wizard」が実行され、[Confirm Fi le Deletion]メッセージが表示されます。
<[Confirm Fi le Deletion]メッセージ>
3 [OK]ボタンをクリックします。
ハードディスクからアプリケーションとすべてのコンポーネントの削除が開始されます。
削除が終了すると、[Maintenance Complete]画面が表示されます。
<[Maintenance Complete]画面>
4 [Finish]ボタンをクリックします。
SVF for Web/Client Internet Explorer 版の解除が終了します。
SVF for Web / Client ユーザーズ・マニュアル
2-6
MSI 形式を利用したセットアップと解除の方法について説明します。
セットアップ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client の MSI 形式でのセットアップは、クライアント側で操作をおこないます。
手順はつぎのとおりです。
1 SVF for Web/Client Internet Explorer 版の CD‐ROM を CD ドライブにセットします。
自動的にセットアップ画面が表示されない場合は、CD‐ROM の[Setup.msi]をダブルク
リックして、明示的に起動させます。
新しい拡張子 MSI\Setup.msi
従来の拡張子 OldExt\MSI\Setup.msi
[Setup Wizard]が実行され、開始画面が表示されます。
<[Setup Wizard]の開始画面>
2 [Next]ボタンをクリックします。
[Select Instal lation Folder]画面が表示されます。
MSI 形式
2 セットアップと解除
2-7
3 セットアップ先のフォルダを選択します。セットアップ先を変更するには、[Browse…]ボタ
ンをクリックしてフォルダを選択します。現在選択されているフォルダでよければ、[Next]
ボタンをクリックします。
[Confirm Instal lation]画面が表示されます。
<[Confirm Instal lat ion]画面>
4 [Next]ボタンをクリックします。
ファイルのコピーが開始されます。コピーが終了すると、[Instal lation Complete]画面 が表
示されます。
<[Instal lat ion Complete]画面>
5 [Close]ボタンをクリックします。
セットアップが終了します。
SVF for Web / Client ユーザーズ・マニュアル
2-8
解除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client Internet Explorer 版の MSI 形式での解除は、以下の手順でおこな
います。
1 [スタート]-[すべてのプログラム]-[コントロールパネル]-[プログラムの追加と削除]を
選択します。
[プログラムの追加と削除]画面が表示されます。
<[プログラムの追加と削除]画面>
2 SVF for Web/Client を選択し、[削除]ボタンをクリックします。
メッセージが表示されます。
3 削除してよい場合は、[はい]ボタンをクリックします。
SVF for Web/Client MSI 版の解除が終了します。
2 セットアップと解除
2-9
SVF for Web/Client の XSvfWeb.cab モジュールを Web サーバ上にコピーし、各クライアン
トコンピュータからアクセスすることで自動的にダウンロードする場合について説明します。
新しい拡張子 cab\XSvfWeb.cab
従来の拡張子 OldExt\cab\XSvfWeb.cab
サーバでのセットアップ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client のダウンロード形式でのセットアップでは、事前にサーバコンピュータで
の準備が必要です。
サーバ側でのセットアップは、つぎの手順でおこないます。
1 SVF for Web/Client の CD‐ROM を、サーバコンピュータの CD‐ROM ドライブにセットします。
2 XSvfWeb.cab ファイルを HTTP サーバ上の参照可能な URL に配置します。
クライアントでのセットアップ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
次に、クライアントコンピュータで ActiveX をダウンロードします。
1 クライアントコンピュータから「CODEBASE」を指定した html を使用し、サーバコンピュータ
にコピーした「XSvfWeb.cab」にアクセスします。
[セキュリティ警告]というダイアログが表示され、認証を求められます。
<[セキュリティ警告]画面:XP SP2>
ダウンロード形式
cab ファイルとは、インストールに必要な情報を保存したファイルです。
Windows XP SP2 と Windows Vista の場合
自動ダウンロードを実行すると「このサイトには次の ActiveX コントロールが必要な可能
性があります。・・・ここをクリックしてください」という情報バーが表示されます。
その場合は、情報バーをクリックして表示されたメニューから[ActiveX コントロールのイン
ストール]をクリックしてください。
SVF for Web / Client ユーザーズ・マニュアル
2-10
2 [はい]ボタン、または[インストールする]ボタンをクリックします。
SVF for Web/Client で必要な ActiveX が自動的にクライアントコンピュータにダウンロード
されます。
CODEBASE ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
CLASSIDに当社が提供するCLASSIDを指定すると、ActiveXがクライアントコンピュータに存
在 しない 場 合 に、CODEBASEで 指 定 され たURL に存 在 するcabフ ァイ ルから 自 動 的 に
ActiveXのダウンロードを開始します。
CODEBASEを使用することによって、いままでクライアントコンピュータで手動セットアップを必
要としていたものが、cabファイルへのURLを指定するだけで、ダウンロードが開始されます。
「いいえ」を選択するとダウンロードが中止され、SVF for Web/Client を使用することは
できません。
CLASSIDには、第4章に掲載されているすべてのCLASSIDを指定可能です。本マニュア
ル上は13374F9E-567A-4A22-BD52-F30D33AE64D1と記述します。
CLASSIDで指定されたActiveXが存在する場合、CODEBASEは動作しません。
2 セットアップと解除
2-11
コーディングサンプル ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
次に、HTML のサンプルコードを使用して、タグについて説明します。
<HTML>
<HEAD>
<TITLE>SVF for Web/Client インストール</TITLE>
</HEAD>
<BODY>
<FORM>
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1"
CODEBASE="http://10.10.10.10/XSvfWeb.cab#Version=X,X,X,X">
<PARAM NAME="DocName" VALUE="SVF for WEB/Client">
<PARAM NAME="Printer" VALUE="">
</OBJECT>
</FORM>
</BODY>
</HTML>
OBJECT 明示的に ActiveX を実行します。
CLASSID ActiveX に割り当てられた CLSID を指定します。CLSID は当社から提供
しているものを使います。
CODEBASE どこから ActiveX をダウンロードしてくるかを指定します。省略も可能です
が、その場合は自動的なダウンロードは実行されません。
既に SVF for Web/Client がインストールされているコンピュータに対して、自動インストール
でバージョンアップをおこないたい場合は、上記の例のように「CODEBASE」に
「#Version=X,X,X,X」と追記してください。
バージョン情報は、XSvfWeb.cab ファイルを解凍し、XSvfWeb.ocx のプロパティから確認す
ることができます。
バージョンアップが必要ない場合は、記述する必要はありません。
SVF for Web / Client ユーザーズ・マニュアル
2-12
解除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client Internet Explorer 版のダウンロード形式での解除は、クライアント側
で操作をおこないます。手順は以下のとおりです。
1 クライアントコンピュータでブラウザを起動します。
2 メニューの[ツール]から[インターネットオプション]をクリックします。
[インターネットオプション]画面が表示されます。
<[インターネットオプション]画面>
3 「インターネット一時ファイル」の[設定]ボタンをクリックします。
[設定]画面が表示されます。
<[設定]画面>
2 セットアップと解除
2-13
4 [オブジェクトの表示]ボタンをクリックします。
[Downloaded Program Files]画面が表示されます。
<[Downloaded Program Fi les]画面>
5 「XExecXXXXXX Control」を削除します。
SVF for Web/Client Internet Explorer 版が解除されます。
SVF for Web / Client ユーザーズ・マニュアル
2-14
SVF for Web/Client Ver.6.5 以降では、プレビュー画面などで表示される言語を OS のロ
ケール設定にあわせて切り替えることができます。切り替える手順は次のとおりです。
1 コントロールパネルの[地域と言語のオプション]を開きます。
2 [標準と形式]で表示する言語を選択します。
[日本語]を選択すると、SVF for Web/Client のプレビュー画面などが日本語で表示され
ます。[日本語]以外を選択すると、英語で表示されます。
<[地域と言語のオプション]画面>
2
表示言語を切り替える場合
SVF for XPS 、 SVF for Java Print で 作 成 し た 印 刷 デ ー タ の 場 合 、 SVF for
Web/Client のプレビュー機能は使用できません。
3 環境設定
3-1
3 環境設定
SVF for Web/Client で出力を実行するには、あらかじめ以下のいずれかの製品の環境設
定から仮想プリンタを作成しておく必要があります。
・SVF for Java Print
・SVF for Web/PDF Java Edition
・SVF for PDF
・SVF for XPS
環境設定では、同一プリンタ上に必要なだけプリンタ名を変えて異なる環境設定を登録し
ておくことができるため、帳票の種類に適した印刷をおこなうことができます。
ここでは、SVF for Java Print、SVF for Web/PDF Java Edition、SVF for PDF、SVF for
XPS の環境設定をブラウザからおこなう手順について説明します。
環境設定をおこなうには、Web サーバ上で SVF Java PRODUCT WEB Server Service が
起動している必要があります。SVF Java PRODUCT WEB Server Service はデフォルトで
自動起動しますが、手動で起動する場合はつぎの手順 1 を参照してください。
クライアントコンピュータからの操作については、手順 2 から参照してください。
1 Web サーバ上で[スタート]-[すべてのプログラム]-[SVF Java PRODUCT]-[Web サ
ービスの起動]をクリックします。
<SVF Java PRODUCT の WEB サービスを起動する>
SVF Java PRODUCT WEB Server Service が起動され、メッセージが表示されます。
<WEB サービスの起動メッセージ>
環境設定の起動
SVF for Web / Client ユーザーズ・マニュアル
3-2
2 クライアントコンピュータのブラウザを起動します。
3 ブラウザのアドレスに次の URL を入力します。
http://(IP アドレス、またはマシン名):44080/
[SVF Java PRODUCT OUTPUT Environment Setting Menu]画面が表示されます。
<[SVF Java PRODUCT OUTPUT Environment Setting Menu]画面>
4 「SVF Java PRODUCT」の[Environment Setting]ボタンをクリックします。
[OUTPUT Environment Setting Menu]画面は Java アプレットで作成されているた
め、コンピュータに Java 実行環境(JavaPlugin1.4.2、または 1.5.0)が必要です。
OUTPUT Environment Setting Menu では、セットアップされている製品名が太字で表
示されます。
3 環境設定
3-3
[SVF 環境設定]画面が表示されます。
<[SVF 環境設定]画面>
SVF for Web / Client ユーザーズ・マニュアル
3-4
ここでは、SVF Java PRODUCT の環境設定について、メニューごとに説明します。
[SVF 環境設定]画面には、[SVF 環境設定]メニュー、[動作環境]メニュー、[プリンタ]メ
ニュー、[機種別基本設定]メニューの 4 つのメニューがあります。
このメニューは Java 関連実行部の共通メニューとなります。[SVF 環境設定]メニュー、[動
作環境]メニューの詳しい説明については、SVF Java PRODUCTS のユーザーズ・マニュア
ルを参照してください。
ここでは[プリンタ]メニューと[機種別基本設定]メニューについて説明します。
<[SVF 環境設定]画面>
環境設定のメニュー
3 環境設定
3-5
プリンタ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
新規にプリンタを設定するには、つぎの手順でおこないます。
1 左のツリーから[プリンタ]を選択します。
[プリンタ]画面が表示されます。
<[SVF 環境設定]画面ー[プリンタ]の設定画面>
2 [プリンタ名]に、設定するプリンタ名を任意の英数字文字列で入力します。
<[プリンタ名]に設定する任意のプリンタ名を入力>
[プリンタ名 ]には全 角 文 字 は使 用 できません。また、大 文字 、小 文 字の区 別 はしませ
ん。
[プリンタ名]には各プラットフォームがファイル名として制限している文字は使用できま
せん。
SVF for Web / Client ユーザーズ・マニュアル
3-6
3 [機種の選択]欄の[▼]をクリックして表示されるドロップダウンリストから、対応する機種
を選択します。
<[機種の選択]ドロップダウンリストから機種を選択>
4 [追加]ボタンをクリックします。
プリンタが追加されます。
<プリンタが追加される>
3 環境設定
3-7
5 左の[プリンタ]のツリーを展開し、登録したプリンタ名を選択します。
選択したプリンタの詳細設定画面が表示されます。
<登録したプリンタの詳細設定画面>
6 [出力先]でドロップダウンリストからファイルを指定します。
<登録したプリンタの詳細設定画面>
7 その他の設定項目について設定をおこないます。
その他の設定項目の詳細については、SVF Java PRODUCTS のユーザーズ・マニュアルを
参照してください。
SVF for Web / Client ユーザーズ・マニュアル
3-8
8 [適用]ボタンをクリックします。
確認メッセージが表示されます。
<確認メッセージ>
9 [はい]をクリックします。
設定した内容が登録されます。
ここで作成したプリンタ名を、VrSetPrinter 関数で指定します。なお、VrSetPrinter 関
数でプリンタ名・機種名を設定する場合は、大文字・小文字は区別します。
3 環境設定
3-9
機種別基本設定 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ここでは、各種プリンタ機種の基本初期値を設定できます。ここで設定をしておくと、その機
種のデフォルト設定値として登録されます。
操作の手順は、つぎのとおりです。
1 [SVF 環境設定]画面を表示させます。
2 左の[機種別基本設定]のツリーを展開し、設定する機種を選択します。
3 各種設定をおこない、[適用]ボタンをクリックします。
各機種別の設定項目の詳細については、各 SVF Java PRODUCTS のユーザーズ・マニュ
アルを参照してください。
<[機種別詳細設定]画面>
3
SVF for Web / Client ユーザーズ・マニュアル
3-10
4 ActiveX を使用したデータの受け渡しと印刷
4-1
4 ActiveX を使用したデータの受け渡しと印刷
ここでは、Web サーバから ActiveX へデータを受け渡して印刷するための設定方法を説明
します。
Web サーバから ActiveX へデータを受け渡して印刷するには、<OBJECT>タグを使用し
CLASSID によって認識させて印刷する方法と、<OBJECT>タグを使用せず拡張子によっ
て認識させて印刷する方法の 2 通りの方法があります。<OBJECT>タグを使用した場合
に使用できる CLASSID は全部で 6 種類あります。
ここでは、拡張子や CLASSID、およびそれぞれの使用方法について説明します。
出力するファイルの拡張子 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
SVF for Web/Client で<OBJECT>タグ(CLASSID)を使用せずに出力する場合には、以
下の拡張子のいずれかによって ActiveX 側でデータを認識させ、プリンタへ出力します。
svfwdp or wdp 拡張子
通常使うプリンタへ出力します。
Content Type appl ication/x-web-direct-print
svfwdd or wdd 拡張子
プリンタ選択ダイアログボックスを表示し、選択されたプリンタへ出力しま
す。
Content Type appl ication/x-web-direct-dlg
svfwdv or wdv 拡張子
プレビュー表示をおこないます。プレビュー画面から印刷要求をかけると、
通常使うプリンタへ出力します(印字ページの指定が可能)。
Content Type appl ication/x-web-direct-preview-print
svfwdw or wdw 拡張子
プレビュー表示をおこないます。プレビュー画面から印刷要求をかけると、
印刷ダイアログから指定されたプリンタへ出力します(印字ページの指定
が可能)。
Content Type appl ication/x-web-direct-preview-dlg
svfwdx or wdx 拡張子
プレビュー表示のみをおこないます。印刷することはできません。
Content Type appl ication/x-web-direct-preview
設定方法
SVF for Web / Client ユーザーズ・マニュアル
4-2
CLASSID ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
<OBJECT>タグ内で使用する CLASSID は、全部で 6 種類用意されています。用途によっ
てそのうちのいずれかを使用してください。
CLASSID <OBJECT>タグ内で使用する定数です。使用方法は以下のとおりです。
通常使うプリンタへ出力する場合
8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC">
:
</OBJECT>
プレビュー表示後、通常使うプリンタへ出力する場合
13152438-AB67-48DB-B89F-F4C90E17AE07
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:13152438-AB67-48DB-B89F-F4C90E17AE07">
:
</OBJECT>
ダイアログボックスを表示して、指定のプリンタへ出力する場合
13374F9E-567A-4A22-BD52-F30D33AE64D1
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1">
:
</OBJECT>
プレビュー表示後、ダイアログボックスを表示し、指定のプリンタへ出力す
る場合
6E53FFF1-C2C8-4C09-A3A0-E5E4C16C8536
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:6E53FFF1-C2C8-4C09-A3A0-E5E4C16C8536">
:
</OBJECT>
CLASSID を指定した場合には、拡張子は認識されず、CLASSID のみが認識されて出力まで
をおこないます。したがって、CLASSID を指定する場合、ファイルの拡張子は任意のもの
でかまいません。
svfwdv or wdv 拡張子および svfwdw or wdw 拡張子を使用した場合は、印字ペー
ジの指定が可能です。
プレビュー機能を使用する場合は、データファイル形式が EMF である必要があります。
SVF for XPS 、 SVF for Java Print で 作 成 し た 印 刷 デ ー タ の 場 合 、 SVF for
Web/Client のプレビュー機能は使用できません。
拡張子変更に伴い、インストーラ、MSI,xsvfWeb.cab ファイルについて新しい拡張子対
応版と従来の物と 2 種類用意されています。ご利用形態に合わせてインストールくださ
い。詳細については、「6 章 その他」の注意事項を参照してください。
4 ActiveX を使用したデータの受け渡しと印刷
4-3
クライアントのプリンタ情報を取得する場合
BBD798FE-F5D8-4E98-AC63-83330715B7B9
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:BBD798FE-F5D8-4E98-AC63-83330715B7B9">
:
</OBJECT>
プレビューのみを実行する場合
336417B5-C331-4CBB-9148-641A51D4A28E
<OBJECT ID="SVF for Web/Client ActiveX"
CLASSID="CLSID:336417B5-C331-4CBB-9148-641A51D4A28E">
: </OBJECT>
「CLASSID」は<OBJECT>タグ内で使用することが前提となっていますので、かならず
<OBJECT>タグとともに使います。
SVF for Web / Client ユーザーズ・マニュアル
4-4
<OBJECT>タグを使用することにより、Web サーバ上からクライアントコンピュータに印刷
データを引き渡して出力し、その後正常に終了した場合(または正常に終了しなかった場
合)などに他の HTML 画面を表示するといった操作をおこなうことができます。
クライアントコンピュータから印刷を指示すると、まず Web サーバ上の SVF for Java Print、
SVF for Web/PDF Java Edit ion、SVF for PDF、または SVF for XPS のプログラムが印刷
データを作成し、その後、クライアントコンピュータ側へ印刷データパスを情報として付加した
HTML を送ります。そのデータをクライアントコンピュータの ActiveX がダウンロードし、通常使う
プリンタとして設定されているプリンタ、プリンタ選択ダイアログから選択されたプリンタ、ある
いはクライアントコンピュータのプリンタ情報を取得しブラウザ上に表示させて、その中から選
択されたプリンタへ出力する、またはプレビューを表示してから出力するなど、さまざまな出力
方法を選択することが可能です。
<OBJECT>タグを使用する場合は、その内部にパラメータを指定することで、ActiveX にそ
のパラメータを渡し HTML のやり取りができるようになります。これによって処理後の印刷の正
常終了用(EndUrl)、異常終了用(ErrorUrl)、キャンセル用(CancelUrl)などの HTML を表示
させ、ユーザーインターフェース画面を自由に作成することができます。
<ActiveX へのデータの受け渡し方法ー<OBJECT>タグを指定する方法>
<OBJECT>タグを使用して印刷する方法
4 ActiveX を使用したデータの受け渡しと印刷
4-5
通常使うプリンタに出力する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
通常使うプリンタに出力する場合、以下の設定をおこないます。
ファイル拡張子 .svfwdp .wdp
CLASSID を指定しない場合には、この拡張子によって認識されます。
CLASSID 8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC
CLASSID を指定した場合には拡張子は認識されず、CLASSID によって
認識されます。拡張子は任意のものを設定できます。
<OBJECT>タグ内で使用できるパラメータ
Raw 印刷データ場所、または印刷データを返すサーブレットなどの URL
Printer 出力プリンタ名(通常使うプリンタに出力する場合は省略します)
DocName
印刷時、Windows スプーラに表示されるドキュメント名
EndUrl 正常表示した時に表示する URL
ErrorUrl
異常終了した時に表示する URL
EmfTrayMode
クライアントプリンタのトレイ制御モード
0 Ver6.5 より前の製品との「互換モード」です。クライア
ントプリンタが「上段」、「中段」、「下段」、「手差し」の
トレイを定義している場合、それぞれ VrSetTray()で
指定した番号(1~4)を順に割り当てます。
1 列挙の順で対応付けするモード
クライアントプリンタの情報 を取得するコントロールで
取得したトレイ情報の列挙の順と VrSetTray で指
定するトレイ番号(1~)とを対応付けしたモードになり
ます。
クライアントに登録されているプリンタドライバが持つト
レイ番号情報を取得したい場合は、GetTrayInfo パ
ラメータを併用します。詳細については p.4-17 を参照
してください。
2 クライアントのトレイ情報 ini ファイル指定モード
モード 2 はあらかじめ、クライアントコンピュータに存在
する ini ファイルにトレイ情報を記述しておく必要があ
ります。
Config
ActiveX の動作を定義した xml の URL
SVF for Web / Client ユーザーズ・マニュアル
4-6
≪タグ記述例≫
クライアントコンピュータで、印刷文書名「SVFforWEB/Client」を指定し、通常使うプリンタ
に設定されているプリンタに出力する場合のタグの記述例は、次のようになります。
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<OBJECT ID="SVF for Web/Client ActiveX” WIDTH=0 HEIGHT=0
CLASSID="CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC">
:通常使うプリンタへ出力する場合の固定 CLASSID
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/****/WebClient.svfwdp">
:指定ディレクトリにある「WebClient.svfwdp」ファイルを参照します
<PARAM NAME="DocName" VALUE="SVFforWEB/Client">
:「SVFforWEB/Client」がスプールされる際の文書名になります
<PARAM NAME="Printer" VALUE="XXXXXX">
:ここで指定したプリンタ名のプリンタへ出力します
省略した場合は通常使うプリンタに出力します
<PARAM NAME="EndUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_end.html">
:印刷が正常終了した時は自動的に「wc_end.html」を表示します
<PARAM NAME="ErrorUrl" VALUE="http://(IP Addressまたはサーバ名)/****/wc_error.html">
:印刷が異常終了した時は自動的に「wc_error.html」を表示します
<PARAM NAME="EmfTrayMode" VALUE="n">
:トレイ制御モードを指定します
<PARAM NAME="Config" VALUE="http://(IP Address またはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
</OBJECT> </BODY>
</HTML>
4 ActiveX を使用したデータの受け渡しと印刷
4-7
プリンタ選択ダイアログボックスからプリンタを選択して出力する・・・・・
プリンタ選択ダイアログボックスを表示して、任意のプリンタを選択してから印刷する場合、
以下の設定をおこないます。
ファイル拡張子 .svfwdd .wdd
CLASSID を指定しない場合には、この拡張子によって認識されます。
CLASSID 13374F9E-567A-4A22-BD52-F30D33AE64D1
CLASSID を指定した場合には拡張子は認識されず、CLASSID によって
認識されます。拡張子は任意のものを設定できます。
<OBJECT>タグ内で使用できるパラメータ
Raw 印 刷 データ場 所 、または印 刷 データを返 すサーブレットなどの
URL
GetPrinterName
プリンタ名を送信(True、False)
デフォルトは「False」
GetDriverName
ドライバ名を送信(True、False)
デフォルトは「False」
GetPrinterResol
プリンタ解像度を送信(True、False)
デフォルトは「False」
DocName
印刷時、Windows スプーラに表示されるドキュメント名
EndUrl 正常表示した時に表示する URL
ErrorUrl
異常終了した時に表示する URL
CancelUrl
プリンタ選択ダイアログボックスでキャンセルボタンが押された時
に表示する URL で、プリンタ選択ダイアログボックスを表示する
場合のみ有効になります。
EmfTrayMode
クライアントプリンタのトレイ制御モード
0 Ver6.5 より前の製品との「互換モード」です。クライア
ントプリンタが「上段」、「中段」、「下段」、「手差し」の
トレイを定義している場合、それぞれ VrSetTray()で
指定した番号(1~4)を順に割り当てます。
1 列挙の順で対応付けするモード
クライアントプリンタの情報 を取得するコントロールで
取得したトレイ情報の列挙の順と VrSetTray で指
定するトレイ番号(1~)とを対応付けしたモードになり
ます。クライアントに登録されているプリンタドライバが
持 つ ト レ イ 番 号 情 報 を 取 得 し た い 場 合 は 、
GetTrayInfo パラメータを併用します。詳細について
は p.4-17 を参照してください。
SVF for Web / Client ユーザーズ・マニュアル
4-8
2 クライアントのトレイ情報 ini ファイル指定モード
モード 2 はあらかじめ、クライアントコンピュータに存在
する ini ファイルにトレイ情報を記述しておく必要があ
ります。
Config ActiveX の動作を定義した xml の URL
≪タグ記述例≫
クライアントコンピュータで、印刷文書名「SVFforWEB/Client」を指定し、プリンタ選択ダイ
アログボックスを表示してプリンタを選択した後に印刷する場合のタグの記述例は、次のよ
うになります。
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<OBJECT ID="SVF for Web/Client ActiveX”WIDTH=0 HEIGHT=0
CLASSID="CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1">
:プリンタ選択ダイアログボックスを表示し、任意のプリンタへ出力する 場合の固定 CLASSID
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/****/WebClient.svfwdd">
:指定ディレクトリにある「WebClient. svfwdd」ファイルを参照します
<PARAM NAME="GetPrinterName" VALUE="TRUE">
:プリンタ名を送信:True = 送信する
False = 送信しない
<PARAM NAME="GetDriverName" VALUE="TRUE">
:プリンタドライバ名を送信:True = 送信する
False = 送信しない
プリンタの情報を送信する際、Raw プロパティに指定された URL に対して GET メソッド
を用いてサーバから印刷データを取得します。その際、次のルールに従って URL を書き
換えてパラメータを送信します。
・URL に「?」が含まれる場合(すでにパラメータが存在する場合)
URL の最後に以下のパラメータをを付加します。
"&PrinterName=(プリンタ名)&DriverName=(ドライバ名)&PrinterResol=(解像度)"
・URL に「?」が含まれない場合(パラメータが存在しない場合)
URL の最後に以下のパラメータをを付加します。
"?PrinterName=(プリンタ名)&DriverName=(ドライバ名)&PrinterResol=(解像度)"
付加されるパラメータは固定です。同名のパラメータを使用しないようにしてください。
4 ActiveX を使用したデータの受け渡しと印刷
4-9
<PARAM NAME="GetPrinterResol" VALUE="TRUE">
:プリンタ解像度を送信:True = 送信する
False = 送信しない
<PARAM NAME="DocName" VALUE="SVFforWEB/Client">
:「SVFforWEB/Client」がスプールされる際の文書名になります
<PARAM NAME="EndUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_end.html">
:印刷が正常終了した時は自動的に「wc_end.html」を表示します
<PARAM NAME="ErrorUrl" VALUE="http://(IP Addressまたはサーバ名)/****/wc_error.html">
:印刷が異常終了した時は自動的に「wc_error.html」を表示します
<PARAM NAME="CancelUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_cancel.html">
:印刷がキャンセルされた時は自動的に「wc_cancel.html」を表示します
<PARAM NAME="EmfTrayMode" VALUE="n">
:トレイ制御モードを指定します
<PARAM NAME="Config" VALUE="http://(IP Address またはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
</OBJECT>
</BODY>
</HTML>
SVF for Web / Client ユーザーズ・マニュアル
4-10
プレビュー表示後、通常使うプリンタに出力する ・・・・・・・・・・・・・・・・・・・・
プレビュー表示後に通常使うプリンタに出力する場合、以下の設定をおこないます。
ファイル拡張子 .svfwdv .wdv
CLASSID を指定しない場合には、この拡張子によって認識されます。
CLASSID 13152438-AB67-48DB-B89F-F4C90E17AE07
CLASSID を指定した場合には拡張子は認識されず、CLASSID によって
認識されます。拡張子は任意のものを設定できます。
<OBJECT>タグ内で使用できるパラメータ
Raw 印 刷 データ場 所 、または印 刷 データを返 すサーブレットなどの
URL
Printer 出力プリンタ名
(通常使うプリンタに出力する場合は省略します)
DocName
印刷時、Windows スプーラに表示されるドキュメント名
CloseUrl
ユーザが印刷を実行せずにプレビューを終了させた場合に呼び
出す URL
EndUrl 正常表示した時に表示する URL
ErrorUrl
異常終了した時に表示する URL
EmfTrayMode
クライアントプリンタのトレイ制御モード
0 Ver6.5 より前の製品との「互換モード」です。クライア
ントプリンタが「上段」、「中段」、「下段」、「手差し」の
トレイを定義している場合、それぞれ VrSetTray()で
指定した番号(1~4)を順に割り当てます。
1 列挙の順で対応付けするモード
クライアントプリンタの情報 を取得するコントロールで
取得したトレイ情報の列挙の順と VrSetTray で指
定するトレイ番号(1~)とを対応付けしたモードになり
ます。クライアントに登録されているプリンタドライバが
持 つ ト レ イ 番 号 情 報 を 取 得 し た い 場 合 は 、
GetTrayInfo パラメータを併用します。詳細について
は p.4-17 を参照してください。
2 クライアントのトレイ情報 ini ファイル指定モード
モード 2 はあらかじめ、クライアントコンピュータに存在
する ini ファイルにトレイ情報を記述しておく必要があ
ります。
Config ActiveX の動作を定義した xml の URL
Top プレビューウインドウ上辺の座標 Y
Left プレビューウインドウ左辺の座標 X
Width プレビューウインドウの幅(ピクセル)
Height プレビューウインドウの高さ(ピクセル)
Scale プレビューウインドウの縮尺
4 ActiveX を使用したデータの受け渡しと印刷
4-11
≪タグ記述例≫
クライアントコンピュータで、印刷文書名「SVFforWEB/Client」を指定し、プレビューを表示
させた後、通常使うプリンタに設定されているプリンタに出力する場合のタグの記述例は、
次のようになります。
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<OBJECT ID="SVF for Web/Client ActiveX" WIDTH=0 HEIGHT=0
CLASSID="CLSID:13152438-AB67-48DB-B89F-F4C90E17AE07">
:通常使うプリンタへ出力する場合の固定 CLASSID
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/****/WebClient.svfwdv">
:指定ディレクトリにある「WebClient.svfwdv」ファイルを参照します
<PARAM NAME="DocName" VALUE="SVFforWEB/Client">
:「SVFforWEB/Client」がスプールされる際の文書名になります
<PARAM NAME="Printer" VALUE="XXXXXX">
:ここで指定したプリンタ名のプリンタへ出力します
省略した場合は通常使うプリンタに出力します
<PARAM NAME="EndUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_end.html">
:印刷が正常終了した時は自動的に「wc_end.html」を表示します
<PARAM NAME="CloseUrl" VALUE="http://(IP Address またはサーバ名)/****/ wc_close.html">
:プレビュー時に印刷をおこなわず、プレビューを閉じた場合に
「wc_closehtml」を表示します
Top、Left、Width、Height の指定がない場合は、起動した InternetExplorer の位置とサ
イズで表示をおこないます。
個々の param のいずれかの指定が省略された場合も、デフォルトで InternetExplorer
の位置とサイズが適用されます。たとえば、Top と Left のみ指定をおこない、Width と
Hight の指定が省略された場合、指定された位置に、起動した InternetExplorer のサイ
ズで表示をします。
Scale で指定可能な値は、200、150、100、75、50、25、PAGE_WIDTH、WHOLE_PAGE
のいずれかとなります。指 定 がない場 合 、または上 記 以 外 の値 が指 定 された場 合 は
"100"が自動的に設定されます。
SVF for XPS で作成した印刷データの場合、SVF for Web/Client のプレビュー機能は
使用できません。
SVF for Web / Client ユーザーズ・マニュアル
4-12
<PARAM NAME="ErrorUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_error.html">
:印刷が異常終了した時は自動的に「wc_error.html」を表示します
<PARAM NAME="EmfTrayMode" VALUE="n">
:トレイ制御モードを指定します
<PARAM NAME="Config" VALUE="http://(IP Address またはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
<param name="Top" Value="10">
:Y 座標の位置を 10 に設定します。
<param name="Left" Value="10">
:X 座標の位置を 10 に設定します。
<param name="Width" Value="600">
:幅を 600 ピクセルに設定します。
<param name="Height" Value="600">
:高さを 600 ピクセルに設定します。
<param name="Scale" Value="WHOLE_PAGE">
初期スケールは「ページ全体」(全体に収まる縮尺)が選択されます。
</OBJECT>
</BODY>
</HTML>
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択
して出力する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
プレビュー表示後に、プリンタ選択ダイアログボックスを表示して、任意のプリンタを選択し
てから印刷する場合、以下の設定をおこないます。
ファイル拡張子 .svfwdw .wdw
CLASSID を指定しない場合には、この拡張子によって認識されます。
CLASSID 6E53FFF1-C2C8-4C09-A3A0-E5E4C16C8536
CLASSID を指定した場合には拡張子は認識されず、CLASSID によって
認識されます。拡張子は任意のものを設定できます。
<OBJECT>タグ内で使用できるパラメータ
Raw 印 刷 データ場 所 、または印 刷 データを返 すサーブレットなどの
URL
DocName
印刷時、Windows スプーラに表示されるドキュメント名
CloseUrl
ユーザが印刷を実行せずにプレビューを終了させた場合に呼び
出す URL
4 ActiveX を使用したデータの受け渡しと印刷
4-13
EndUrl 正常表示した時に表示する URL
ErrorUrl
異常終了した時に表示する URL
EmfTrayMode
クライアントプリンタのトレイ制御モード
0 Ver6.5 より前の製品との「互換モード」です。クライア
ントプリンタが「上段」、「中段」、「下段」、「手差し」の
トレイを定義している場合、それぞれ VrSetTray()で
指定した番号(1~4)を順に割り当てます。
1 列挙の順で対応付けするモード
クライアントプリンタの情報 を取得するコントロールで
取得したトレイ情報の列挙の順と VrSetTray で指
定するトレイ番号(1~)とを対応付けしたモードになり
ます。クライアントに登録されているプリンタドライバが
持 つ ト レ イ 番 号 情 報 を 取 得 し た い 場 合 は 、
GetTrayInfo パラメータを併用します。詳細について
は p.4-17 を参照してください。
2 クライアントのトレイ情報 ini ファイル指定モード
モード 2 はあらかじめ、クライアントコンピュータに存在
する ini ファイルにトレイ情報を記述しておく必要があ
ります。
Config ActiveX の動作を定義した xml の URL
Top プレビューウインドウ上辺の座標 Y
Left プレビューウインドウ左辺の座標 X
Width プレビューウインドウの幅(ピクセル)
Heigh プレビューウインドウの高さ(ピクセル)
Scale プレビューウインドウの縮尺
Top、Left、Width、Height の指定がない場合は、起動した InternetExplorer の位置とサ
イズで表示をおこないます。
個々の param のいずれかの指定が省略された場合も、デフォルトで InternetExplorer
の位置とサイズが適用されます。たとえば、Top と Left のみ指定をおこない、Width と
Hight の指定が省略された場合、指定された位置に、起動した InternetExplorer のサイ
ズで表示をします。
Scale で指定可能な値は、200、150、100、75、50、25、PAGE_WIDTH、WHOLE_PAGE
のいずれかとなります。指 定 がない場 合 、または上 記 以 外 の値 が指 定 された場 合 は
"100"が自動的に設定されます。
プリンタ選択ダイアログボックスの「ドライバの設定を有効にする」にチェックを付け、[詳
細設定]ボタンをクリックすると、プリンタドライバのプロパティを変更することができます。
プリンタドライバのプロパティを有効にすると、様式ファイルや API で指定された片面・両
面の指定、およびトレイの指定を無効とし、プリンタドライバの設定を優先して印刷をお
こないます。
SVF for XPS で作成した印刷データの場合、SVF for Web/Client のプレビュー機能は
使用できません。
SVF for Web / Client ユーザーズ・マニュアル
4-14
クライアントコンピュータで、印刷文書名「SVFforWEB/Client」を指定し、プレビューを表示
させた後、プリンタ選択ダイアログボックスを表示してプリンタを選択した後に印刷する場合
のタグの記述例は、次のようになります。
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<OBJECT ID="SVF for Web/Client ActiveX"WIDTH=0 HEIGHT=0
CLASSID="CLSID:6E53FFF1-C2C8-4C09-A3A0-E5E4C16C8536">
:プリンタ選択ダイアログボックスを表示し、任意のプリンタへ出力
する場合の固定 CLASSID
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/****/WebClient.svfwdw">
:指定ディレクトリにある「WebClient. svfwdw」ファイルを参照します
<PARAM NAME="DocName" VALUE="SVFforWEB/Client">
:「SVFforWEB/Client」がスプールされる際の文書名になります
<PARAM NAME="EndUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_end.html">
:印刷が正常終了した時は自動的に「wc_end.html」を表示します
<PARAM NAME="CloseUrl" VALUE="http://(IP Address またはサーバ名)/****/ wc_close.html">
:プレビュー時に印刷をおこなわず、プレビューを閉じた場合に
「wc_closehtml」を表示します
<PARAM NAME="ErrorUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_error.html">
:印刷が異常終了した時は自動的に「wc_error.html」を表示します
<PARAM NAME="EmfTrayMode" VALUE="n">
:トレイ制御モードを指定します
<PARAM NAME="Config" VALUE="http://(IP Address またはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
<param name="Top" Value="10">
:Y 座標の位置を 10 に設定します。
<param name="Left" Value="10">
:X 座標の位置を 10 に設定します。
<param name="Width" Value="600">
:幅を 600 ピクセルに設定します。
<param name="Height" Value="600">
:高さを 600 ピクセルに設定します。
<param name="Scale" Value="WHOLE_PAGE">
:初期スケールは「ページ全体」(全体に収まる縮尺)が選択されます。
</OBJECT>
</BODY>
</HTML>
4 ActiveX を使用したデータの受け渡しと印刷
4-15
プレビューを表示させる(印刷は不可) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・
クライアントにプレビューの表示のみを可能にする場合、以下の設定をおこないます。
ファイル拡張子 .svfwdx .wdx
CLASSID を指定しない場合には、この拡張子によって認識されます。
CLASSID 336417B5-C331-4CBB-9148-641A51D4A28E
CLASSID を指定した場合には拡張子は認識されず、CLASSID によって
認識されます。拡張子は任意のものを設定できます。
<OBJECT>タグ内で使用できるパラメータ
Raw 印 刷 データ場 所 、または印 刷 データを返 すサーブレットなどの
URL
DocName
印刷時、Windows スプーラに表示されるドキュメント名
CloseUrl
ユーザが印刷を実行せずにプレビューを終了させた場合に呼び
出す URL
ErrorUrl
異常終了した時に表示する URL
Config ActiveX の動作を定義した xml の URL
Top プレビューウインドウ上辺の座標 Y
Left プレビューウインドウ左辺の座標 X
Width プレビューウインドウの幅(ピクセル)
Heigh プレビューウインドウの高さ(ピクセル)
Scale プレビューウインドウの縮尺
Top、Left、Width、Height の指定がない場合は、起動した InternetExplorer の位置とサ
イズで表示をおこないます。
個々の param のいずれかの指定が省略された場合も、デフォルトで InternetExplorer
の位置とサイズが適用されます。たとえば、Top と Left のみ指定をおこない、Width と
Hight の指定が省略された場合、指定された位置に、起動した InternetExplorer のサイ
ズで表示をします。
Scale で指定可能な値は、200、150、100、75、50、25、PAGE_WIDTH、WHOLE_PAGE
のいずれかとなります。指 定 がない場 合 、または、上 記 以 外 の値 が指 定 された場 合 は
"100"が自動的に設定されます。
SVF for Web / Client ユーザーズ・マニュアル
4-16
≪タグ記述例≫
クライアントコンピュータで、印刷文書名「SVFforWEB/Client」を指定し、プレビューを表示
させる場合のタグの記述例は、次のようになります。
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<OBJECT ID="SVF for Web/Client ActiveX"WIDTH=0 HEIGHT=0
CLASSID="CLSID:336417B5-C331-4CBB-9148-641A51D4A28E">
:プリンタ選択ダイアログボックスを表示し、任意のプリンタへ出力
する場合の固定 CLASSID
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/****/WebClient.svfwdx">
:指定ディレクトリにある「WebClient. svfwdx」ファイルを参照します
<PARAM NAME="DocName" VALUE="SVFforWEB/Client">
:「SVFforWEB/Client」がスプールされる際の文書名になります
<PARAM NAME="CloseUrl" VALUE="http://(IP Address またはサーバ名)/****/ wc_close.html">
:プレビュー時に印刷をおこなわず、プレビューを閉じた場合に
「wc_closehtml」を表示します
<PARAM NAME="ErrorUrl" VALUE="http://(IP Address またはサーバ名)/****/wc_error.html">
:印刷が異常終了した時は自動的に「wc_error.html」を表示します
<PARAM NAME="Config" VALUE="http://(IP Address またはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
<param name="Top" Value="10">
:Y 座標の位置を 10 に設定します。
<param name="Left" Value="10">
:X 座標の位置を 10 に設定します。
<param name="Width" Value="600">
:幅を 600 ピクセルに設定します。
<param name="Height" Value="600">
:高さを 600 ピクセルに設定します。
<param name="Scale" Value="WHOLE_PAGE">
:初期スケールは「ページ全体」(全体に収まる縮尺)が選択されます。
</OBJECT>
</BODY>
</HTML>
4 ActiveX を使用したデータの受け渡しと印刷
4-17
クライアントコンピュータのプリンタ情報を取得し、クライアントのブラウ
ザへプリンタ一覧を表示させ、選択されたプリンタに出力する ・・・・・・・・
・
クライアントコンピュータがWebサーバからプリンタ一覧用のHTMLを受け取り、プリンタをブラウザ上で
選択させ、そのプリンタへ出力する場合は、以下の設定をおこないます。
CLASSID BBD798FE-F5D8-4E98-AC63-83330715B7B9
<OBJECT>タグ内で使用できるパラメータ
Url 取得したプリンタ情報を渡すサーブレットなどの URL
GetDriverName
プリンタドライバ名を取得(True、False)
GetPrinterResol
プリンタ解像度を取得(True、False)
GetTrayInfo
プリンタトレイ情報を取得(True、False)
Config ActiveX の動作を定義した xml の URL
SVF for Web / Client ユーザーズ・マニュアル
4-18
取得できる POST データ名と書式
Pn プリンタドライバ名(パラメータが True の場合)
プリンタ解像度(パラメータが True の場合)
プリンタトレイ情報(パラメータが True の場合)
n は、0 番目から始まり、クライアントコンピュータに登録されている
プリンタの台数分を自動的に格納します。
プリンタ解像度は、
縦横が同じ解像度の場合:XXX
縦横が違う解像度の場合:XXX:YYY
となります。
GetDriverName、GetPrinterResol、GetTrayInfo のパラメータを False に設定した場
合は、プリンタ名称のみを取得します。出力の際に必要となるのはプリンタ名のみです。
ドライバ名と解像度を取得したい場合にはパラメータを True にします。
すべて True にした時は次のような表示となります。
プリンタ名,プリンタドライバ名,解像度, トレイの数, ****, ****, ****
GetDriverName、GetPrinterResolのパラメータをFalseに設 定 し、GetTrayInfoのパラ
メータをTrueに設定した場合は、以下のようにカンマ区切りでトレイ情報を取得すること
が可能です。
プリンタ名, トレイの数, ****, ****, ****
[例]
RICOH IPSIO NX920,5,自動トレイ選択,7,トレイ1,260,トレイ2,261,トレイ3,262,トレイ4, 263
上記のようにトレイ情報が取得された場合、
VrSetTray(1)の場合は自動トレイ選択
VrSetTray(2)の場合はトレイ1
:
といったように指定されます。
このトレイ指 定 を有 効 にするためには、<OBJECT>タグのパラメータのEmfTrayModeを
「1」に設定する必要があります。
4 ActiveX を使用したデータの受け渡しと印刷
4-19
≪タグ記述例≫
サーバが、クライアントコンピュータのプリンタ一覧情報を取得して、その上から 5 つのプリン
タ名を Java サーブレット「http://10.10.10.10/servlet/WebClient_servlet」に表示する場
合のタグ記述例と、ClientPrinter サーブレットソースは、次のようになります。
<クライアント側―呼び出し元 HTML>
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<FORM>
<OBJECT ID="SVF for Web/Client ActiveX” WIDTH=0 HEIGHT=0
CLASSID="CLSID:BBD798FE-F5D8-4E98-AC63-83330715B7B9">
:プリンタ一覧をクライアントコンピュータのブラウザへ表示する
場合の固定 CLASSID
<PARAM NAME="Url" VALUE="http://(IP Address またはサーバ名)/servlet/PrinterList ">
:取得したプリンタ情報を渡すサーブレットなどの URL を指定します
<PARAM NAME="GetDriverName" VALUE="False">
:プリンタドライバ名を取得:True = 取得する
False = 取得しない
<PARAM NAME="GetPrinterResol" VALUE="False">
:プリンタ解像度を取得:True = 取得する
False = 取得しない
<PARAM NAME="GetTrayInfo" VALUE="False">
:プリンタトレイ情報を取得:True = 取得する
False = 取得しない
<PARAM NAME="Config" VALUE="http://(IP Addressまたはサーバ名)/****/ClientIni.xml">
:印刷実行に関する設定ファイルである Ini ファイルの内容を変更します。
</OBJECT>
</FORM>
</BODY>
</HTML>
SVF for Web / Client ユーザーズ・マニュアル
4-20
<サーバ側―実行される Java プログラム/PrinterList>
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = new PrintWriter (response.getOutputStream());
response.setContentType("text/html");
String Printer1 = request.getParameter("P0");
String Printer2 = request.getParameter("P1");
String Printer3 = request.getParameter("P2"); :クライアント側からプリンタ情報を格納します
String Printer4 = request.getParameter("P3");
String Printer5 = request.getParameter("P4");
out.println("<HTML>");
out.println("<HEAD><TITLE>WEB CLIENT Install</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM ACTION=¥"/servlet/WebClient_servlet¥" METHOD=¥"Post¥">"); :Action=***には、実行ボタンが押された際に呼び出す Java プログラムのディレクトリを記します
out.println("<B>プリンター一覧</B><BR>");
out.println("<BR>");
out.println("Printer1:");
out.println("<input type=¥"radio¥" name=¥"Check¥"
value=¥""+Printer1+"¥"checked>");
out.println(Printer1);
out.println("Printer2:");
out.println("<input type=¥"radio¥" name=¥"Check¥" value=¥""+Printer2+"¥">");
out.println(Printer2);
out.println("Printer3:");
out.println("<input type=¥"radio¥" name=¥"Check¥" value=¥""+Printer3+"¥">");
out.println(Printer3");
out.println("Printer4:");
out.println("<input type=¥"radio¥" name=¥"Check¥" value=¥""+Printer4+"¥">");
out.println(Printer4);
out.println("Printer5");
out.println("<input type=¥"radio¥" name=¥"Check¥" value=¥""+Printer5+"¥">");
out.println(Printer5); :ここまではラジオボタンを表示するための記述です 実際に出力するときは任意に記述します
out.println("<input type=¥"submit¥" name=¥"Execute¥"value=¥"印刷実行¥" >"); :type を「submit」にすることで、<FORM>タグで指定 されている Action が動作し、この場合 Java サーブレット の WebClient_servlet が実行されます
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
out.close();
4 ActiveX を使用したデータの受け渡しと印刷
4-21
ここでは<OBJECT>タグを使用して、サーバにデータを作成せず(ストリーム方式)にクライア
ントプリンタから印刷させる方法を説明します。
<OBJECT>タグを使用して印刷する方法:応用編
SVF for Web / Client ユーザーズ・マニュアル
4-22
≪タグ記述例≫
<クライアント側―呼び出し元 HTML>
<HTML>
<HEAD><TITLE>WEB CLIENT with Object Tag</TITLE></HEAD>
<BODY>
<FORM>
<OBJECT ID="SVF for Web/Client ActiveX" WIDTH=0 HEIGHT=0
CLASSID="CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC">
:通常使うプリンタへ印刷
<PARAM NAME="Raw" VALUE="http://(IP Address またはサーバ名)/servlet/StreamPrint">
:ここでは物理的に存在するファイルではなく、サーブレットを指定
<PARAM NAME="DocName" VALUE="SVF for Web/Client">
</OBJECT>
</FORM>
</BODY>
</HTML>
<サーバ側―実行される Java プログラム/StreamPrint>
public void service(HttpServlet Request request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/x-web-direct-print");
OutputStream outstrm = response.getOutputStream();
Vrw32 svf = new Vrw32();
int ret = 0;
ret = svf.VrInit();
ret = svf.VrSetPrinter("","EMF"); //EMF 出力用
ret = svf.VrSetSpoolFileStream(outstrm); //ストリーム出力用の関数を使用する
ret = svf.VrSetForm("HACHUSHO.frm",4);
ret = svf.VrComout("/{SPLM 3}/"); //ファイル圧縮の指定
ret = svf.VrsOut("発行年月日","1977/07/04");
ret = svf.VrsOut("発注番号","000001");
ret = svf.VrsOut("商品名","SVF for Web/Client");
:
ret = svf.VrEndRecord();
:
ret = svf.VrPrint();
ret = svf.VrQuit();
outstrm.flush();
outstrm.close();
:
}
4 ActiveX を使用したデータの受け渡しと印刷
4-23
<OBJECT>タグを使用せずに直接ダウンロードする場合、クライアントコンピュータから印刷
を指示すると、その印刷指示は Internet Explorer からキックされます。その指示に従い、ク
ライアントコンピュータの ActiveX が、あらかじめ作成してサーバ上に保存してある印刷デー
タを Web サーバ上の SVF for Java Print、SVF for Web/PDF Java Edition、SVF for
PDF、または SVF for XPS から受け取ります。このため、クライアントコンピュータが認識でき
るところに印刷データファイルを保存しておく必要があります。受け取った印刷データは、ク
ライアントコンピュータに接続されているプリンタから出力されます。出力は、通常使うプリン
タとして設定したプリンタ、プリンタ選択ダイアログボックスで選択したプリンタ、またはプレ
ビュー機能を使用した出力などを指定しておこなうことができます。
この場合には、<OBJECT>タグを使用していないため、EndUrl、ErrorUrl などのパラメータを指定する
ことはできないので注意してください。
<ActiveX へのデータの受け渡し方法―直接ダウンロードする場合>
<OBJECT>タグを使用しないで印刷する場合
<OBJECT>タグを使用しないため、EndUrl、ErrorUrl などのパラメータを指定すること
はできません。
直接ダウンロードする場合は、動作の流れの中で、印刷データファイルを削除するタイミ
ングはありません。
SVF for Web / Client ユーザーズ・マニュアル
4-24
通常使うプリンタに印刷する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
通常使うプリンタに印刷する場合は、つぎのファイル拡張子を使用します。
ファイル拡張子 .svfwdp .wdp
Content Type appl ication/x-web-direct-print
≪タグ記述例≫
サーブレット―Java プログラム
作成されたファイルをクライアントへ
response.sendRedirect("http://(IP Address またはサーバ名)/****/WebClient.svfwdp");
従来の拡張子を利用する場合は WebClient.wdp となります
プリンタ選択ダイアログボックスからプリンタを選択して印刷する・・・・・
クライアントコンピュータで、プリンタ選択ダイアログボックスから、プリンタを選択して印刷す
る場合は、つぎのファイル拡張子を使用します。
ファイル拡張子 .svfwdd .wdd
Content Type appl ication/x-web-direct-dlg
≪タグ記述例≫
サーブレット―Java プログラム
作成されたファイルをクライアントへ
response.sendRedirect("http://(IP Address またはサーバ名)/****/WebClient.svfwdd");
従来の拡張子を利用する場合は WebClient.wdd となります
プレビュー表示後、通常使うプリンタに出力する ・・・・・・・・・・・・・・・・・・・・
プレビュー表示後に、通常使うプリンタに出力する場合、つぎのファイル拡張子を使用します。
ファイル拡張子 .svfwdv .wdv
Content Type appl ication/x-web-direct-preview-print
≪タグ記述例≫
サーブレット―Java プログラム
作成されたファイルをクライアントへ
response.sendRedirect("http://(IP Address またはサーバ名)/****/WebClient.svfwdv");
従来の拡張子を利用する場合は WebClient.wdv となります
プリンタ選択ダイアログボックスの「ドライバの設定を有効にする」にチェックを付け、[詳
細設定]ボタンをクリックすると、プリンタドライバのプロパティを変更することができます。
プリンタドライバのプロパティを有効にすると、様式ファイルや API で指定された片面・両
面の指定、およびトレイの指定を無効とし、プリンタドライバの設定を優先して印刷をお
こないます。
4 ActiveX を使用したデータの受け渡しと印刷
4-25
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択して出力する ・・・
プレビュー表示後に、プリンタ選択ダイアログボックスを表示して、任意のプリンタを選択し
てから印刷する場合、つぎのファイル拡張子を使用します。
ファイル拡張子 .svfwdw .wdw
Content Type appl ication/x-web-direct-preview-dlg
≪タグ記述例≫
サーブレット―Java プログラム
作成されたファイルをクライアントへ
response.sendRedirect("http://(IP Address またはサーバ名)/****/WebClient.svfwdw");
従来の拡張子を利用する場合は WebClient.wdw となります
プレビューを表示させる(印刷は不可) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・
クライアントにプレビューの表示のみを可能にする場合、つぎのファイル拡張子を使用します。
ファイル拡張子 .svfwdx .wdx
Content Type appl ication/x-web-direct-preview
≪タグ記述例≫
サーブレット―Java プログラム
作成されたファイルをクライアントへ
response.sendRedirect("http://(IP Address またはサーバ名)/****/WebClient.svfwdx");
従来の拡張子を利用する場合は WebClient.wdx となります
プリンタ選択ダイアログボックスの「ドライバの設定を有効にする」にチェックを付け、[詳
細設定]ボタンをクリックすると、プリンタドライバのプロパティを変更することができます。
プリンタドライバのプロパティを有効にすると、様式ファイルや API で指定された片面・両
面の指定、およびトレイの指定を無効とし、プリンタドライバの設定を優先して印刷をお
こないます。
SVF for Web / Client ユーザーズ・マニュアル
4-26
エラー時用の静的な HTML を表示させることも可能ですが、エラー時用のサーブレットを指
定して、そのサーブレットに HTML などのユーザーインターフェースを加工し、エラー内容など
を表示させることも可能です。
SVFWC_ERR_MESSAGE
エラーの詳細 情報を指定します。エラーダイアログに出力される文字列
が指定されます。
SVFWC_ERR_APINAME
エラーの原因が WindowsAPI の場合、その API の名前を指定します。
WindowsAPI 以外の場合は、""を指定します。
SVFWC_ERR_ERRCODE
エラーの発生した API がエラーコードを返す API の場合、エラーコードを指
定します。エラーコードを返さないエラーの場合は、""を指定します。
Web/Client の ActiveX が正常に Windows スプーラにデータをスプールすることができな
かった場合に、ErrorUrl で指定された URL にこれらのパラメータが送られます。その際に、
サーバ側で getParameter によってエラー内容を取得できるようになります。
サーバ側では、取得したパラメータをもとに、エラーの内容を HTML に表示させることなどが
可能になり、よりよいユーザーインターフェースを作成することができます。
ErrorUrl で取得できるパラメータについて
4 ActiveX を使用したデータの受け渡しと印刷
4-27
Config パラメータでは、SVF for Web/Client をインストールした際に作成される設定ファイ
ル(XsvfWeb.ini)の内容を指定もしくは変更させることが可能です。
<OBJECT>タグ内で Config パラメータを使用して、サーバに存在する XML ファイルを指
定します。その XML 内に設定内容を記述しておくことで、自動的にクライアント側に存在す
る設定ファイル(XSvfWeb.ini)の内容を設定、変更します。
クライアントのトレイ制御モードを指定した場合で、モード「2」を指定した時は、クライアントプ
リンタのトレイ情報をこの ini ファイルに記述する必要があります。詳細については、「ini ファイ
ルに定義が必要なモードを指定した場合」(p.4-28)を参照してください。
モードの指定方法は、ini ファイルに記述する方法と、<OBJECT>タグで EmfTrayMode を指
定する方法の 2 種類があります。
Config パラメータを使用した XML サンプル ・・・・・・・・・・・・・・・・・・・・・・
ClientIni.xml
Config 用 XML(サンプル)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ClientIni>
<sections>
<section name="System">
<item
key="ShowErrorDlg"
value="False"
/>
<item
key="SendErrorMethod"
value="POST"
/>
</section>
<section name="Debug">
<!--
ログ関連の設定は起動時に参照されるため、設定を反映させるには
Internet Explorer の再起動が必要です
-->
<item
key="OutLog"
value="False"
/>
Config パラメータの使用方法
SVF for Web / Client ユーザーズ・マニュアル
4-28
<item
key="FileName"
value="c:¥xsvfweb.log"
/>
<item
key="LogLevel"
value="INFO"
/>
</section>
</sections>
</ClientIni>
ini ファイルに定義が必要なモードを指定した場合 ・・・・・・・・・・・・・・・・・・
ini ファイルに、VrSetTray で指定するトレイ番号とプリンタドライバが返すトレイ番号との対
応を定義します。プリンタドライバが返すトレイ番号は、クライアントプリンタ情報を取得する
ActiveX を使って取得できます。
プリンタごとのセクション内に、下記の様にトレイ番号の対応を(複数)記述します。
[cpi:(プリンタ名)]
Tray(VrSetTray のトレイ番号)=(プリンドライバの返すトレイ番号)
[例]
[cpi:Canon LASER SHOT LBP-2810]
Tray1=1
Tray2=7
Tray3=8
Tray4=4
in i ファイルに記述するためには、あらかじめプリンタドライバごとのトレイ情報を知っておく
ことが必要となります。「プリンタ情報を取得するコントロールを使用して情報を取得して
おいてください。
4 ActiveX を使用したデータの受け渡しと印刷
4-29
XSvfWeb.ini ファイル設定項目・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
設定ファイル(XSvfWeb.ini)の内容は以下のようになっています。
≪System≫セクション
ShowErrorDlg
機 能 エラーダイアログの表示/非表示を指定します。
設 定 ShowErrorDlg = False ( or = 0 ) 非表示
ShowErrorDlg = True ( or = 1 ) 表示
初期設定 ShowErrorDlg = False
CsmErrorMsg
機 能 エラーダイアログに表示する文字列を指定します。
初期設定 CsmErrorMsg = " "
SendErrorMethod
機 能 ErrorUrl へエラー情報を送信するリクエストのメソッドを指定します。
設 定 SendErrorMethod = POST
SendErrorMethod = GET
初期設定 SendErrorMethod =POST
DefaultEmfTrayMode
機 能 クライアントのトレイ制御モードを指定します。
EmfTryaMode パラメータでの指定が優先されます。
設 定 0 従来互換モード(既定値)
1 プリンタドライバが列挙するトレイ番号を順に対応付けするモード
2 ini ファイルに定義するモード
初期設定 記述無し(追記が必要)
SVF for Web / Client ユーザーズ・マニュアル
4-30
≪Debug≫セクション
OutLog
機 能 デバッグログの出力をするかしないか指定します。
設 定 OutLog = False ( or = 0 ) 出力しない
OutLog = True ( or = 1 ) 出力する
初期設定 OutLog = False
FileName
機 能 デバッグログをファイルに出力する場合のファイル名を指定します。
初期設定 Fi leName = nul l (出力されない)
LogLevel
機 能 ログに出 力するプライオリティを指定 します。指定されたプライオリティと
同じか、より高いレベルが出力されます。
設 定 LogLevel = EMERG, =ALERT, =CRIT, =ERROR, =WARN, =NOTICE,
=INFO, =DEBUG
初期設定 LogLevel =INFO
4
5 サンプルプログラム
5-1
5 サンプルプログラム
ここでは SVF for Web/Client を使用した以下の 8 種類のサンプルプログラムを記載します。
・ <OBJECT>タグを使用して通常使うプリンタに直接出力する場合
・ <OBJECT>タグを使用してプリンタ選択ダイアログボックスを表示させ、クライアントがプ
リンタを選択して出力する場合
・ プレビュー表示後、通常使うプリンタに出力する場合
・ プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択して出力する場合
・ プレビューを表示させる場合(印刷は不可)
・ クライアントコンピュータのプリンタ情報を取得し、クライアントのブラウザへプリンタ一覧(コ
ンボボックス)を表示させ、選択されたプリンタへ出力する場合
・ 印刷データを作成せず、ストリームにより直接出力する場合
SVF for Web / Client ユーザーズ・マニュアル
5-2
製品に付属しているサンプルファイルのディレクトリ構成はつぎのようになります。
WebClient
cancel.html
close.html
end.html
error.html
index.html
instal l .html
XSvfWeb.cab
xsvfweb.xml
hachusho.frm
WEB-INF
classes
directServlet.java
dialogServlet.java
execPrintServlet.java
execStreamPrintServlet.java
preDirectServlet.java
preDialogServlet.java
previewServlet.java
printerListServlet.java
printerListShowServlet.java
streamServlet.java
サンプルのディレクトリ構成
付属プログラムは、あくまでサンプルとしてご利用いただくものです。弊社では、このサン
プルプログラムを使用した事による、いかなる責を負わないものとします。
内容を充分確認した上で、使用してください。
5 サンプルプログラム
5-3
サンプル使用のための条件 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
サンプルファイルを使用するためには、つぎの条件が必要となります。
SVF 実行部がインストールされており、実行できる Web Application Server が準備さ
れていることが必要となります。
SVF 実行部を動作させる為に、SVF 実行部に含まれる svf.jar が各 Web Application
Server の CLASSPATH に通っている必要があります。
サンプルの HTML ファイル、Servlet には、出力ファイルへのパス、フォームへのパス、各
サーブレットへのパス、各 HTML ファイルへのパスが含まれています。これらのパスは、実
行環境に合わせて修正し、コンパイルして使用してください。
すべてのサンプルプログラムは、index.html 上から実行することができます。
<index.html>
使用する Web Appl ication Server 自体の設定等により引き起こされた障害に関して
は、弊社のサポート対象外となりますので、ご了承いただけますようお願い致します。
サンプルプログラム実行用 HTML ファイル「index.html」
SVF for Web / Client ユーザーズ・マニュアル
5-4
index.html の「ここからインストールをおこなってください。」には、自動インストール用 HTML
ファイル「instal l .html」にリンクが設定されています。
<index.html>
「install.html」
<html>
<head>
<title>Web Client インストール</title>
<meta http-equiv="Content-Type"
content="text/html;charset=shift_jis">
</head>
<body>
<form>
<OBJECT ID=" SVF for WEB/Client " WIDTH=0 HEIGHT=0
CLASSID="CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1"
CODEBASE="http://localhost:8080/WebClient/XSvfWeb.cab#Version=X,X,X,X">
<PARAM NAME="DocName" VALUE="SVF for WEB/Client">
<PARAM NAME="Printer" VALUE="">
</OBJECT>
</form>
</body>
</html>
自動インストール用 HTML ファイル「install.html」
実行環境(お客様のアプリケーション)に合わせて install.html へのパスを変更してください。
自動インストール用 HTML ファイル「instal l .html」内では、モジュール(XSvfWeb.cab)へ
の URL を指定しています。実行環境に合わせて URL を変更してください。
5 サンプルプログラム
5-5
<OBJECT>タグを使 用 して、通 常 使 うプリンタに直 接 出 力 する場 合 のサーブレット側
Java プログラムを記載します。
index.html の「直接印刷」の[印刷実行]ボタンをクリックすると、「directServlet.java」にリ
クエストが送られます。
<index.html>
「directServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* directServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class directServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
<OBJECT>タグを使用して通常使うプリンタに直接出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
SVF for Web / Client ユーザーズ・マニュアル
5-6
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wdpとなります
String outputfname = TIMEN + ".svfwdp";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
5 サンプルプログラム
5-7
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
SVF for Web / Client ユーザーズ・マニュアル
5-8
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
//retの値が負の値だった場合の処理
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-9
<OBJECT>タグを使用してプリンタ選択ダイアログボックスを表示させ、クライアントがプリ
ンタを選択して出力する場合のサーブレット側 Java プログラムを記載します。
index.html の 「 ダ イ ア ロ グ 選 択 」 の [ 印 刷 実 行 ] ボ タ ン を ク リ ッ ク す る と 、
「dialogServlet.java」にリクエストが送られます。
<index.html>
「dialogServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* dialogServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class dialogServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
<OBJECT>タグを使用してプリンタ選択ダイアログボックスを表示させ、クライアントがプリンタを選択して出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
SVF for Web / Client ユーザーズ・マニュアル
5-10
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wddとなります
String outputfname = TIMEN + ".svfwdd";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
5 サンプルプログラム
5-11
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
SVF for Web / Client ユーザーズ・マニュアル
5-12
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"CancelUrl¥"
VALUE=¥"http://localhost:8080/WebClient/cancel.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
//retの値が負の値だった場合の処理
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
5 サンプルプログラム
5-13
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
SVF for Web / Client ユーザーズ・マニュアル
5-14
プレビュー表示後、通常使うプリンタに出力する場合のサーブレット側 Java プログラムを記
載します。
index.html の 「 プ レ ビ ュ ー + 直 接 印 刷 」 の [ 印 刷 実 行 ] ボ タ ン を ク リ ッ ク す る と 、
「preDirectServlet.java」にリクエストが送られます。
<index.html>
「preDirectServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* preDirectServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class preDirectServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
プレビュー表示後、通常使うプリンタに出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
5 サンプルプログラム
5-15
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wdvとなります
String outputfname = TIMEN + ".svfwdv";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
SVF for Web / Client ユーザーズ・マニュアル
5-16
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
5 サンプルプログラム
5-17
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:13152438-AB67-48DB-B89F-F4C90E17AE07¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"CloseUrl¥"
VALUE=¥"http://localhost:8080/WebClient/close.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("<PARAM NAME=¥"Top¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Left¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Width¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Height¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Scale¥" VALUE=¥"WHOLE_PAGE¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
SVF for Web / Client ユーザーズ・マニュアル
5-18
//retの値が負の値だった場合の処理
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-19
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択して出力する場合の
サーブレット側 Java プログラムを記載します。
index.html の 「 プ レ ビ ュ ー + ダ イ ア ロ グ 選 択 」 の [ 印 刷 実 行 ] ボ タ ン を ク リ ッ ク す る と 、
「preDialogServlet.java」にリクエストが送られます。
<index.html>
「preDialogServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* preDialogServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class preDialogServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
プレビュー表示後、プリンタ選択ダイアログボックスからプリンタを選択して出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
SVF for Web / Client ユーザーズ・マニュアル
5-20
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wdwとなります
String outputfname = TIMEN + ".svfwdw";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
5 サンプルプログラム
5-21
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
SVF for Web / Client ユーザーズ・マニュアル
5-22
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:6E53FFF1-C2C8-4C09-A3A0-E5E4C16C8536¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"CloseUrl¥"
VALUE=¥"http://localhost:8080/WebClient/close.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("<PARAM NAME=¥"Top¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Left¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Width¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Height¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Scale¥" VALUE=¥"WHOLE_PAGE¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
5 サンプルプログラム
5-23
//retの値が負の値だった場合の処理
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
SVF for Web / Client ユーザーズ・マニュアル
5-24
印刷はせずにプレビューを表示させる場合のサーブレット側 Java プログラムを記載します。
index.html の「プレビュー」の[印刷実行]ボタンをクリックすると、「previewServlet.java」に
リクエストが送られます。
<index.html>
「previewServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* previewServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class previewServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
プレビューを表示させる場合(印刷は不可)
Servlet へのパスは、実行環境に合わせて変更してください。
5 サンプルプログラム
5-25
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wdxとなります
String outputfname = TIMEN + ".svfwdx";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
SVF for Web / Client ユーザーズ・マニュアル
5-26
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
5 サンプルプログラム
5-27
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:336417B5-C331-4CBB-9148-641A51D4A28E¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"CloseUrl¥"
VALUE=¥"http://localhost:8080/WebClient/close.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("<PARAM NAME=¥"Top¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Left¥" VALUE=¥"10¥">");
out.println("<PARAM NAME=¥"Width¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Height¥" VALUE=¥"600¥">");
out.println("<PARAM NAME=¥"Scale¥" VALUE=¥"WHOLE_PAGE¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
//retの値が負の値だった場合の処理
SVF for Web / Client ユーザーズ・マニュアル
5-28
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-29
クライアントコンピュータのプリンタ情報を取得し、クライアントのブラウザへプリンタ一覧コン
ボボックスを表示させ、選択されたプリンタへ出力する場合のサーブレット側 Java プログラ
ムを記載します。
index.html の 「 プ リ ン タ 一 覧 表 示 」 の [ 印 刷 実 行 ] ボ タ ン を ク リ ッ ク す る と 、
「printerListServlet.java」にリクエストが送られます。
その後、クライアントへ HTML が返されますが、<OBJECT>タグ内の URL パラメータに従っ
てプリンタ情報を「printerListShowServlet.java」に渡します。ここでプリンタ一覧の HTML
を作成して、再度クライアントへ処理が移り、プリンタ一覧が表示されます。
クライアント側でプリンタを選択し、印刷実行ボタンを押すことで「execPrintServlet.java」
へリクエストが送られ、選択されたプリンタから印刷が開始されます。
<index.html>
「printerListServlet.java」
import javax.servlet.http.*;
import java.io.*;
/*
* printerListServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class printerListServlet extends HttpServlet {
クライアントのプリンタ情報を取得し、クライアントのブラウザへプリンタ一覧を表示させ、選択されたプリンタへ出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
SVF for Web / Client ユーザーズ・マニュアル
5-30
private void logger(String msg) {
System.out.println(msg);
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
try {
logger("service callded");
PrintWriter out = new PrintWriter(res.getOutputStream());
res.setContentType("text/html;charset=MS932");
res.addHeader("Cache-Control", "no-cache");
//クライアントからプリンタ一覧を取得する
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:BBD798FE-F5D8-4E98-AC63-83330715B7B9¥">");
out.println("<PARAM NAME=¥"Url¥"
VALUE=¥"http://localhost:8080/WebClient/servlet/printerListShowServlet¥">");
out.println("<PARAM NAME=¥"GetDriverName¥" VALUE=¥"False¥">");
out.println("<PARAM NAME=¥"GetPrinterResol¥" VALUE=¥"False¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-31
「printerListShowServlet.java」
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/*
* printerListShowServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class printerListShowServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
try{
logger("service callded");
PrintWriter out = new PrintWriter(res.getOutputStream());
res.setContentType("text/html;charset=MS932");
res.addHeader("Cache-Control", "no-cache");
//プリンタ一覧表示用HTMLの作成
out.println("<HTML>");
out.println("<HEAD>");
out.println("<META http-equiv=¥"Content-Type¥" content=¥"text/html;
charset=SHIFT_JIS¥">");
out.println("<META http-equiv=¥"Content-Style-Type¥"
content=¥"text/css¥">");
out.println("<TITLE>SVF for Web/Client</TITLE>");
SVF for Web / Client ユーザーズ・マニュアル
5-32
out.println("</HEAD>");
out.println("<BODY>");
out.println("<TABLE border=0 cellspacing=0 cellpadding=2>");
out.println("<TR>");
out.println("<P><FONT color=¥"#0000ff¥" size=¥"4¥"><B>SVF for Web/Client
プリンタ一覧</B></FONT></P>");
out.println("</TR>");
out.println("<BR>");
out.println("<TR>");
out.println("<FORM method = ¥"post¥" action = ¥"./execPrintServlet¥">");
out.println("<TR>");
out.println("<SELECT name=¥"comb1¥">");
Enumeration objEnm=req.getParameterNames();
while(objEnm.hasMoreElements()){
String strPara = (String)(objEnm.nextElement());
String PrtName = req.getParameter(strPara);
logger(PrtName);
out.println("<OPTION value=¥"" + PrtName + "¥">" + PrtName +
"</OPTION>");
}
out.println("</SELECT>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD align=¥"right¥">");
out.println("<BR>");
out.println("<INPUT type=¥"submit¥" name=¥"print¥" value=¥"印刷実行¥">");
out.println("</TR>");
out.println("</FORM>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</BODY>");
out.println("</HTML>");
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-33
<表示されたプリンタ一覧画面の例>
SVF for Web / Client ユーザーズ・マニュアル
5-34
「execPrintServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* execPrintServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class execPrintServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//ダイアログボックスから選択されたプリンタを取得
String selPrinter = req.getParameter("comb1");
5 サンプルプログラム
5-35
logger("選択プリンタ:" + selPrinter);
//システム時間の取得
String TIMEN = String.valueOf(System.currentTimeMillis());
//ファイル名 従来の拡張子を利用する場合は.wdpとなります
String outputfname = TIMEN + ".svfwdp";
//出力ファイルのパス
String outputpath = "C:/Tomcat 4.1/webapps/WebClient/" + outputfname;
//フォームのパス
String formpath = "C:/Tomcat 4.1/webapps/WebClient/hachusho.frm";
PrintWriter out = new PrintWriter(res.getOutputStream());
int ret = 0;
try {
/** *************************** */
/* SVFクラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileName2():" + svf.VrSetSpoolFileName2(outputpath));
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
SVF for Web / Client ユーザーズ・マニュアル
5-36
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所","〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名", "Super Visual Formade実行部"));
logger("VrsOut():" + svf.VrsOut("単価", "30000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名", "ウイングアークテクノロジーズ株式会社"));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号", "〒111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所", "東京都○○区□□町△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号", "03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件", "納入翌月末現金払"));
logger("VrsOut():" + svf.VrsOut("納品場所", "〒222-2222 東京都○△区□○町
2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名", "Visual Formade for Report設計部"));
logger("VrsOut():" + svf.VrsOut("単価", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
//retの値が正の値だった場合の処理
logger("success");
res.setContentType("text/html");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
5 サンプルプログラム
5-37
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC ¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/" + outputfname + "¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for
WEB/Client¥">");
out.println("<PARAM NAME=¥"Printer¥" VALUE=¥"" + selPrinter + "¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
} else {
//retの値が負の値だった場合の処理
logger("error");
out.println("<HTML><HEAD>");
out.println("<meta http-equiv=¥"Content-Type¥"
content=¥"text/html;CHARSET=MS932¥">");
out.println("</HEAD><BODY>");
out.println("エラーが発生しました");
out.println("</BODY>");
out.println("</HTML>");
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
SVF for Web / Client ユーザーズ・マニュアル
5-38
印刷データを作成せず、ストリームにより直接出力する場合のサーブレット側 Java プログラ
ムを記載します。
index.html の 「 ス ト リ ー ム 出 力 」 の [ 印 刷 実 行 ] ボ タ ン を ク リ ッ ク す る と 、
「streamServlet.java」にリクエストが送られます。その後、<OBJECT>タグの RAW パラ
メータに設定されている URL「execStreamPrintServlet.java」へリクエストが送られ、印刷
が実行されます。
<index.html>
「streamServlet.java」
import javax.servlet.http.*;
import java.io.*;
/*
* streamServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class streamServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
印刷データを作成せず、ストリームにより直接出力する場合
Servlet へのパスは、実行環境に合わせて変更してください。
5 サンプルプログラム
5-39
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res) throws
IOException {
try {
logger("service callded");
PrintWriter out = new PrintWriter(res.getOutputStream());
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
logger("success");
out.println("<HTML>");
out.println("<HEAD><TITLE>SVF for Web/Client</TITLE></HEAD>");
out.println("<BODY>");
out.println("<FORM>");
out.println("<OBJECT ID=¥"SVF for Web/Client¥" WIDTH=0 HEIGHT=0
CLASSID=¥"CLSID:8FF7C33A-BB50-4027-9D99-87EC4DDDC9BC¥">");
out.println("<PARAM NAME=¥"Raw¥"
VALUE=¥"http://localhost:8080/WebClient/servlet/execStreamPrintServlet¥">");
out.println("<PARAM NAME=¥"DocName¥" VALUE=¥"SVF for WEB/Client¥">");
out.println("<PARAM NAME=¥"EndUrl¥"
VALUE=¥"http://localhost:8080/WebClient/end.html¥">");
out.println("<PARAM NAME=¥"ErrorUrl¥"
VALUE=¥"http://localhost:8080/WebClient/error.html¥">");
out.println("<PARAM NAME=¥"Config¥"
VALUE=¥"http://localhost:8080/WebClient/xsvfweb.xml¥">");
out.println("</OBJECT>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
SVF for Web / Client ユーザーズ・マニュアル
5-40
「execStreamPrintServlet.java」
import javax.servlet.http.*;
import java.io.*;
import jp.co.fit.vfreport.Vrw32;
/*
* execStreamPrintServlet.java
*
* 本プログラムコードはサンプルとして提供するものです。
* 弊社では、このコードを使用した事による、いかなる損害・被害について
* 責を負わないものとします。お客様の方で内容を吟味した上でご使用ください。
* Copyright (C) 2006 WingArc Technologies, Inc.
*/
public class execStreamPrintServlet extends HttpServlet {
private void logger(String msg) {
System.out.println(msg);
}
public void init() {
logger("init called");
}
public void destroy() {
logger("destroy called");
}
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException {
logger("service callded");
res.setContentType("text/html;charset=MS932");
long currentTime = System.currentTimeMillis();
long before = 24 * 60 * 60 * 1000;
res.setDateHeader("Expires", currentTime - before);
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
//フォームのパス
String formpath = "C:/Tomcat
4.1/webapps/WebClient/hachusho.frm";
OutputStream os = res.getOutputStream();
int ret = 0;
try {
5 サンプルプログラム
5-41
/** *************************** */
/* SVF クラスのインスタンス生成 */
/** *************************** */
Vrw32 svf = new Vrw32();
logger("VrInit():" + svf.VrInit());
logger("VrSetPrinter():" + svf.VrSetPrinter("", "EMF"));
logger("VrSetSpoolFileStream():" +
svf.VrSetSpoolFileStream(os));
logger("VrSetForm():" + svf.VrSetForm(formpath, 4));
logger("VrComout():" + svf.VrComout("/{SPLM 3}/"));
logger("VrsOut():" + svf.VrsOut("発行年月日 ", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号 ", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名 ", "ウイングアークテクノロジー
ズ株式会社 "));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号 ", "〒
111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所 ", "東京都○○区□□町
△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号 ",
"03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件 ", "納入翌月末現金払 "));
logger("VrsOut():" + svf.VrsOut("納品場所 ", "〒222-2222 東京都○
△区□○町 2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号 ", "1000522"));
logger("VrsOut():" + svf.VrsOut("商品名 ", "Super Visual Formade
設計部 "));
logger("VrsOut():" + svf.VrsOut("単価 ", "700000.00"));
logger("VrsOut():" + svf.VrsOut("数量 ", "2.00"));
logger("VrsOut():" + svf.VrsOut("金額 ", "1400000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号 ", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日 ", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号 ", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名 ", "ウイングアークテクノロジー
ズ株式会社 "));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号 ", "〒
111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所 ", "東京都○○区□□町
△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号 ",
"03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件 ", "納入翌月末現金払 "));
logger("VrsOut():" + svf.VrsOut("納品場所 ", "〒222-2222 東京都○
△区□○町 2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号 ", "1000523"));
logger("VrsOut():" + svf.VrsOut("商品名 ", "Super Visual Formade
実行部 "));
logger("VrsOut():" + svf.VrsOut("単価 ", "30000.00"));
SVF for Web / Client ユーザーズ・マニュアル
5-42
logger("VrsOut():" + svf.VrsOut("数量 ", "25.00"));
logger("VrsOut():" + svf.VrsOut("金額 ", "750000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号 ", "SVF02"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrsOut():" + svf.VrsOut("発行年月日 ", "2005/12/8"));
logger("VrsOut():" + svf.VrsOut("発注番号 ", "1000476"));
logger("VrsOut():" + svf.VrsOut("仕入先名 ", "ウイングアークテクノロジー
ズ株式会社 "));
logger("VrsOut():" + svf.VrsOut("仕入先郵便番号 ", "〒
111-1111"));
logger("VrsOut():" + svf.VrsOut("仕入先住所 ", "東京都○○区□□町
△△1-1-1"));
logger("VrsOut():" + svf.VrsOut("仕入先電話番号 ",
"03-1234-5678"));
logger("VrsOut():" + svf.VrsOut("支払条件 ", "納入翌月末現金払 "));
logger("VrsOut():" + svf.VrsOut("納品場所 ", "〒222-2222 東京都○
△区□○町 2-2-2"));
logger("VrsOut():" + svf.VrsOut("発注明細番号 ", "1000524"));
logger("VrsOut():" + svf.VrsOut("商品名 ", "Visual Formade for
Report 設計部 "));
logger("VrsOut():" + svf.VrsOut("単価 ", "500000.00"));
logger("VrsOut():" + svf.VrsOut("数量 ", "1.00"));
logger("VrsOut():" + svf.VrsOut("金額 ", "500000.00"));
logger("VrsOut():" + svf.VrsOut("仕入先製品番号 ", "SVF01"));
logger("VrEndRecord():" + svf.VrEndRecord());
logger("VrPrint():" + svf.VrPrint());
ret = svf.VrQuit();
logger("VrQuit():" + ret);
if (ret > 0) {
res.setContentLength(ret);
}
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
5 サンプルプログラム
5-43
ここでは、エラー情報取得用の Java プログラムを記載します。
この場合は、以下のような流れになります。
・
1 ErrorUrl パラメータにより、エラー内容表示用サーブレットが呼び出されます。
2 サーブレット側でエラー内容が作成されます。作成されたエラー情報はクライアントコン
ピュータのブラウザ上に表示されます。
エラー情報取得用プログラム
SVF for Web / Client ユーザーズ・マニュアル
5-44
1 ErrorUrl パラメータにより、エラー内容表示用サーブレットが呼び出される ・・・
<OBJECT>タグ内で指定する ErrorUrl パラメータにエラー内容を表示させるためのサーブ
レットを指定します。
2 エラー内容表示用サーブレット ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class svf_emf_err_handling extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { response.setContentType("text/html"); PrintWriter out = new PrintWriter(response.getOutputStream()); String errcd = request.getParameter("SVFWC_ERR_ERRCODE"); String errms = request.getParameter("SVFWC_ERR_MESSAGE"); String errapinm = request.getParameter("SVFWC_ERR_API_NAME"); /* HTML 作成 */ out.println("<html>"); out.println("<head><title>SVF for Web / Client </title> </head>");
out.println("<body>");
out.println("印刷実行時にエラーが発生いたしました。エラー情報を以下
に記述させて頂きます。");
out.println("Error Code :" + errcd);
out.println("<br>");
out.println("Error Message :" + errms);
out.println("<br>");
out.println("Error API Name :" + errapinm);
out.println("</body>");
out.println("</html>");
out.close();
}
catch (Exception ex) { ex.printStackTrace(System.err) ; } }
}
5
6 その他
6-1
6 その他
ここでは SVF for Web/Client を使用する上での注意事項と制限事項、FAQ、Cookie を使
用した情報取得について説明します。
EMFファイル、RAWファイル形 式 で印 刷 する場 合 、かならずVrComout()関 数 を使 って
"/{SPLM 3}/"(ファイル圧縮)を使用してください。
XPS形式の印刷データを作成する場合は、VrComout()関数”/{SPLM 3}/”は必要あり
ません。
プリンタ一覧を取得し、ブラウザに表示する際に取得できるものは、プリンタ名、ドライバ
名、解像度の3つのみであり、エミュレーションを取得することはできません。
SVF for Web/Clientのインストールは、CABファイルからのインストールとインストーラか
らのインストールが可能です。CABファイルでインストールしたコンピュータに対して、再度
インストーラによるインストールをおこなう場合は、あらかじめインストールされた形式の解
除方法で解除してからインストールをおこなってください。
また、インストーラでインストールしたコンピュータに対してCABファイルからインストールを
おこなう際も、一度解除してからインストールしなおしてください。
プレビューをおこなう際には、かならずEMF(機種)でデータファイルを作成する必要があり
ます。
サーバで作成される印刷データは、印刷データを作成する製品により異なります。各製
品の印刷データ形式は、次のとおりです。
SVF for Java Printで作成される印刷データ
RAW形式
SVF for Web/PDF Java Edition、SVF for PDFで作成される印刷データ
EMF形式
SVF for XPSで作成される印刷データ
XPS形式
サーバで印 刷 データをEMF形 式 で作 成 する場 合 、使 用 可 能 な画 像 形 式 は、モノクロ
BMP、8・16・24ビット色カラーBMP、PNG形式です。JPG形式は使用できません。
また、RAWファイルを作成する場合、使用可能な画像形式は機種により異なります。詳
細については、SVF Java PRODUCTSユーザーズ・マニュアルを参照してください。
注意事項
制限事項
SVF for Web / Client ユーザーズ・マニュアル
6-2
印 刷 するプリンタとサーバで作 成 された印 刷 データファイルのプリンタ言 語 (機 種 )が
合っていないと正しい出力ができません。
たとえば、CanonLIPS4で印刷する場合、まず、環境設定でCanonLIPS4のプリンタを作
成 し、VrSetPrinterを使 用 し て印 刷 データ ファイルを作 成 します。そし て、SVF for
Web/ClientでCanonLIPS4へ印刷するように設定をおこなう必要があります。
SVF for Web/Client をセットアップする際にレジストリへの書き込みがおこなわれます。
そのため、PowerUser 以上の権限を持つユーザでログインしてセットアップをおこなう必
要があります。
SVF for XPS で印刷する場合、クライアントコンピュータに Microsoft .NETFramework
3.0 が必要となります。
SVF for XPS で作成した印刷データの場合、SVF for Web/Client のプレビュー機能は
使用できません。
SVF for XPS で印刷データを作成する場合、VrSetSpoolFi leStream 関数を使用して
ストリームでデータを作成する事はできません。
かならず VrSetSpoolFi leName2 でファイルを作成してください。
SVF for Web/Client を使用する際によくある質問とその回答は以下のとおりです。
Q UncompressError が発生します。
A 印刷用データファイル作成時にデータファイルが圧縮されていません。
VrComout(“/{SPLM 3}/”)を使用し、ファイル圧縮を明示的に指定してください。
Q CreateDC のエラーが発生します。
A プリンタ情報を取得してブラウザに表示し、印刷を実行する場合に、パラメータとして
ドライバ名、または解像度の情報も含まれてしまっています。
印刷実行の際に渡すパラメータはプリンタ名のみが必要となりますので、プログラム側
で切り分けをしてください。
プリンタ名 以 外の情報が必 要ない場合は「GetDriverName」、「GetPrinterResol」を
両方とも False に設定してください。
Q 認証画面が表示されません。
A 以前に SVF for Web/Client をセットアップされたことがあるコンピュータでは、既存の
ActiveX が動作しているため、セットアップされているとみなされ、認証画面は表示さ
れません。
FAQ
6 その他
6-3
Q SVF for Web/Client で<OBJECT>タグを使用した場合に、 「EndUrl:正常終了
ErrorUrl:異常終了 Cancel:キャンセル」などの URL 指定がおこなえるようになっ
ていますが、このハンドリングは、何をもとにおこなっているのですか?
A ハンドリングは ActiveX が自動的におこなっています。処理としては、WindowsAPI な
どでエラーがあった場合、エラーダイアログを表示し、ErrorUrl に URL が指定されてい
れば、その URL を表示するようになっています。
Q 印刷ファイルを作成せずにクライアントから印刷をおこなうことはできますか?
A できません。SVF for Web/Client ではクライアントコンピュータに接続されているプリン
タに出力をおこなうため、印刷ファイルをクライアントコンピュータ側にダウンロードする
必要があります。このため、かならず印刷データファイルを作成しなければなりません。
Q 印刷を実行しようとすると、request error [404]が発生します。
A 作成されたファイルのディレクトリと、そのファイルを見に行く際のディレクトリが違う、も
しくはフォームファイルが正常に見えていない可能性があります。それぞれのファイルに
対するパス等を確認してください。
Q サーバの cab ファイルを更新した場合、クライアントからの自動インストールは実行さ
れますか?
A SVF for Web/Client が既にインストールされているコンピュータに対しては、自動イン
ストールのためのインストーラは起動しません。しかし、OBJECT タグ内にバージョンを指
定することで、自動インストールでのダウンロードを実行できるようになります。
OBJECT タ グ 内 で バ ー ジ ョ ン を 指 定 す る に は 、 つ ぎ の よ う に OBJECT タ グ の
CODEBASE で、#以降にバージョンを追加記述します。
CLASSID= "CLSID:13374F9E-567A-4A22-BD52-F30D33AE64D1"
CODEBASE= "http://10.10.10.10/XSvfWeb.cab#Version=X,X,X,X">
Q SVF for Web/Client のクライアント印刷で使用している ActiveX コントロールに、
コードサイニング証明書を使用しています。コードサイニング証明書の有効期限は 1
年間となっているため、期限が切れてしまいます。
A SVF for Web/Clien のクライアント印刷で使用している ActiveX コントロールのコード
サイニング証明書には、署名時にタイムスタンピング・サービスを設定しています。それ
により期限切れの警告は表示されませんので、動作に影響はありません。
SVF for Web / Client ユーザーズ・マニュアル
6-4
クライアントコンピュータからの情報の取得や保持は、Cookie などの情報を管理しておこなう
こともできます。Cookie は、SVF の機能ではなく、Java またはブラウザの機能となりますので、
詳細については Cookie に関する文献を参照してください。
ここでは、Cookie 値を取得した時に Cookie 情報がない場合、クライアントブラウザにその値
を送信するサンプルプログラムを記述しています。
なお、「クッキー名:SVFforWEBClient」、「値:ID00001」を使用しています。
/* クッキー情報取得 (CookieData) */
Cookie cookies[] = request.getCookies(); //Cookie 情報取得
//--- 必要なクッキーのみ取得 ---//
boolean CookieCHK = false;
CookieData = "なし";
if (cookies.length > 0) {
for (int j=0;j<cookies.length;j++) {
//--- Cookie 値取得との照合 ---//
if ( cookies[j].getName().equals( “SVFforWEBClient” ) ) {
CookieData = cookies[j].getValue();
CookieCHK = true;
break;
}
}
}
//--- Cooki データ取得後書き込み ---//
if ( CookieCHK == false ) {
response.setContentType("text/html; charset=shift_jis");
//--- Cookie 名:“SVFforWEBClient”,値:”ID00001”の Cookie 送信 ---//
Cookie SendCookie = new Cookie(“SVFforWEBClient”,”ID00001”);
SendCookie.setMaxAge(Integer.MAX_VALUE); // 期間:無期限
//SendCookie.setMaxAge(10); // 期間:10 秒
response.addCookie(SendCookie); // Cookie 送信
}
/* ここには、サーバ上に Cookie 値でファイルを作り、そこに必要なデータを格納するロジック等を記述 */
6
Cookie を使用した情報取得
索引-1
索引 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
A
Active X へのデータの受け渡し方法 .............. 1-2
ActiveX.................................... 2-9, 4-1, 4-4, 4-23
ActiveX Plug-In ............................................. 4-1
C
CancelUrl....................................................... 4-7
CLASSID
......1-2, 2-11, 4-1, 4-2, 4-7, 4-10, 4-12, 4-15, 4-17
CLASSPATH.................................................. 5-3
CloseUrl ..................................... 4-10, 4-12, 4-15
CODEBASE........................................ 2-10, 2-11
Config..................4-5, 4-8, 4-10, 4-13, 4-15, 4-17
Config パラメータ ........................................ 4-27
Cookie を使用した情報取得 ........................... 6-4
CsmErrorMsg .............................................. 4-29
D
Debug ........................................................... 4-30
DefaultEmfTrayMode.................................. 4-29
dialogServlet.java.......................................... 5-9
directServlet.java .......................................... 5-5
DocName......................4-5, 4-7, 4-10, 4-12, 4-15
E
EmfTrayMode .....4-5, 4-7, 4-10, 4-13, 4-18, 4-27
EndUrl .................................. 4-5, 4-7, 4-10, 4-13
ErrorUrl.......................4-5, 4-7, 4-10, 4-13, 4-15
execPrintServlet.java ......................... 5-29, 5-34
execStreamPrintServlet.java ............. 5-38, 5-40
F
FAQ................................................................. 6-2
FileName...................................................... 4-30
G
GetDriverName ....................................4-7, 4-17
GetPrinterName ............................................ 4-7
GetPrinterResol ....................................4-7, 4-17
GetTrayInfo.................................................. 4-17
H
Heigh ...................................................4-13, 4-15
Height........................................................... 4-10
I
index.html ...................................................... 5-3
install.html..................................................... 5-4
L
Left .............................................4-10, 4-13, 4-15
LogLevel ....................................................... 4-30
M
MSI 形式 ......................................................... 2-6
O
OBJECT ....................................................... 2-11
<OBJECT>タグ ........................................... 4-1
<OBJECT>タグ内で使用できるパラメータ
............................ 4-5, 4-7, 4-10, 4-12, 4-15, 4-17
[OUT PUT 環境設定メニュー]画面............ 3-2
OutLog.......................................................... 4-30
索引-2
P
POST データ名............................................. 4-18
preDialogServlet.java.................................. 5-19
preDirectServlet.java .................................. 5-14
previewServlet.java..................................... 5-24
Printer................................................... 4-5, 4-10
printerListServlet.java................................ 5-29
printerListShowServlet.java.............. 5-29, 5-31
R
Raw ..............................4-5, 4-7, 4-10, 4-12, 4-15
RAW 形式 ....................................................... 6-1
S
Scale ........................................... 4-10, 4-13, 4-15
SendErrorMethod........................................ 4-29
ShowErrorDlg.............................................. 4-29
streamServlet.java ...................................... 5-38
SVF Java PRODUCT WEB Server Service.. 3-1
svf.jar ............................................................. 5-3
SVFWC_ERR_APINAME ........................... 4-26
SVFWC_ERR_ERRCODE........................... 4-26
SVFWC_ERR_MESSAGE........................... 4-26
svfwdd ............................................ 1-3, 4-1, 4-24
svfwdp ............................................ 1-3, 4-1, 4-24
svfwdv ............................................ 1-3, 4-1, 4-24
svfwdw ........................................... 1-3, 4-1, 4-25
svfwdx ..................................................... 1-3, 4-1
[SVF 環境設定]メニュー ............................ 3-4
System ......................................................... 4-29
T
Top.............................................. 4-10, 4-13, 4-15
U
Url ................................................................ 4-17
W
wdd .................................................4-1, 4-7, 4-24
wdp .................................................4-1, 4-5, 4-24
wdv ...............................................4-1, 4-10, 4-24
wdw ..............................................4-1, 4-12, 4-25
wdx ...............................................4-1, 4-15, 4-25
Width..........................................4-10, 4-13, 4-15
X
XSvfWeb.cab................................................... 5-4
XSvfWeb.cab モジュール..................1-1, 2-1, 2-9
XSvfWeb.ini.................................................. 4-29
い
インストーラ形式 ........................................... 2-2
インストーラの種類 ........................................ 2-1
え
エラー情報取得用プログラム........................ 5-43
か
解除
MSI 形式 ................................................ 2-8
インストーラ形式 ................................... 2-4
ダウンロード形式 ................................. 2-12
拡張子 ............................................................. 1-3
環境設定の起動 ............................................... 3-1
き
[機種の選択] ............................................... 3-6
索引-3
機種別基本設定............................................... 3-9
[機種別基本設定]メニュー ......................... 3-4
[機種別詳細設定]画面 ................................ 3-9
く
クッキー情報取得 ........................................... 6-4
クライアントでのセットアップ...................... 2-9
さ
サーバでのセットアップ ................................ 2-9
サンプルファイル ........................................... 5-2
し
自動インストール ........................................... 5-4
[出力先]...................................................... 3-7
す
ストリーム出力............................................. 5-38
ストリーム方式............................................. 4-21
せ
制限事項 ......................................................... 6-1
製品概要 ......................................................... 1-1
設定ファイル ................................................ 4-29
セットアップ
MSI 形式 ................................................ 2-6
インストーラ形式................................... 2-2
ダウンロード形式................................... 2-9
た
ダイアログ選択............................................... 5-9
ダウンロード形式 ........................................... 2-9
ち
注意事項.......................................................... 6-1
直接印刷.......................................................... 5-5
つ
通常使うプリンタへ出力................................. 4-1
て
ディレクトリ構成 ........................................... 5-2
と
動作環境.......................................................... 1-4
[動作環境]メニュー .................................... 3-4
トレイ情報 .................................................... 4-18
は
配布方法...................................................1-1, 2-1
ふ
プリンタ.......................................................... 3-5
[プリンタ]メニュー .................................... 3-4
プリンタ一覧表示 ......................................... 5-29
プリンタ選択ダイアログボックスを表示........ 4-1
[プリンタ名] ............................................... 3-5
プレビュー .................................................... 5-24
プレビュー+ダイアログ選択........................ 5-19
プレビュー+直接印刷 .................................. 5-14
プレビュー表示 ............................................... 4-1
SVF for Web / Client ユーザーズ・マニュアル Ver.8.0
2008年 1月 第1版 販売元: ウイングアーク テクノロジーズ株式会社 [本社]〒108-0075 東京都港区港南 1-8-15 W ビル 14F
TEL:03-6710-1700(代表) FAX:03-6710-1701
ホームページ:http://www.wingarc.co.jp
開発元: 株式会社エフ・アイ・ティ
〒102-0071 東京都千代田区富士見 2-14-37 FUJIMI EAST 2F
※本マニュアルに記載されている社名および商品名は、一般に各社の商標および登録商標です。 ※本マニュアルは予告なく変更することがあります。