PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

printプロセス概要

印刷フレームワークの機能を呼び出すためのプロセスです。
印刷フレームワーク自体の詳細についてはSupportFrameworkのガイドに別途記載されています。
こちらを参照して下さい。

印刷フレームワークに渡す印刷対象データはsession_value宣言で指定します。
ここで指定できる物は以下のいづれかになります。

  • 印刷データを表すデータモデル(ヘッダ明細構造でも可能。基本的にはこれを指定する。)
  • 印刷データ(単純な値もしくはMap,List,データモデル,データモデルリスト)を格納したMap
  • 印刷データ(データモデルもしくはMap)を格納したList
MapやListを渡すことも出来ますが、基本的な使用方法としてはデータモデルを渡す形になります。
データモデルから印刷する帳票の形式は大まかに分けて以下の2タイプに分類できます。 それぞれについて以下で説明します。

伝票系の印刷物

ある単体のデータモデルの内容がそのまま紙で印刷されるようなタイプの帳票です。
事務処理で提出すべき各種申請書であったり、顧客からの見積もり依頼書だったりといったものが該当します。

このようなタイプの印刷物は、印刷フレームワークに対して対象のデータモデルをそのまま渡すような形になりますので、 session_value宣言ではユーザーが画面上で選択したデータなどをそのまま渡す形で指定します。


一覧系の印刷物

データモデルの検索結果を一覧表として印刷するようなタイプの帳票です。
顧客一覧、在庫一覧、商品一覧などといったものが該当します。

このようなタイプの印刷物の場合、まず一覧表のヘッダ部分に該当するような無名モデルを作成し、 ヘッダ部的な情報(印刷日時や担当者名など)やデータモデルのリストを格納してからその無名モデルをsession_value宣言で指定します。 手順としては以下のような形になります。

  1. 印刷対象となるデータモデルのリストを取得する。(画面から渡されたり、あらかじめsearchプロセスで検索しておく)
  2. mappingプロセスでcreate="true",commit="false"でモデル定義名指定無しで無名モデルを作成する。
  3. 作成と同時に同じmappingプロセスで一覧表のヘッダ部分に表示する項目およびデータモデルリストを無名モデルに格納する。
  4. printプロセスのsession_value宣言でこの無名モデルを指定して印刷フレームワークに渡す。



printフォーマットタイプ書式

印刷処理に必要な情報を記述する。

(プロセス名
    format_type  print
    (print
        sheet宣言(1)
        location宣言(0|1)
        printer宣言(1)
        session_value宣言(1)
    )
)

記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)
sheet宣言

概要:
印刷フレームワークに読み込ませる印刷定義(=PrintService定義)名を指定する。

キー:
「sheet」固定

形式:
Key・値またはPrintService名を含んだ文字列を持つセッションキー(@付)

記述例:

	sheet	申請書一覧


location宣言

概要:
後述のprinter宣言でプリンタからの直接印刷を指定した場合に、 印刷処理をPrintServiceFacadeに委譲せずにサービスの実行環境上で直接実行したい場合に指定します。

主な利用ケースとしては、service_location="client"のサービスでprintプロセスを実行して、 ClientPCにインストールされているプリンタに対して直接印刷を実行したいような場合があります。

このような場合、location宣言で"local"と指定することでサーバー上のPrintServiceFacadeは呼び出さず ClientPC上で直接印刷の処理が実行されます。

キー:
「location」固定

形式:
Key・値(ここで指定できるのは"local"のみ。)

記述例:

	location	local


printer宣言

概要:
出力先のプリンタを指定する。
特殊な出力先として、以下の5種類が予約されており、それ以外が指定された場合はプリンタ名とみなします。

名称 説明
local クライアントローカルプリンタを印刷ダイアログに表示し、ユーザーにプリンタを選択させてから印刷する。
local_def クライアントローカルデフォルトプリンタに直接印刷する。
local_pdf クライアントでPDFを作成して、PDFバイナリデータを作成する。(PDFバイナリの最大サイズは2Gバイトになります。)
pdf サーバーでPDFファイルを作成し、そのURLを呼出元にセッション値で返す。(PDFファイルの最大サイズは2Gバイトになります。)
cont 連続した帳票をデータとして取り込みます。この時点では印刷はしません。
上記以外 プリンタ名として認識されます。
前述のlocation宣言で"local"と指定された場合はサービスの実行環境上でインストールされているプリンタが対象となります。 location宣言の指定が無い場合は、print_jndi設定(SupportFrameworkのガイドを参照)で指定された接続先にインストールされているプリンタが対象となります。

キー:
「printer」固定

形式:
Key・値またはプリンタ名を含んだ文字列を持つセッションキー(@付)

記述例:サーバーでPDFファイル生成(PDFファイルの最大サイズは2Gバイトになります。)

	printer	pdf
記述例:「帳票印刷用プリンタ1号」という名前のプリンタに直接印刷
	printer	帳票印刷用プリンタ1号
記述例:セッション値で渡された印刷先に出力
	printer	@出力先プリンタ名


session_value宣言

概要:
印刷対象データとなるセッション値を指定する。

キー:
「session_value」(固定|オプション)

形式:
Key・印刷対象データを保持するセッションキー名

記述例:

	session_value	印刷対象見積依頼データモデル


印刷完了後の結果

印刷した結果は、以下のセッションキーに値として格納される。

「DownLoad_URL」セッションキー
printer宣言がpdf時に作成されたPDFファイルのURLが格納される。

「DownLoad_FileSize」セッションキー
printer宣言がpdf,local_pdf時に作成されたPDFファイル・イメージのバイトサイズが格納される。
printer宣言がcont時は0が格納される。
printer宣言が他のときはプラスの値が格納される。

「DownLoad_PDFDATA」セッションキー
printer宣言がlocal_pdf時にPDFイメージのバイト列(pexa.share.util.cont.Binary)が格納される。



更新情報

  • 最終更新者 : $Author: tann $
  • 最終更新日時 : $Date:: 2013-04-11 14:45:40 #$
  • バージョン : $Revision: 7322 $



Copyright © 2006, Atrris Corporation