ドキュメント印刷 PrintStream

Q9

10

PrintStream印刷モジュールと連携し、Biz/Browserから渡したデータで帳票
データを作成して、印刷を実行したい

A9 10
[解決方法]
Biz/PrintServerのPrintStream印刷モジュールから印刷スプールファイル(PSS)を作成する
処理をサーバアプリケーションで実装し、Biz/Browserからはそのサーバアプリケーションを
実行することで、PrintSteam印刷モジュールと連携して印刷することが出来ます。

サンプルコードでは、以下の手順で連携を行っています。

  (1) Biz/Browserの画面から入力した値を引数にして、帳票を生成するサーバ
アプリケーションを呼び出す。

  (2) サーバアプリケーション側では、引数を元にBiz/PrintServerのAPIを利用して
帳票を生成。
生成されたPSSファイルの情報をBiz/Browserへ返す。

  (3) サーバアプリケーションから受け取ったPSSファイルの情報を元にプレビューや
直接印刷を行う。


[サンプルコード]

■CRSの処理

Function OnTouch( e ) {
    /* 印刷リクエスト発行 */
    CSVDocument csvdoc;
    try {

        (1)
       入力値を引数にして、サーバアプリケーションを呼び出す
        (サーバからの戻り値がcsvdocに格納される)

        csvdoc.get("print_psg.asp", "Addr=" + <TextBoxの入力値など> );

    } catch( e ) {
        ^.MessageBox("例外");
        return;
    }

    (3)
    サーバアプリケーションからの戻り値(CSV形式)を解析
    サーバアプリケーションから渡された印刷リクエスト情報を
    元にPSSのダウンロードとプレビューを実行する

    /* Biz/PrintServerの場所 */
    var bpserver = csvdoc.GetCell(0, 0);
    /* Spoolの場所 */
    var spool = csvdoc.GetCell(0, 1);

    /* プレビューの開始 */
    ^.psd.Start(bpserver, spool);
    Active = $FALSE;
}

PrintStreamDocument psd {
    Function Start(bpserver, spool) {
        /* プレビューを実行する */
    }
}


■サーバアプリケーションの処理
<%

    (2)
    引数を元に帳票を生成 
    生成されたPSSファイルの情報をBiz/Browserへ返す

    'Biz/PrintServerのサーバ名
    BPServer = "localhost"

    'Biz/Browserからの条件を受け取る
    Addr = Request("Addr")

    'Biz/PrintServerへ接続
    set obj = CreateObject("BizPrintClient.Connect")
    set conn = obj.Connect(BPServer)

    '印刷データをCSV形式で出力
    df = conn.CreateDataFile("csv")
    ws = conn.WriteDataFile(
         Addr & ",サラダ,小エビのカクテルサラダ,280" & vbCRLF)
    ws = conn.WriteDataFile(
         Addr & ",サラダ,ワカメサラダ,330" & vbCRLF)
         :
         :
    Call conn.CloseDataFile()

    '印刷リクエストの組み立て
    conn.Agent = "QFM30PSG" ' 印刷モジュール名
    conn.Form = "pssample.qfm" ' フォーム名
    conn.Title = Addr & "サンプル" ' JOBタイトル
    conn.AgentParam = "%DF" ' 印刷データファイル名
    Call conn.Submit() ' 印刷リクエスト送付

    'Biz/Browserに返信(CSV形式)
    Response.Write("""")
    Response.Write(conn.GetServerURL())
    Response.Write(""",""")
    Response.Write("/bps/util/getdoc?Ext=pss&RequestId=")
    Response.Write(conn.RequestId)
    Response.Write("&Page=")
    Response.Write(""",""")
    Response.Write(Addr)
    Response.Write("""")
%>

CRSファイル形式のサンプルを
  「Biz/PrintServer連携サンプル(Psp_010.zip)
よりご利用いただけます。

サンプル内の「Readme.txt」をお読みになってからご利用ください。



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