インターフェース - Webブラウザからの起動(URL Scheme)


「Microsoft Edge」や「Google Chrome」ではActiveXコントロールが使えないため、帳票をブラウザ上に直接表示するにはPDFを介す必要があります。一般的な帳票であればPDFを使うメリットは高いのですが、一部の専用帳票についてはPDFを介すことで主に印刷制御に関してデメリットが発生します。

このような場合は、HTMLの「URL Scheme」を用いて「Preview」を実行することで対処することができます。Webブラウザ上に帳票を表示することはできなくなりますが、別ウインドウで帳票の表示・印刷等、「Wonderful Report 2016 Preview」のフル機能を利用することができます。



この機能を利用するには実行するコンピュータに、「Wonderful Report 2016 Preview (version 3.0.0.129以降)」をインストールする必要があります。



URL Scheme からの起動
記述方法
オプションの詳細



URL Scheme からの起動


「URL Scheme」はWebブラウザから外部アプリを起動するためのインターフェースです。
ActiveXコントロールのようなプログラム的な制御はできませんが、コマンド実行に近い形でアプリを利用することができます。(アプリ側の対応が必要です)

「Wonderful Report 2016 Preview」の「URL Scheme」は「Wfr.Preview.3:」です。HTMLのリンクやJavaScriptの「location.href」の先頭にこのスキームを指定することで「Preview」を起動することができます。


HTMLの例(リンクからの起動)


リンクをクリックするとブラウザからアプリ起動の許可を求めるメッセージが表示されます。



「開く」をクリックすることで「Preview」が起動し帳票が表示されます。




HTMLの例(ボタン操作によるJavaScriptからの起動)

/ch オプションに location.href の値を指定することでURLの変更に柔軟に対応することができるようになります。
「URL Scheme」で利用できる最大文字数は2048文字なのでURLパスを複数指定する場合は文字数削減にも役立ちます。そういう意味では/cd オプションを設定する方が効果は高くなります。




お試しください。

「Wonderful Report 2016 Preview (version 3.0.0.129以降)」がインストールされている環境であれば、下記ボタンからサンプルの帳票を表示することができます。(※Webブラウザでこのヘルプを開いている場合)

リンクから帳票を表示





記述方法


「Wfr.Preview.3:」スキームではコマンド起動オプションのようにオプション識別子(/d 等)と値を組み合わせて記述します。値に次の特殊文字を含む場合は、値全体を引用符であるダブルクォーテーション(")で囲む必要があり、区切り文字はスペース( )となります。

<特殊文字>

特殊文字  説明  JavaScript  HTML URLエンコード 
ダブルクォーテーション(") 引用符として使用されます。
文字として使うには値全体を引用符で囲み、2文字続けて記述します。
\" " %22 
スペース( ) ワード区切り文字として使用されます。
  %20
ハイフン(-)
スラッシュ(/)
オプション識別子の先頭文字として使用されます。
値の先頭で当該文字を扱うには、値全体を引用符で囲みます。
     
パーセント(%) URLエンコードの識別子として使われます。
文字として使うには%25と記述します。
  %25
改行コード 文字として改行を使うには値全体を引用符で囲み改行文字を%0Aで表現します。     %0A


一部の文字は言語(HTMLやJavaScript)のルールに従って記述する必要があります。
UTFエンコードに対応しているためパーセント(%)を使って16進数で文字を指定することもできます。




言語による違い


JavaScriptではダブルクォーテーション(")はエスケープシーケンス(\)を使って記述する必要があります。

/v Var1 \"値中のダブルクォーテーション(\"\")は二重に記述します。\"


HTMLのタグ中ではダブルクォーテーション(")は「"」を使って記述する必要があります。
他にも注意すべき文字があります。

/v Var1 "値中のダブルクォーテーション("")は二重に記述します。"


「Wfr.Preview.3:」スキームはURLエンコードに対応しているためパーセント(%)を使って16進数で文字を記述することができます。「%22」はダブルクォーテーション(")になります。

/v Var1 %22値中の%22%22は二重に記述します。%22



特殊文字の記述例

以下、JavaScriptでの記述例です。


特殊文字を値に含む場合はダブルクォーテーション(")で囲みます。

/v Var1 \"値中のダブルクォーテーション(\"\")は二重に記述します。値中にスペース( )がある場合も同様です。\"


ワード先頭のハイフン(-)やスラッシュ(/)は識別子として使われるため値として使うにはダブルクォーテーション(")で囲みます。

/v Var1 \"-200\" /v Var2 \"/*注意*/\" /v Var3 値の途中にある(-)や(/)は囲まなくてもよいです。


URLエンコードを使うことで値に改行を埋め込むことができます。
改行は「%0A」、パーセント(%)は「%25」を使いますが、(%)に続く2文字が16進数でない場合はそのまま記述できます。

/v Var1 \"改行コードを埋め込むことができます。%0A記述は%250Aで行います。\"
/v Var1 100%の確率です。




オプションの詳細


使用できるオプションです。
この他にもコマンド起動用のオプションも利用可能です。(/d /v /o /po オプションは利用方法が異なるため注意が必要です)

参照:コマンド起動

オプション  説明 
帳票ファイル 表示・印刷する帳票定義ファイル(*.wfr/*.wfi)や帳票イメージを戻すサーバー再度アプリ(*.aspx等)を指定します。

詳細:帳票ファイル
/add 複数の帳票を一括表示・印刷する場合に使用するオプションです。
影響を受けるオプションは 帳票ファイルと/d と /v です。/add オプションを区切りとしてそれぞれの帳票にデータや変数値を設定することができます。

Wfr.Preview3:sample1.wfr /d Data1 0 sample1.csv /add sample2.wfr /d Data1 0 sample2.csv /cd http://wins2019
/cd カレントフォルダを指定します。
完全パスで指定されていないファイルパスの基準フォルダとして利用されます。

Wfr.Preview3:sample.wfr /d Data1 0 sample.csv /cd http://wins2019
/ch カレントURL(location.href等)を指定します。
内部処理でURLが分解され/cd でカレントフォルダが指定されます。

Wfr.Preview3:sample.wfr /d Data1 0 sample.csv /ch http://wins2019/sample.html
/d 入力するデータ情報を設定します。

詳細:/d オプション(データの設定)
/o 表示・環境オプションを設定します。

詳細:/o オプション(表示・環境オプションの設定)

Wfr.Preview3:sample.wfr /d Data1 103 sample.aspx?Name=Test /o URLTimeOut 60 /cd http://wins2019
/p バックグラウンドで印刷を実行します。
出力プリンタを指定することができます。

Wfr.Preview3:http://wins2019/sample.wfi /p
Wfr.Preview3:http://wins2019/sample.wfi /p LP-1234
/pd  「印刷」ダイアログが表示されます。

Wfr.Preview3:http://wins2019/sample.wfi /pd
/poid 印刷オプションIDを指定します。
「印刷」ダイアログでの設定は印刷オプションID毎にシステムに保存され、次回以降の初期値として利用することができます。
(エディタで事前に設定しておくことも可)

Wfr.Preview3:http://wins2019/sample.wfi /poid 伝票0001 /pd
/po 印刷オプションを指定します。

詳細:/po オプション(印刷オプションの設定)
/t 帳票(Preview画面)のタイトルを指定します。

Wfr.Preview3:http://wins2019/sample.wfi /t ウインドウタイトルを指定
/v 変数値を設定します。

詳細:/v オプション(変数の設定)
/ws_max ウインドウを最大表示します。

Wfr.Preview3:http://wins2019/sample.wfi /ws_max
/ws_min ウインドウをアイコン表示します。

RemoteAppからPreview無し(バックグラウンド)で印刷を行うと「印刷中」ダイアログがセッション終了まで消えないことがあります。
このオプションを指定して印刷を行うことで問題を回避できます。

Wfr.Preview3:http://wins2019/sample.wfi /ws_min /p





帳票ファイル

表示・印刷する帳票定義ファイル(*.wfr)を指定します。
サーバー側アプリ(*.aspx)等をパラメータ込みで指定することもできます。

通常は完全パスで指定します。

"Wfr.Preview.3:http://wins2019/sample.wfr /d Data1 0 http://wins2019/sample.csv"

/cd や /ch オプションでカレントURLを指定した場合はファイル名だけでも可。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /cd http://wins2019"

帳票イメージファイル(*.wfi)を出力するaspx をパラメータ付きで指定することもできます。

"Wfr.Preview.3:\"sample.aspx?ID=100123&Mail=xxxx@bbbb.co.jp\" /cd http://wins2019"


「Wonderful Report 2000」の帳票(*.wfd)を扱うこともできます。(version 3.0.0.130以降)
この場合、32bitアプリとしてPreviewを起動する必要があるため、64bit版のWindows でも利用する場合は次のように「URL Scheme」に「Wfr.PreviewX86.3」を指定します。

"Wfr.PreviewX86.3:sample.wfd /d Data1 0 sample.csv /cd http://wins2019"



/d オプション(データの設定)

入力するデータ情報を指定します。

<構文>

/d
name 入力するデータ(データ名)を指定します。

データ番号で指定する場合は先頭にシャープ(#)を付けてしていします。
(例:"#1")

type 入力するデータの種別を指定します。
説明
0 CSVファイルからデータを入力します。
BOMを使ってエンコーディングを自動識別します。
サポートしているエンコーディングはUnicodeLittleとUTF-8です。
通常はSJISでエンコーディングされます。
103 CSVファイルからデータを入力します。
識別可能なBOMがない場合はUTF-8でエンコーディングされます。

info1 <type=0,103>
CSVファイル名を完全パスで指定します。
ASP等、CSVを出力するサーバー側アプリをパラメータ付きで指定することもできます。

info2 省略可。

<type=0,103>
使用されません。空文字を指定します。

option 省略可。

入力オプションを指定します。詳細は「入力オプション」を参照
image_folder 省略可。

画像ファイルの検索フォルダを指定します。
データ中の画像パスが完全パスでない場合、/cu /ch で指定したフォルダと
このフォルダからの相対パスで画像が検索されます。


基本的な使い方です。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /cd http://wins2019"

アンダーバー(_)で省略したい項目をスキップすることができます。

"Wfr.Preview.3:sample.wfr /d Data1 103 sample.csv _ Sep=[TAB] /cd http://wins2019"

データ中に画像ファイルへのパスが含まれる場合、オプションでImageLode=on を設定することでファイルのダウンロードを1度で終えることができます。

"Wfr.Preview.3:sample.wfr /d Data1 103 sample.csv _ ImageLode=on /cd http://wins2019"


CSVファイルを出力するサーバー側アプリを実行することができます。

"Wfr.Preview.3:sample.wfr /d Data1 103 sample.aspx?ID=1234&Year=2021 /cd http://wins2019"





/o オプション(表示・環境オプションの設定)

表示・環境オプションを設定します。
設定できるオプションについては「表示・環境オプション」を参照。


<構文>

/o
name オプション名を指定します。

value 値を指定します。


基本的な使い方です。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /o Zoom whole /o ToolBar off /cd http://wins2019"


制限の付与(保存、印刷、値の入力、PDF出力を制限)

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /o AddRestrict save|print|viewmode|pdf /o PopupMenu off /cd http://wins2019"


新年号の早期対応・テスト

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /o WfrEraInfo [WFR_ERA];令和,令,R,2019/05/01 /cd http://wins2019"


処理時間の長いサーバーサイドアプリを使用。タイムアウト時間を60秒に設定

"Wfr.Preview3:sample.wfr /d Data1 103 sample.aspx?Name=Test /o URLTimeOut 60 /cd http://wins2019"





/po オプション(印刷オプションの設定)

印刷オプションを設定します。
設定できるオプションについては「印刷オプション」を参照。


<構文>

/po
name オプション名を指定します。

value 値を指定します。


基本的な使い方です。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /po Range 1-3 /po Copies 3 /pd /cd http://wins2019"


印字オフセットの設定。マイナスの値を設定する場合は引用符(")で囲みます。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /po OffsetX 500 /po OffsetY \"-200\" /pd /cd http://wins2019"





/v オプション(変数の設定)

変数値を設定します。

<構文>

/v
name 変数名を指定します。

value 値を指定します。


基本的な使い方です。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /v Var1 12345 /v Var2 今日は晴れ /cd http://wins2019"

変数値にマイナスの値を指定する場合は注意が必要です。ワード先頭の「-」(ハイフン)はオプション判別に利用しているため引用符「"」(ダブルクォーテーション)で囲む必要があります。
<a> リンクの場合は上段、JavaScriptでは中段、下段のようにURLエンコードのコード(%22)で指定することもできます。

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /v Var1 &quot;-200&quot; /cd http://wins2019"

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /v Var1 \"-200\" /cd http://wins2019"

"Wfr.Preview.3:sample.wfr /d Data1 0 sample.csv /v Var1 %22-200%22 /cd http://wins2019"