ドキュメント印刷 PrintStream

Q3
Biz/BrowserでPSSファイルをプレビューしたい
[内容]
Biz/PrintServerやPrintStream Coreで生成した印刷スプールファイル(PSS)を
Biz/Browserでプレビューしたい

A3
[解決方法]
httpDownloadクラスを使い印刷スプールファイル(PSS)をダウンロードします。
その結果をPrintStreamDocumentクラスのExtractメソッドで印刷・プレビューに利用できる
状態にし、PreviewFormクラスのStartPageメソッド、AddPageメソッド、EndPageメソッドにて
プレビューします。

また、PrintStreamDocumentクラスのPrintDocumentメソッドを使用し、引数に「プレビュー」と
指定すると、プレビューウィンドウを起動してプレビューすることが出来ます。


[サンプルコード]



/*******************************************************************
     サーバ"printserver"から"/xxx"にあるBiz/PrintServerや
     PrintStream Coreのスプールファイルをダウンロードして
     プレビューする例
********************************************************************/
/* httpDownloadを使いPrintServerのスプールファイルをダウンロード */
PrintStreamDocument PrintStreamDocument1 {
    if ( !$DESIGNTIME ) {
        var down = new httpDownload("http://printserver");
        append (down, "httpDownload1");

        /* httpDownloadのイベントをその親であるPrintStreamDocumentで処理。
        この処理が終了するまでダウンロードは一時停止 */
        Function OnAsyncDownload(e) {
            /* ダウンロードが成功したら
               そのレスポンスをExtractの引数にする */
            if ( e.response.status == 200 ) {
                var rc = Extract(e.response);
                /* スプールファイルの最後のファイルをExtractしたら
                   ダウンロードを終了 */
                if ( rc.status == 0 ) {
                    httpDownload1.Stop();
                    /* PreviewFormにこれ以上のページ追加は無いことを通知 */
                    ^.Button1.Active = true;
                    ^.PreviewForm1.EndPage();
                } else {
                    var from = rc.from;
                    if ( rc.from == 0 ) {
                        /* プレビューを開始 */ 
                        ^.PreviewForm1.StartPage(this);
                        from++;
                    }
                    for ( var i = from; i <= rc.to; i++ ) {
                        /* 表示するページを指定 */
                        ^.PreviewForm1.AddPage(i);
                    }
                }
            } else {
                /* エラーの場合はダウンロードを終了 */
                httpDownload1.Stop();
                ^.Button1.Active = true;
            }
        }
    }
}
    
Button Button1 {
    X = 0;
    Y = 0;
    Width = 80;
    Height = 30;
    Title = "ダウンロード";
    active = true;
    Function OnTouch(e) {
       /* ダウンロードするファイル数がわかっている場合はtoも指定 */
       ^.PrintStreamDocument1.httpDownload1.AddURL("/xxx/00000[001-].pss");
       /* ダウンロードをスタート */
       ^.PrintStreamDocument1.httpDownload1.Start();
       active = false;
    }
}
    
/* PreviewFormでプレビュー */
PreviewForm PreviewForm1 {


}

CRSファイル形式のサンプルを
  「PSSプレビューサンプル(Psp_003.zip)
よりご利用いただけます。


また、上記とは別のサンプルもご利用いただけます。
実装方法の案としてご参考ください。

●PrintStreamDocumentクラスのExtractPageイベントが発生するタイミングで
AddPageメソッドを実行し、プレビューするサンプル

    「PSSプレビュー ExtractPage利用サンプル(Psp_003_A.zip)


●PrintStreamDocumentクラスのPrintDocumentメソッドにてプレビューウィンドウを
起動してプレビューするサンプル

    「PSSプレビュー PrintDocument利用サンプル(Psp_003_B.zip)

管理番号:Psp_003
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ