特許第6797636号(P6797636)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6797636サーバ装置、情報処理方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6797636
(24)【登録日】2020年11月20日
(45)【発行日】2020年12月9日
(54)【発明の名称】サーバ装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06F 3/0484 20130101AFI20201130BHJP
   G06F 3/0488 20130101ALI20201130BHJP
   G06F 13/00 20060101ALI20201130BHJP
【FI】
   G06F3/0484 120
   G06F3/0488
   G06F13/00 550C
【請求項の数】10
【全頁数】32
(21)【出願番号】特願2016-212171(P2016-212171)
(22)【出願日】2016年10月28日
(65)【公開番号】特開2018-73125(P2018-73125A)
(43)【公開日】2018年5月10日
【審査請求日】2019年10月28日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】加藤 豊
【審査官】 酒井 優一
(56)【参考文献】
【文献】 特開2016−170661(JP,A)
【文献】 特開2005−115483(JP,A)
【文献】 特開2016−033741(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0484
G06F 3/0488
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
クライアント装置のユーザによって選択された1つのフォームが、複数のフォームを定義した1つの複合フォームである場合、当該複合フォームに定義されている前記複数のフォームから生成される複数の帳票ページと、編集画面にて当該生成された複数の帳票ページの編集操作を制御するための第1のスクリプトプログラムとを含むウェブフォーム編集プログラムであって、前記クライアント装置のウェブブラウザ上で動作するウェブフォーム編集プログラムを生成する第1の生成手段と、
前記生成されたウェブフォーム編集プログラムを前記クライアント装置に送信する第1の送信手段と、
前記クライアント装置のウェブブラウザで前記ウェブフォーム編集プログラムを実行することで表示される前記編集画面にて為された前記クライアント装置のユーザの指示に基づいて、前記複数の帳票ページのそれぞれにおいて指定された、前記複数の帳票ページのそれぞれにおける特定領域を拡大するためのフォーカス領域の情報を、前記クライアント装置から受信する受信手段と、
前記受信された前記複数の帳票ページのそれぞれにおけるフォーカス領域の情報を、前記複合フォームに定義されている前記複数のフォームのそれぞれと関連付けて保存する保存手段と、
前記複合フォームに定義されている前記複数のフォームの中から、処理対象のフィールドデータに対して指定されているフォームを特定し、当該特定されたフォームと前記処理対象のフィールドデータとに基づき生成される帳票ページと、当該特定されたフォームに関連付けて保存されている前記フォーカス領域の情報と、前記帳票ページの閲覧操作を制御するための第2のスクリプトプログラムとを含むウェブフォーム閲覧プログラムであって、前記クライアント装置の前記ウェブブラウザで実行されるウェブフォーム閲覧プログラムを生成する第2の生成手段と、
前記生成されたウェブフォーム閲覧プログラムを前記クライアント装置に送信する第2の送信手段と、を備えるサーバ装置であって
前記クライアント装置のウェブブラウザで、前記ウェブフォーム閲覧プログラムを実行することで、前記帳票ページの前記特定領域が、前記フォーカス領域の情報に基づいて、拡大表示される、
ことを特徴とするサーバ装置。
【請求項2】
前記ウェブフォーム閲覧プログラムを実行する前記クライアント装置のウェブブラウザでは、フォーカスモードへの移行指示を検出した場合に前記特定領域を拡大表示ることを特徴とする請求項1に記載のサーバ装置。
【請求項3】
前記フォーカスモードへの移行指示は、前記帳票ページを表示するクライアント装置上でのジェスチャ入力により検出されることを特徴とする請求項2に記載のサーバ装置。
【請求項4】
前記フォーカス領域の情報は、前記フォーカス領域の遷移順を含み、前記ウェブフォーム閲覧プログラムを実行する前記クライアント装置のウェブブラウザでは、フォーカス遷移の指示を検出した場合に前記遷移順に従って次のフォーカス領域に遷移することを特徴とする請求項1乃至3のいずれか1項に記載のサーバ装置。
【請求項5】
前記フォーカス遷移の指示は、前記帳票ページを表示するクライアント装置上でのジェスチャ入力により検出されることを特徴とする請求項4に記載のサーバ装置。
【請求項6】
前記フォーカス領域の情報は、前記帳票ページ上での位置及びサイズを含むことを特徴とする請求項1乃至5のいずれか1項に記載のサーバ装置。
【請求項7】
前記ウェブフォーム編集プログラムを実行する前記クライアント装置のウェブブラウザでは、前記複合フォームに定義されている前記複数のフォームから生成された前記複数の帳票ページのすべてに対して共通する特定領域を配置可能とし、当該共通する特定領域が配置された場合、前記サーバ装置は、当該共通する特定領域を拡大するためのフォーカス領域の情報を、前記複合フォームに定義されている前記複数のフォームすべてと関連づけて保存することを特徴とする請求項1乃至のいずれか1項に記載のサーバ装置。
【請求項8】
前記ウェブフォーム編集プログラムを実行する前記クライアント装置のウェブブラウザでは、他の帳票部品情報が指定されていない帳票ページに対して有効となるデフォルトの特定領域を配置可能とし、前記デフォルトの特定領域が配置された場合、前記サーバ装置は、当該デフォルトの特定領域を拡大するためのフォーカス領域の情報を、前記複合フォームに定義されている前記複数のフォームのうち他の帳票部品情報が指定されていないフォームの帳票部品情報として保存ることを特徴とする請求項1乃至7のいずれか1項に記載のサーバ装置。
【請求項9】
サーバ装置における情報処理方法であって、
クライアント装置のユーザによって選択された1つのフォームが、複数のフォームを定義した1つの複合フォームである場合、当該複合フォームに定義されている前記複数のフォームから生成される複数の帳票ページと、編集画面にて当該生成された複数の帳票ページの編集操作を制御するための第1のスクリプトプログラムとを含むウェブフォーム編集プログラムであって、前記クライアント装置のウェブブラウザ上で動作するウェブフォーム編集プログラムを生成する第1の生成ステップと、
前記生成されたウェブフォーム編集プログラムを前記クライアント装置に送信する第1の送信ステップと、
前記クライアント装置のウェブブラウザで前記ウェブフォーム編集プログラムを実行することで表示される前記編集画面にて為された前記クライアント装置のユーザの指示に基づいて、前記複数の帳票ページのそれぞれにおいて指定された、前記複数の帳票ページのそれぞれにおける特定領域を拡大するためのフォーカス領域の情報を、前記クライアント装置から受信する受信ステップと、
前記受信された前記複数の帳票ページのそれぞれにおけるフォーカス領域の情報を、前記複合フォームに定義されている前記複数のフォームのそれぞれと関連付けて保存する保存ステップと、
前記複合フォームに定義されている前記複数のフォームの中から、処理対象のフィールドデータに対して指定されているフォームを特定し、当該特定されたフォームと前記処理対象のフィールドデータとに基づき生成される帳票ページと、当該特定されたフォームに関連付けて保存されている前記フォーカス領域の情報と、前記帳票ページの閲覧操作を制御するための第2のスクリプトプログラムとを含むウェブフォーム閲覧プログラムであって、前記クライアント装置の前記ウェブブラウザで実行されるウェブフォーム閲覧プログラムを生成する第2の生成ステップと、
前記生成されたウェブフォーム閲覧プログラムを前記クライアント装置に送信する第2の送信ステップと、を含むサーバ装置における情報処理方法であって
前記クライアント装置のウェブブラウザで、前記ウェブフォーム閲覧プログラムを実行することで、前記帳票ページの前記特定領域が、前記フォーカス領域の情報に基づいて、拡大表示される、
ことを特徴とする情報処理方法。
【請求項10】
コンピュータを、請求項1乃至のいずれか1項に記載のサーバ装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票ページを閲覧するための技術に関する。
【背景技術】
【0002】
従来、帳票の作成方法としては、以下の方法があった。まず、帳票の雛型となるフォームを、フォーム編集用の専用アプリケーションを用いて作成しておく。次に、当該フォームに対して、フィールドデータをオーバレイする(フォーム内の各フィールドに、対応するフィールドデータを流し込んで適用する)ことにより、帳票ページ(例えばPDF形式のファイル)を生成し、当該帳票ページを印刷する方法である。この方法では、例えば、サーバ装置においてオーバレイ出力処理を実行して帳票ページを生成し、クライアント装置が、該帳票ページをサーバ装置から受信して該帳票ページの表示や印刷を行う。
【0003】
一般的に、帳票ページはもともと印刷用に設計されたフォームから生成されることがほとんどである。例えば、生命保険会社が顧客への保険プラン説明用に作成する保険帳票はA3サイズであることが多く、A3用紙に印刷したうえで顧客へ説明するのが前提の構成となっている。文字フォントのサイズはその前提で設計されるため、例えば9ポイント等小さいケースが多い。一方で、紙の省資源化を目的として、顧客への説明時はiPad(登録商標)等のタブレットデバイスに該帳票ページを表示して説明し、その後、必要な帳票ページのみを印刷するというような運用も考えられている。しかしながら、タブレットデバイスの画面サイズおよび画面解像度は、A3用紙のそれと比較すると低い。このため、印刷前提で作られた帳票の全体をタブレットデバイスで表示した場合、文字等が非常に小さくなり、見づらくなってしまう。したがって、そのような帳票をタブレットデバイスで閲覧する際には、ユーザは2本の指の間隔を広げるようにしてピンチ操作を行い、該帳票ページを拡大表示する必要があり、ユーザ操作の手間がかかってしまう。
【0004】
特許文献1には、スキャナ等で読み込んだ文書の画像データ内のオブジェクト(部分領域)を認識し、文書画像閲覧時に各部分領域を順番に表示していく技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2013−190870号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術は、文書の画像データを処理対象としており、各ページの画像データに対してオブジェクト認識処理を行ってオブジェクトを特定する必要がある。したがって、特許文献1の技術を用いて帳票データを閲覧しようとすると、帳票データを一旦ビットマップ画像にした後、該ビットマップ画像に対してオブジェクト認識処理を行うことになる。そのため、オーバレイ出力処理により生成される複数の帳票ページに対して、帳票ページが生成されるたびにビットマップ化処理を行ってオブジェクト認識処理を行うように構成すると、処理の負荷が大きくなってしまう。また、オブジェクトを誤認識した場合、その都度、微調整操作が必要になり、ユーザの負荷も高くなってしまう。
【0007】
そこで、本発明は、帳票ページ内の特定領域を拡大表示するための負荷の増大を抑えながら、ユーザの利便性を向上させることが可能なサーバ装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の一実施形態にかかるサーバ装置は、クライアント装置のユーザによって選択された1つのフォームが、複数のフォームを定義した1つの複合フォームである場合、当該複合フォームに定義されている前記複数のフォームから生成される複数の帳票ページと、編集画面にて当該生成された複数の帳票ページの編集操作を制御するための第1のスクリプトプログラムとを含むウェブフォーム編集プログラムであって、前記クライアント装置のウェブブラウザ上で動作するウェブフォーム編集プログラムを生成する第1の生成手段と、前記生成されたウェブフォーム編集プログラムを前記クライアント装置に送信する第1の送信手段と、前記クライアント装置のウェブブラウザで前記ウェブフォーム編集プログラムを実行することで表示される前記編集画面にて為された前記クライアント装置のユーザの指示に基づいて、前記複数の帳票ページのそれぞれにおいて指定された、前記複数の帳票ページのそれぞれにおける特定領域を拡大するためのフォーカス領域の情報を、前記クライアント装置から受信する受信手段と、前記受信された前記複数の帳票ページのそれぞれにおけるフォーカス領域の情報を、前記複合フォームに定義されている前記複数のフォームのそれぞれと関連付けて保存する保存手段と、前記複合フォームに定義されている前記複数のフォームの中から、処理対象のフィールドデータに対して指定されているフォームを特定し、当該特定されたフォームと前記処理対象のフィールドデータとに基づき生成される帳票ページと、当該特定されたフォームに関連付けて保存されている前記フォーカス領域の情報と、前記帳票ページの閲覧操作を制御するための第2のスクリプトプログラムとを含むウェブフォーム閲覧プログラムであって、前記クライアント装置の前記ウェブブラウザで実行されるウェブフォーム閲覧プログラムを生成する第2の生成手段と、前記生成されたウェブフォーム閲覧プログラムを前記クライアント装置に送信する第2の送信手段と、を備えるサーバ装置であって、前記クライアント装置のウェブブラウザで、前記ウェブフォーム閲覧プログラムを実行することで、前記帳票ページの前記特定領域が、前記フォーカス領域の情報に基づいて、拡大表示される。
【発明の効果】
【0009】
本発明によると、帳票ページ内の特定領域を拡大表示するための負荷の増大を抑えながら、ユーザの利便性を向上させることが可能なサーバ装置、情報処理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
図1】実施形態1のシステム構成例を示す図である。
図2】実施形態1の帳票生成サーバ及びクライアント装置のハードウェア構成例を示す図である。
図3】実施形態1の帳票生成サーバ上で動作するソフトウェアモジュールの構成例を示す図である。
図4】実施例1の帳票生成サーバによるオーバレイ出力処理の概要を説明する図である。
図5】実施例1の複合フォームについて説明する図である。
図6】実施例1の複合フォームに対応するフィールドデータの一例を示す図である。
図7】実施例1のWebフォーム編集画面を生成する処理のシーケンスを示す図である。
図8】実施例1のログイン画面の一例を示す図である。
図9】実施例1の帳票選択画面の一例を示す図である。
図10】実施例1のWebフォーム編集画面用のオーバレイ出力処理フローを示す図である。
図11】実施例1のWebフォーム編集画面用のオーバレイ情報の一例を示す図である。
図12】実施例1のWebフォーム編集画面の一例を示す図である。
図13】実施例1のWebフォーム編集画面におけるフォーカス領域設定時の状態を示す図である。
図14】実施例1の帳票部品情報の保存フローを示す図である。
図15】実施例1の帳票部品情報の一例を示す図である。
図16】実施例1のWeb帳票閲覧画面を生成する処理のシーケンスを示す図である。
図17】実施例1のWeb帳票閲覧画面用のオーバレイ出力処理フローを示す図である。
図18】実施例1のWeb帳票閲覧画面用のオーバレイ情報の一例を示す図である。
図19】実施例1のWeb帳票閲覧画面の一例を示す図である。
図20】実施例1のWeb帳票閲覧画面の閲覧時の処理フローを示す図である。
図21】実施例1のWeb帳票閲覧画面のフォーカス領域が拡大された状態を示す図である。
図22】実施例1のWeb帳票閲覧画面のフォーカス領域が拡大された状態を示す図である。
図23】実施例2の帳票部品情報の保存フローを示す図である。
図24】実施例2のWebフォーム編集画面の一例を示す図である。
図25】実施例2の帳票部品情報の一例を示す図である。
図26】実施例2のWeb帳票閲覧画面を生成する処理のシーケンスを示す図である。
図27】実施例3の帳票部品情報の保存フローを示す図である。
図28】実施例3のWebフォーム編集画面の一例を示す図である。
図29】実施例3の帳票部品情報の一例を示す図である。
図30】実施例3のWeb帳票閲覧画面を生成する処理のシーケンスを示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明に係る実施例について詳細に説明する。図面全体を通して、同一の符号は同一物を表す。
【0012】
(実施例1)
図1は、本実施例のシステム構成例を示す図である。
【0013】
図1に示すシステムは、ネットワーク100を介して相互に通信可能に接続された、帳票生成サーバ(サーバ装置)101、クライアント装置102、及びプリンタ103を備える。
【0014】
帳票生成サーバ101は、本実施例の情報処理装置であって、帳票ページのオーバレイ出力処理を実行する。すなわち、帳票生成サーバ101は、テキストデータであるフィールドデータと所定のフォームとを重ね合わせて帳票ページを生成し、仮想プリンタに指示して生成した帳票ページを電子ファイル形式の帳票ファイルとして出力する。オーバーレイ出力処理については、図4を参照して後述する。
【0015】
また、帳票生成サーバ101は、電子ファイル形式の帳票ファイルの閲覧を制御するWeb帳票閲覧プログラムと、帳票ファイルのレイアウト編集の制御を行うWebフォーム編集プログラムの生成処理を実行する。本実施例のWeb帳票閲覧プログラム及びWebフォーム編集プログラムは、ネットワークを介してクライアント装置に配信され、クライアント装置のウェブブラウザ上で動作するウェブアプリケーションである。一般的に、これらのウェブアプリケーションは、ウェブページを表現するマッシュアップ言語(HTML)及びウェブブラウザ上で動作するプログラミング言語(JavaScript)により動作するアプリケーションである。Web帳票閲覧プログラムは、ウェブブラウザ上で電子ファイル形式の帳票ファイルを表示し、ユーザに閲覧させるアプリケーションであるため、以下ではWeb帳票閲覧画面とも呼ぶ。なお、Web帳票閲覧プログラムは、ウェブブラウザ上で動作するウェブアプリケーションでなくともよく、例えば、コンピュータシステム上で実行されるアプリケーションでも良い。また、帳票生成サーバ101が帳票ファイル及び後述するオーバレイ情報を格納したファイルのみを生成し、クライアント装置102側に当該ファイルを使用して後述するWeb帳票閲覧及びWebフォーム編集操作を実現できるアプリケーションを備えても良い。また、Webフォーム編集プログラム(Webフォーム編集画面)については後述する。
【0016】
帳票生成サーバ101による上記オーバレイ出力処理、Web帳票閲覧プログラム生成処理、Webフォーム編集プログラム生成処理は、クライアント装置102からリクエスト(要求)を受信して実行される。また、帳票生成サーバ101は、以下で図面を参照して説明されるシーケンス及びフローチャートに係る情報処理方法を実行する。
【0017】
プリンタ103は、クライアント装置102からリクエストを受信して帳票ファイルを紙に印字する処理を行う。
【0018】
ネットワーク100は、例えば、インターネット、LAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等である。また、ネットワーク100は、これらの組み合わせにより実現されてもよい。すなわち、ネットワーク100は、データの送受信が可能なネットワーク構成であればよい。なお、クライアント装置102から帳票生成サーバ101への通信手段と、クライアント装置102からプリンタ103への通信手段とが異なっていてもよい。
【0019】
図2は、帳票生成サーバ101、及びクライアント装置102を実現する装置のハードウェア構成を示すブロック図である。
【0020】
CPU201は、内部バスで接続される各デバイス(後述のROM、RAM等)を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する。
【0021】
ROM202は、BIOSを格納している。
【0022】
RAM203は、CPU201のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶装置として利用されたりする直接記憶装置である。
【0023】
HDD(ハードディスクドライブ)204は、基本ソフトウェアであるOSやソフトウェアモジュールを記憶している間接記憶装置である。HDD204は、SSD(ソリッドステートドライブ)などでもよい。
【0024】
入力装置205は、不図示のキーボードやポインティングデバイスなどである。
【0025】
出力装置206は、ディスプレイが接続される。
【0026】
I/F(インターフェース)207は、ネットワーク100に接続するために用いられる。
【0027】
上述したハードウェア構成において、装置が起動すると、CPU201によりBIOSが実行され、OSがHDD204からRAM203に実行可能にロードされる。CPU201は、OSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは、上記各デバイスが協働して、CPU201によって実行されて動作する。また、I/F207は、ネットワーク100に接続されており、OSの動作に従ってCPU201により制御され、上述した通信手段による通信を実現する。
【0028】
図3は、帳票生成サーバ101上で動作するソフトウェアモジュールの構成例を示す図である。各ソフトウェアモジュールは、図2に示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
【0029】
アクセス制御部301は、クライアント装置102からのリクエストに応じて、ユーザ認証を行う。
【0030】
ページ生成部302は、クライアント装置102にレスポンスとして返すWebページを生成する。また、上述したウェブアプリケーションに必要なHTML、JavaScriptなどのファイルも、ページ生成部302が生成し、クライアント装置102に送信する。
【0031】
データアクセス部303は、後述する各種データベース305、306、307、308、309、310へのアクセス処理を行う。
【0032】
帳票生成部304は、データアクセス部303を介して読み出した帳票ページのフォームと、フィールドデータとを重ね合わせて、帳票ページを生成する。さらに、帳票生成部304は、生成した帳票ページから、仮想プリンタなどのソフトウェアを利用して、電子ファイル形式の帳票ファイルを生成する。
【0033】
データベース305は、帳票名、所有者など帳票に関する情報を表す帳票関連データを格納する。また、データベース305は、当該帳票と、フォーム、フィールドデータおよび後述する帳票部品情報を紐付けて管理している。さらに、データベース305は、当該帳票と、オーバレイ出力処理の結果である帳票ページおよび後述するオーバレイ情報を紐付けて管理している。帳票生成サーバ101は、データベース305を利用して、例えば、ある帳票ページが生成されたフォームや、該当フォームに関連付く帳票部品情報を特定することができる。
【0034】
データベース306は、フォーム情報を格納する。データベース307は、フィールドデータを格納する。データベース308は、帳票生成部304が生成した帳票ページを格納する。データベース309は、後述するオーバレイ出力処理時に生成されるオーバレイ情報を格納する。データベース310は、後述する帳票部品情報を格納する。
【0035】
次に、帳票生成サーバ101によって実行される、オーバレイ出力処理について説明する。
【0036】
オーバレイ出力とは、原稿用紙形式の枠線などの情報を記録するフォームと、テキスト形式のデータ(フィールドデータ)を重ねあわせて印刷することである。オーバレイ出力の結果は、紙ではなく、電子ファイルとして出力することも可能である。
【0037】
図4は、帳票生成サーバ101によるオーバレイ出力処理の概要について説明した図である。
【0038】
フォームは、専用のフォーム設計システムを利用して作成され、ファイルとして保存することができる。一般的に、フォームは、フィールドデータに依存しない固定的な図形(フォーム図形)と、受け取ったフィールドデータを指定した出力書式に従って表示する図形(フィールド図形)から構成される。フィールド図形を作成するには、予めフィールドデータを受け取るための項目(フィールド)を作成する必要がある。フィールドは、フォーム設計システムにて表示された専用の画面から作成することができる。フィールド図形を作成すると、作成元であるフィールドとの関連付けが内部的におこなわれる。
【0039】
表形式のフィールド図形(表図形)402の場合、フィールドデータをレコード単位に受け取る必要があるためレコードフィールド403を作成する必要がある。
【0040】
他のフィールド図形のデータの演算結果からフィールドデータを生成する形式のフィールドは計算列フィールドと定義する。また、指定した集計方法で集計しフィールドデータを生成するフィールド形式は集計フィールドと定義する。フィールド図形404の場合、どのフィールドとどのような集計方法が指定されていることを表すために集計フィールド405を作成する必要がある。
【0041】
帳票生成サーバ101は、フィールド図形が定義されたフォーム401と、対応するフィールドデータ406とを読み込む。そして、帳票生成サーバ101は、読み込んだフォーム401とフィールドデータ406とを重ね合わせることでオーバレイ出力を実行し、オーバレイ出力結果407を生成する。
【0042】
図5は、複合フォームについて説明した図である。
【0043】
複合フォームとは、複数のフォームを1つの帳票ファイルとして出力するための情報をまとめたものである。複合フォームにより、複数のフォームを切り替えながら帳票出力できるようになる。複合フォーム501は、専用のフォーム設計システムを利用して作成し、ファイルとして保存することができる。複合フォーム501には、複数のフォームを利用することが定義されている(フェース名502、503)。複合フォームに定義された各フォーム定義のことを「フェース」と呼ぶ。各フェースは、複合フォーム内で一意となる名前(フェース名)を持っている(フェース名502は「Face1」、フェース名503は「Face2」)。詳細は後述するが、フェース名は、フィールドデータ内でデータを流しこむフェースを指定する際に利用される。フォーム設計システムを操作することにより、定義された各フォームを画面で確認することが可能である。例えば、図5(a)のように、Face1を選択した際には、左ペインのフェース一覧ツリーのフェース名502が反転表示となり、選択中であることが明示される。その際、右ペインでは、Face1の中身であるフォーム504が表示される。続いて、図5(b)のように、Face2を選択した際には、同様に左ペインではフェース名503が反転され、右ペインではFace2の中身であるフォーム505が表示される。フォーム設計システムでは、各フェースを選択した状態で、さらにそのフェースの中身であるフォームの編集に移行することも可能である。
【0044】
図6は、上述した複合フォームに流し込むためのフィールドデータ406の一例である。
【0045】
フォーム関連定義601には、フォーム切り替え命令602およびフェース切り替え命令603が定義されている。帳票生成サーバ101がフィールドデータ406を読み込んだ際、フォーム関連定義601を読み込んで、各命令を解釈してデータを流しこむフォームおよびフェースを特定する。図6のフィールドデータ406では、「複合フォーム1」の「Face1」のフォームに定義された表図形Aに対して、データブロック604が流し込まれる。さらに続いて、「複合フォーム1」の「Face2」のフォームに定義された表図形Bに対して、データブロック605が流し込まれる。このようにして、複合フォームとそこに流し込まれるフィールドデータがオーバレイされ、1つの帳票ファイルが生成される。
【0046】
次に、本実施例における帳票生成サーバ101とクライアント装置102の具体的な動作について説明する。
【0047】
図7は、本実施例における、Webフォーム編集画面を生成する処理のシーケンスを示す図である。以下で記す記号Sは、シーケンスにおけるステップを意味する。その他のシーケンス図においても同様である。また、フローチャートの説明においても同様に、記号Sはフローチャートにおけるステップを意味する。
【0048】
S701では、クライアント装置102は、クライアント装置102のウェブブラウザで表示されている図8に示すログイン画面801にて入力されたユーザの指示に従い、帳票生成サーバ101にログインのリクエストを送信する。クライアント装置102は、ログイン画面801のユーザ名入力ボックス802とパスワード入力ボックス803にユーザ名とパスワードが入力され、ログインボタン804が押下されると、帳票生成サーバ101にログインのリクエストを送信する。
【0049】
S702では、帳票生成サーバ101のアクセス制御部301は、クライアント装置102から受信したログインリクエストに応じて、ログイン処理を行う。アクセス制御部301は、Basic認証を行い、ユーザ名とパスワードが有効であることを判断された場合、S703に進む。Basic認証は一般的な認証処理であるため、その説明は省略する。
【0050】
S703では、帳票生成サーバ101のページ生成部302は、ログインしたユーザの情報に応じて、図9に示す帳票選択画面901を生成する。
【0051】
帳票選択画面901において、領域902は、現在ログインしているユーザのユーザ名を表示する。ドロップダウンリスト903は、現在ログインしているユーザが所有する帳票一覧を選択可能に表示する。ドロップダウンリスト903の中に表示される内容は、ページ生成部302がデータアクセス部303を介して帳票関連データのデータベース305から抽出した、ログインしたユーザが所有する帳票の帳票名である。
【0052】
操作ボタン904、905、906、907、908は、ドロップダウンリスト903で選択された帳票名に該当する帳票に対して、プレビュー、編集可能なプレビュー、印刷操作、Webフォーム編集、Web帳票プレビューを実行するためのボタンである。Webフォーム編集ボタン907およびWeb帳票プレビューボタン908が押下された後の処理は後述するが、プレビューボタン904、編集可能プレビューボタン905および印刷ボタン906が押下された後の処理は省略する。
【0053】
図7の説明に戻り、S704では、帳票生成サーバ101のアクセス制御部301は、S703で生成された帳票選択画面901を、ネットワーク100経由でクライアント装置102に返す。
【0054】
S705では、クライアント装置102は、帳票生成サーバ101からのレスポンスとして受信した帳票選択画面901を受け取り、ウェブブラウザに表示する。
【0055】
S706では、クライアント装置102は、帳票選択画面901内のドロップダウンリスト903からユーザによって選択された操作対象の帳票の帳票名を受け取る。
【0056】
S707では、クライアント装置102は、ユーザが帳票選択画面901内のWebフォーム編集ボタン907を押下することにより、帳票生成サーバ101に、選択された帳票のWebフォーム編集画面の生成リクエストを送信する。Webフォーム編集画面の生成リクエストの中には、操作対象(すなわち、編集対象)の帳票を特定できる情報が包含される。
【0057】
S708では、帳票生成サーバ101の帳票生成部304は、データアクセス部303を介して編集対象の帳票に関連するフォームを取得する。
【0058】
S709では、帳票生成サーバ101の帳票生成部304は、S708で取得したフォームを使用してオーバレイ出力処理を行う。
【0059】
以下に、オーバレイ出力処理の動作について詳細に説明する。
【0060】
図10は、本実施例の帳票生成サーバ101における、フォームを用いたオーバレイ出力処理の動作を表したフローチャートである。ここで説明するオーバレイ出力処理は、Webフォーム編集画面を生成するためのものであり、フィールドデータを必要としない。すなわち、フォームに定義された罫線やロゴなどのフォーム図形をそのまま出力するオーバレイ出力処理である。フィールド図形は、出力書式の文字列(XXXなど)がそのまま出力される。なお、Webフォーム編集画面であっても、通常のフィールドデータを使用するオーバレイ出力処理の結果である帳票ページを使用しても構わない。その場合、Webフォーム編集ボタン907の押下後に、不図示のフィールドデータ指定ダイアログによりユーザにフィールドデータを指定させる。指定されたフィールドデータとフォームをオーバレイし、その結果である帳票ページを使用してWebフォーム編集画面を生成する。
【0061】
以降、フォームのみを用いたオーバレイ出力処理の動作を説明する。
【0062】
S1001では、帳票生成部304は、S708で取得したフォームを読み込む。帳票生成部304は、S1001で取得したフォームに定義されたフェース分、S1002からS1006において、S1003からS1005までの処理を繰り返す。該当フォームが複合フォームであれば、複合フォーム501のように複数のフェースが定義されているので、複数のフェース分処理を繰り返す。該当フォームが通常のフォーム(すなわち、単一のフォーム)の場合、仮想的なフェース(以降、仮想フェースとする)が1つあるものとして処理を行う。
【0063】
S1003では、帳票生成部304は、複合フォーム(もしくは通常のフォーム)から現在対象のフェース(もしくは仮想フェース)を取得する。フェースの情報は帳票生成サーバ101のRAM203に保持される。
【0064】
S1004では、帳票生成部304は、取得したフェースの描画処理を行う。フィールドデータを流しこんだオーバレイは行わず、フォーム図形はそのまま描画する。またフィールド図形については、フィールド図形の出力書式情報(XXXなど)を取得し、その文字列をフィールド図形に指定された属性(文字色やフォントサイズなど)で描画する。帳票生成部304は、それらの描画情報を、仮想プリンタを介してプリンタドライバ形式のPDF生成モジュールに伝え、PDF形式の帳票ページを生成する。
【0065】
S1005では、帳票生成部304は、オーバレイ情報を更新する。
【0066】
図11は、図10のフローで生成される、オーバレイ情報の一例である。オーバレイ情報は、Webフォーム編集画面等を構築する際に利用される情報である。オーバレイ時にのみ取得できる情報が羅列されている。本実施例の場合、オーバレイ情報は、ファイル形式(JSONフォーマット)であるが、形式は問わない。
【0067】
オーバレイ情報1101は、複数のページブロック1102を含む。ページブロック1102は、ある特定の範囲の帳票ページについての情報をまとめたブロックである。例えば、オーバレイ情報1101の1つ目のページブロック1102は、ページ範囲1103、利用フォーム名1104、および利用フェース名1105を含む。ページ範囲1103は、このページブロックが示す情報の対象となる帳票ページの範囲を示す。「1−1」は、「<開始ページ>−<終了ページ>」の意味であり、この場合、1ページが対象範囲となる。利用フォーム名1104は、その帳票ページ範囲で利用されたフォームの名前である。利用フェース名1105は、その帳票ページ範囲で利用されたフェースの名前である。オーバレイ情報1101を参照すると、帳票の1ページ目ではフォーム「FORM_A」のフェース「Face1」が、2ページ目ではフォーム「FORM_A」のフェース「Face2」が利用されたことが分かる。
【0068】
図10に戻り、S1005では、帳票生成部304は、現在処理中のフォームおよびフェースの名前、および現在の帳票ページ数(フェースの数と同等)を元に、オーバレイ情報へページブロックの情報を追記していく。オーバレイ情報が存在しない場合は新規に生成する。ページブロックの情報はフェースの数と同じ分追加される。また、現在の帳票ページ数は、帳票生成部304がRAM203に記憶させ、管理する。
【0069】
S1007では、帳票生成部304は、データアクセス部303を介して生成したオーバレイ情報を、オーバレイ情報データベース309に格納する。そして、生成したオーバレイ情報を特定できる情報を、帳票関連データびデータベース305中の該当レコードに追加する。
【0070】
図7の説明に戻り、S710では、帳票生成部304は、S1004の描画処理により生成したPDF形式の帳票ページをSVG(スケーラブル・ベクター・グラフィックス)形式の帳票ページに変換する。PDF形式の帳票ページは、ウェブブラウザ上で直接編集できないため、編集できる形式(本実施例の場合はSVG形式)に変更する。続いて、帳票生成部304は、データアクセス部303を介して生成されたSVG形式の帳票ページを帳票ページのデータベース308に格納する。そして、生成されたSVG形式の帳票ページを特定できる情報を、帳票関連データのデータベース305中の該当レコードに追加する。
【0071】
S711では、帳票生成サーバ101は、S707のリクエストの対象帳票のWebフォーム編集画面のURLをクライアント装置102に返却する。返却するURLの中には、S710で生成したSVG形式の帳票ページを特定できる情報が含まれる。本実施例の場合、返却するURLの中に帳票ページと関連する帳票関連データの帳票名が含まれている。
【0072】
S712では、クライアント装置102は、S711で返却されたURLを使用してWebフォーム編集画面にリダイレクトするリクエストを帳票生成サーバ101に送信する。
【0073】
S713では、帳票生成サーバ101のページ生成部302は、S712のリダイレクトリクエストの内容に応じて、Webフォーム編集画面を生成する。Webフォーム編集画面は、SVG形式の帳票ページ、帳票ページの閲覧、編集操作を制御するためのJavascriptプログラム、画面を構成するHTMLからなる。ページ生成部302が、S712のリダイレクトリクエスト中の帳票名を利用して、データアクセス部303を介してリクエスト対象帳票に関連する帳票ページをデータベース308から取得する。対象帳票に関連する帳票ページが複数ある場合は、複数ページ分取得する。クライアント装置102は、Javascriptプログラムを用いて複数の帳票ページとページ番号を紐付けて管理する。
【0074】
S714では、帳票生成サーバ101は、S713で生成したWebフォーム編集画面をクライアント装置102に返却する。
【0075】
S715では、クライアント装置102は、帳票生成サーバ101からのレスポンスを受け取り、Webフォーム編集画面をブラウザに表示する。複数の帳票ページがある場合、1ページ目を最初に表示する。また、後続のS716以降で行う帳票部品の取得処理が終わるまでは、ブラウザ上のWebフォーム編集画面に、ロード中を示すアイコンが重ねて描画される。
【0076】
S716では、クライアント装置102は、帳票生成サーバ101へオーバレイ情報の取得リクエストを行う。リクエストには、画面を構成するJavascriptプログラムからAjax(Asynchronous JavaScript + XML)が利用される。すなわち、リクエストは、AJaxを利用して、帳票生成サーバ101が開示するREST(Representational State Transfer)インターフェースに対して行われる。クライアント装置102は、帳票生成サーバ101のRESTインターフェースに対して、帳票名を指定してオーバレイ情報取得リクエストを行う。
【0077】
S717では、帳票生成サーバ101は、受信したリクエストに含まれる帳票名をもとに、データアクセス部303を介してリクエスト対象帳票に関連するオーバレイ情報をデータベース309から取得する。
【0078】
S718では、帳票生成サーバ101は、取得したオーバレイ情報を、レスポンスとしてクライアント装置102へ返す。
【0079】
S719では、クライアント装置102は、オーバレイ情報に基づき、現在表示されている帳票ページがどのフェースから生成されたかを特定する。具体的には、クライアント装置102は、現在表示されている帳票ページのページ番号を取得する。さらにクライアント装置102は、S716からS718の処理で取得したオーバレイ情報1101内の該当ページ番号のフェース名を特定する。1ページ目なら1つめのページブロック1102が該当するので、フェース名は「Face1」、2ページ目ならフェース名は「Face2」となる。
【0080】
S720以降の処理は、帳票部品がある場合の処理であるため後述する。その前に、Webフォーム編集画面と、帳票部品追加処理について説明する。
【0081】
図12は、本実施例におけるWebフォーム編集画面の一例を示す。
【0082】
Webフォーム編集画面1201は、クライアント装置102のブラウザに表示される。ページコントロール領域1203には、Webフォーム(帳票ページ)に対する各種操作のためのUIコントロールが配置される。配置対象選択ドロップダウンリスト1204は、後述するパーツ(帳票部品)を配置する対象のフェースを選択するためのコントロールである。ページ遷移コントロール1205は、編集対象の帳票ページを切り替えるためのコントロールである。各コントロールを操作することで前頭、末尾、前、後のページに移動が可能である。ページ拡縮コントロール1206は、編集対象の帳票ページの拡大及び縮小を行うコントロールである。中央のエリアに数値を直接入力しての拡大及び縮小も可能である。
【0083】
パーツリスト領域1207には、帳票ページに配置可能なパーツ(帳票部品)を追加するためのコントロール(パーツコントロール)が並んでいる。帳票部品には複数の種類があり、ユーザが用途や目的によって使い分ける。帳票部品には、帳票プレビュー時に押下するとメッセージを表示する「ポップアップ」や、押下すると指定のURLを開く「リンク」、本実施例で説明するフォーカス領域を定義する「フォーカス」等が含まれる。ポップアップ追加用パーツコントロール1208、リンク追加用パーツコントロール1209、フォーカス追加用パーツコントロール1210は、それぞれの帳票部品を追加するためのコントロールである。
【0084】
パーツ属性領域1211については後述する。
【0085】
保存ボタン1212は、追加した帳票部品の情報を保存するためのボタンである。フェースに対して帳票部品を配置した後にユーザによって押下されると、帳票部品が保存される。
【0086】
図13は、Webフォーム編集画面の一例であり、帳票部品の1つである「フォーカス」の配置およびその属性設定方法を説明するためのものである。
【0087】
フォーカス領域1301、1302、1303は、ユーザによりFace2に追加配置された帳票ページ内のフォーカス領域である。フォーカス領域は、ユーザがフォーカス追加用パーツコントロール1210を帳票ページ上にドラッグアンドドロップすることで追加される。フォーカス領域は、後述するWeb帳票閲覧画面を表示する際、画面いっぱいに拡大する領域の定義である。フォーカス領域の定義が、Web帳票閲覧画面においてどのように動作するかは後述する。選択ハンドル1304は、帳票部品を選択した際に表示される。マウス等で帳票部品をクリックすると、選択ハンドル1304が帳票部品の外接矩形の4隅に表示される。図13では、フォーカス領域1301が選択されている。また、選択ハンドル1304は、フォーカス領域等の帳票部品のサイズ変更機能を持つ。マウス等でいずれかの選択ハンドルをドラッグすることで、フォーカス領域のサイズが変更できる。さらに、フォーカス領域等の帳票部品は、マウス等で部品そのものをドラッグすることで移動できる。例えば、フォーカス領域1301は、部品の内部が半透明で塗られているが、この半透明部分をドラッグすることで移動が可能である。
【0088】
パーツ属性領域1311には、現在選択中の帳票部品に関する属性設定や操作のためのコントロールが並んでいる。パーツ属性領域に並ぶコントロールは、選択された帳票部品の種類によって変わる。また、帳票部品を選択していない場合は何も表示されない。フォーカス領域1301を選択中の場合、パーツ属性領域1311には、フォーカス順序変更コントロール1306と、帳票部品削除ボタン1307が並ぶ。帳票部品削除ボタン1307が押下されると、選択中のフォーカス領域が削除される。フォーカス順序変更コントロール1306は、各フォーカス領域のフォーカス遷移の順番を変更するためのコントロールである。1つのフェース(帳票ページ)には、複数のフォーカス領域を定義できる。フォーカス順序変更コントロール1306では、ユーザが後述するフォーカス遷移の指示を行った際、複数のフォーカス領域をどの順番で遷移させるかを定義し、設定する。矢印ボタンを押下することで、選択中のフォーカス領域の遷移順序が変更される。この時、同一フェース上に定義された、選択されていないフォーカス領域の遷移順序についても連動して変更される。フォーカス領域の遷移順序は、フォーカス領域内の中央に数値1305で表示される。図13において、フォーカス遷移順序は、フォーカス領域1301→フォーカス領域1303→フォーカス領域1302の順番となっている。
【0089】
図14は、図12および図13で説明したフォーカス領域追加、属性設定、帳票部品の保存について処理の流れを説明したフローチャートである。
【0090】
S1401では、クライアント装置102は、フォーカス追加用パーツコントロール1210を帳票ページ上にドラッグアンドドロップするというユーザ操作を受けて、帳票ページ上にフォーカス領域を追加する。
【0091】
S1402では、クライアント装置102は、ユーザ操作を受けて、S1401で追加されたフォーカス領域に対して、領域の位置、サイズ、遷移順序という属性を設定する。各種属性の設定方法は図13を参照して説明したとおりである。
【0092】
S1403では、クライアント装置102は、ユーザによる保存ボタン1212の押下を検知する。クライアント装置102が、保存ボタン1212の押下を検知すると、S1404に進む。
【0093】
S1404では、クライアント装置102は、帳票部品情報を生成する。帳票部品情報とは、Webフォーム編集画面でフェースに対して追加された帳票部品に関する情報である。帳票部品情報は、帳票部品を表示する際に、Web帳票閲覧画面およびWebフォーム編集画面から参照される。
【0094】
図15は、本実施例における帳票部品情報の一例を示す。本実施例では、帳票部品情報1501は、JSONファイルである。
【0095】
1502は、帳票部品情報が適用されるフォームの名前である。1503は、フェースが複数ある場合に、各フェースに対する帳票部品を保持するためのブロックである。ブロックの先頭には、フェース名が記載される(例えば、Face1、Face2等)。これら、フォームやフェースの情報は、クライアント装置102が、S716からS718で取得したオーバレイ情報から取得される。1504は、フェースに定義された複数の帳票部品のリストを保持する要素(parts要素)である。Face1には1つだけ帳票部品が追加されている。1506は、帳票部品の種類で、popup(ポップアップ)やfocus(フォーカス領域)といった文字列となっている。1507は、帳票部品の外接矩形情報である。左上の原点と、幅及び高さの情報である。Face2には3つの帳票部品が追加されており、それぞれ帳票部品ブロック1505で分かれている。帳票部品の種類や外接矩形の情報はポップアップの帳票部品と同様である。フォーカス領域の場合、フォーカス遷移順を表すorder情報1508が追加で記載される。
【0096】
図14の説明に戻り、S1405では、クライアント装置102は、S1404で生成された帳票部品情報の保存リクエストを、帳票生成サーバ101へ送信する。具体的には、生成したJSONファイルおよび帳票名をリクエストボディに設定し、帳票生成サーバ101が公開するRESTインターフェースに対して送信する。
【0097】
S1406では、帳票生成サーバ101は、受信したリクエスト中の帳票部品情報を、データアクセス部303を介して帳票部品情報のデータベース310に格納する。この時、帳票生成サーバ101は、S1405で送信されたリクエストボディ中の帳票名をキーとして、帳票関連データのデータベース305と帳票部品情報のデータベース310とを紐付け、帳票名で関連する帳票部品情報が検索可能なようにする。
【0098】
図7の説明に戻り、S720以降の処理を説明する。S720以降の処理は、帳票部品がある場合の処理である。図12および図13で示したWebフォーム編集画面では、フォーカス領域等の帳票部品が追加される。追加された帳票部品は、帳票生成サーバ101のデータベースに保存される。このため、再度該当フォームのWebフォーム編集画面を開いた際には、保存した生成済みの帳票部品を予め画面に表示する必要がある。S720以降の処理は、このために必要である。
【0099】
S720では、クライアント装置102は、帳票生成サーバ101へ帳票部品情報の取得リクエスト(要求)を行う。リクエスト(要求)は、画面を構成するJavascriptプログラムからAjaxを利用して、帳票生成サーバ101が開示するRESTインターフェースに対して行われる。クライアント装置102は、帳票生成サーバ101のRESTインターフェースに対して、帳票名を指定して帳票部品情報取得リクエスト(要求)を行う。
【0100】
S721では、帳票生成サーバ101は、受信したリクエスト(要求)に含まれる帳票名をもとに、データアクセス部303を介してリクエスト(要求)対象帳票に関連する帳票部品情報をデータベース310から取得する。
【0101】
S722では、帳票生成サーバ101は、取得した帳票部品情報を、レスポンスとしてクライアント装置102へ返す。
【0102】
S723では、クライアント装置102は、S719で特定した、現在表示されている帳票ページのフェースの名前から、現在表示すべき帳票部品を特定する。具体的には、S720からS722で取得した帳票部品情報1501内を検索し、現在のフェース名に一致するブロックを見つける。例えば、Face2から生成された帳票ページを表示している場合には、帳票部品情報の”Face2”のブロックを見つけ出し、そこに含まれる3つのフォーカス領域1505を特定する。
【0103】
S724では、クライアント装置102は、S723で特定した帳票部品ごとの処理を行う。例えば、ポップアップの場合、押下可能なポップアップボタンの表示が必要なため帳票部品自体の描画処理を行う。フォーカス領域の場合、Webフォーム編集画面と後述するWeb帳票閲覧画面とで処理内容が異なる。Webフォーム編集画面の場合には、図13で示したような、領域の点線枠やフォーカス遷移順を示す数値等の描画処理を行う。
すべての帳票部品に対する処理が終わったら、S715でWebフォーム編集画面に重ねて描画したロード中を示すアイコンを消す。
【0104】
図16は、本実施例における、Web帳票閲覧画面生成処理のシーケンスを示す。Web帳票閲覧画面は、本実施例の帳票ページ(SVG)を閲覧するための画面であり、iPad等のタブレットデバイス上で動作するOSおよびブラウザで表示され、操作される。
【0105】
Web帳票閲覧画面生成処理の流れは、基本的には、図7を参照して上述したWebフォーム編集画面生成処理の流れと同様である。そのため、以下では、図7に示したシーケンスの流れとは異なる部分のみを説明する。
【0106】
S1601では、クライアント装置102は、ユーザが帳票選択画面901内のWeb帳票プレビューボタン908を押下することにより、帳票生成サーバ101にWeb帳票閲覧画面の生成リクエストを送信する。Web帳票閲覧画面の生成リクエストの中には、閲覧対象の帳票を特定できる情報が包含される。
【0107】
S1602では、帳票生成サーバ101の帳票生成部304は、データアクセス部303を介して閲覧対象の帳票に関連するフォームおよびフィールドデータを取得する。
【0108】
S1603では、帳票生成サーバ101の帳票生成部304は、S1602で取得したフォームおよびフィールドデータを使用してオーバレイ出力処理を行う。
【0109】
以下に、Web帳票閲覧画面生成処理におけるオーバレイ出力処理の動作について詳細に説明する。
【0110】
図17は、本実施例の帳票生成サーバ101における、フォームおよびフィールドデータを用いたオーバレイ出力処理の動作を表したフローチャートである。ここで説明するオーバレイ出力処理は、Web帳票閲覧画面を生成するためのものであり、フィールドデータをフォームに流し込み、実際にオーバレイ出力を行う。
【0111】
S1701では、帳票生成サーバ101は、処理対象のフィールドデータの中身を読み込む。
【0112】
S1702では、帳票生成サーバ101は、読み込んだフィールドデータ内に、フォーム切り替え命令602が含まれているかどうか判定する。フォーム切り換え命令602が含まれていない場合、S1705に進む。一方、フォーム切り替え命令602が含まれている場合は、S1703に進む。
【0113】
S1703では、帳票生成サーバ101は、カレントフォーム情報を更新する。カレントフォーム情報は、現在処理対象のフォームを覚えておくためのバッファ領域であり、帳票生成サーバ101がRAM203に確保する。帳票生成サーバ101は、フォーム切り替え命令602で指定された切り替え先のフォームをカレントフォームとするように情報を更新する。
【0114】
S1704では、帳票生成サーバ101は、S1703でカレントフォームとした切り替え先のフォームの中身を、RAM203上に読み込む。
【0115】
S1705では、帳票生成サーバ101は、S1701で読み込んだフィールドデータ内に、フェース切り替え命令603が含まれているかどうか判定する。フェース切り替え命令603が含まれていない場合、S1708に進む。一方、フェース切り替え命令603が含まれている場合、S1706に進む。
【0116】
S1706では、帳票生成サーバ101は、カレントフェース情報を更新する。カレントフェース情報は、現在処理対象のフェースを覚えておくためのバッファ領域であり、帳票生成サーバ101がRAM203に確保する。帳票生成サーバ101は、フェース切り替え命令603で指定された切り替え先のフェースをカレントフェースとするように情報を更新する。なお、カレントフォームが複合フォームではなく、通常のフォームの場合、カレントフェースは常に「仮想フェース」となる。
【0117】
S1707では、帳票生成サーバ101は、S1706でカレントフェースとした切り替え先のフェースの実体であるフォームの中身をRAM203上に読み込む。
【0118】
S1708では、帳票生成サーバ101は、レイアウト処理を行う。レイアウト処理とは、読み込んだフィールドデータをフォームに定義されたフィールド図形に流し込み、フィールド図形に設定された文字サイズ等の各種属性を反映したうえで文字および各種オブジェクトの配置を決めていく処理である。
【0119】
S1709では、帳票生成サーバ101は、1ページ毎に描画処理を行う。帳票生成サーバ101は、S1708で決められた配置に従い、文字列等の各種オブジェクトを実際に描画していく。具体的には、Windows(登録商標)のGDI(Graphics Device Interface)が提供するTextOut等の関数を用いて各オブジェクトを描画する。
【0120】
S1710では、帳票生成サーバ101は、1ページの描画が全て完了したかどうか判定する。帳票生成サーバ101は、上述したS1708およびS1709にて、フィールドデータを読み込み、フィールド図形に流し込みながらレイアウト処理および描画処理を行うが、各ステップでは、1ページの切れ目を意識した処理はしていない。そのため、本ステップでは、1ページの描画が完了したかを確認する。1ページの描画が完了していない場合は、S1708に戻り、レイアウト処理及び描画処理を継続する。1ページの描画が完了したと判断された場合には、S1711に進む。なお、1ページ分の描画完了判定は、フィールドデータのオーバフロー検知により行う。例えば、レイアウト処理及び描画処理を繰り返している際に、フォームに定義された表の最大行数を超えるフィールドデータの読み込みを検知した際に、1ページ分の描画を完了したと判定する。
【0121】
S1711では、帳票生成サーバ101は、オーバレイ情報を更新する。
【0122】
ここで、オーバレイ情報の更新処理について説明する前に、Web帳票閲覧画面生成処理におけるオーバレイ情報について詳細に説明する。
【0123】
図18は、Web帳票閲覧画面生成処理におけるオーバレイ出力処理で生成されるオーバレイ情報の一例である。基本的な事項は、図11で示した例と同様である。
【0124】
図18(a)は、全ページのオーバレイ出力処理が完了した後の、完成したオーバレイ情報を示す。オーバレイ情報1801を参照すると、1ページ目から3ページ目ではフォーム「FORM_A」のフェース「Face1」が、4ページ目から5ページ目ではフォーム「FORM_A」のフェース「Face2」が利用されていること等が分かる。
【0125】
図18(b)は、まだ全ページのオーバレイ処理が完了していない時の、生成途中のオーバレイ情報である。フォーム「FORM_A」のフェース「Face2」が利用されたページが1ページ生成されているが、2ページ目(全体として見れば5ページ目)以降はまだ、生成されていない。
【0126】
図17に戻り、図18を参照しながら、S1711のオーバレイ情報更新処理について説明する。
【0127】
S1711では、帳票生成サーバ101は、図18(b)のように、該当ページのページブロック1802のページ範囲1803、利用フォーム名1804、および利用フェース名1805を更新する。ページ範囲1803は、RAM203に保持している現在処理中の帳票ページの番号を使って更新する。例えば、フォーム「FORM_A」のフェース「Face2」の処理中で、5ページ目の描画が終わったタイミングであれば、ページ範囲1803の値を「4−4」から「4−5」に更新する。利用フォーム名1804は、S1703で更新したカレントフォーム情報に書き換える。利用フェース名1805は、S1706で更新したカレントフェース情報に書き換える。利用フォーム名1804および利用フェース名1805がすでにカレントフォームおよびカレントフェースだった場合、書き換えは行わない。
【0128】
S1712では、帳票生成サーバ101は、フィールドデータの読み込みが完了したかどうかを判定する。完了していればオーバレイ出力処理は終了する。完了していなければS1701に戻りフィールドデータの読み込みを続ける。
【0129】
図16の説明に戻り、S1604からS1607では、基本的に、図7に示した対応するステップと同じ処理を行う。図7との違いは、対象画面がWebフォーム編集画面ではなく、Web帳票閲覧画面であることだけであるので説明は省略する。
【0130】
S1608では、クライアント装置102は、S723で特定した帳票部品ごとの処理を行う。フォーカス領域については、図13に示したWebフォーム編集画面とは異なり、Web帳票閲覧画面では領域の点線枠やフォーカス遷移順を示す数値等の描画処理は不要であり、描画処理は行われない。ただし、後述のフォーカス処理を実施するためにフォーカス領域のサイズや遷移順自体の情報は必要なため、クライアント装置102はそれらの情報をRAM203に読み込む。
【0131】
図19は、図16を参照して説明したシーケンスの流れに従って生成されたWeb帳票閲覧画面の一例を示す。便宜上、Web帳票閲覧画面1901において、各フォーカス領域1902、1903、1904の領域を点線枠で示しているが、実際の画面では点線は表示されない。フォーカス領域のサイズや遷移順などはRAM203に保持されている。
【0132】
図20は、Web帳票閲覧画面においてWeb帳票が閲覧され、フォーカス領域の拡大処理を行う際の流れを示したフローチャートを示す。
【0133】
S2001では、クライアント装置102は、通常モードへの移行を行う。クライアント装置102は、ブラウザ上で動作するWeb帳票閲覧画面を構成するJavascriptプログラムにより、通常モードとフォーカスモードの2つの表示モードを制御する。通常モードとは、フォーカス領域の拡大表示を行わないモードであり、フォーカスモードとは、ユーザ操作に応じてフォーカス領域の拡大表示を行うモードである。現在どちらのモードに設定されているかは、JavascriptプログラムによりRAM203に保持される。S2001では、クライアント装置102は、Javascriptプログラムを通して表示モードを通常モードに移行する。
【0134】
S2002では、クライアント装置102は、ユーザからWeb帳票の閲覧終了指示があるかどうか判定する。ユーザによるマウス操作でWeb帳票閲覧画面が閉じられた等の場合、閲覧終了指示があったと判定しS2011に進む。一方、閲覧終了指示がない場合は、S2003に進む。
【0135】
S2003では、クライアント装置102は、フォーカスモード移行の指示があったかどうか判定する。フォーカスモード移行の指示がない場合は、S2002に戻る。一方、フォーカスモード移行の指示があった場合はS2004に進む。フォーカスモードへの移行指示は、タブレットデバイスへのユーザのジェスチャ入力により行われる。例えば、フォーカス領域内におけるダブルタップジェスチャ検出をフォーカスモード移行の指示とみなす。なお、どのようなジェスチャを移行指示とみなすように設定しても良いし、ジェスチャ以外の指示方法でも構わない。フォーカス領域の位置およびサイズは、図16のS1608でRAM203に保持した情報を利用する。
【0136】
S2004では、クライアント装置102は、Javascriptプログラムを通して表示モードをフォーカスモードに移行する。
【0137】
S2005では、クライアント装置102は、遷移順序が1番目のフォーカス領域の部分を、Web帳票閲覧画面内の帳票ページ領域中で最大になるよう拡大表示する。クライアント装置102は、S1608でRAM203に読み込んだフォーカス領域のサイズや遷移順序に基づいて拡大表示処理を行う。
【0138】
図21は、クライアント装置102のJavascriptプログラムによってフォーカス領域の部分が拡大表示された状態のWeb帳票閲覧画面の一例を示す。図21のWeb帳票閲覧画面2101上では、便宜的にフォーカス領域が点線で表されているが、実際のWeb帳票閲覧画面では点線の枠は表示されない。クライアント装置102は、フォーカス領域の縦横両辺が、Web帳票閲覧画面2101の対応する縦横両辺をはみ出さない最大の長さになるように拡大表示を行う。
【0139】
図20に戻り、S2006では、クライアント装置102は、フォーカス遷移の指示があったかどうか判定する。フォーカス遷移の指示がない場合は、S2009に進む。一方、フォーカス遷移の指示があった場合はS2007に進む。フォーカス遷移の指示は、タッチデバイスへのユーザのジェスチャ入力により行われる。例えば、フォーカス領域内におけるフリックジェスチャの検出をフォーカス遷移の指示とみなす。なお、どのようなジェスチャをフォーカス遷移の指示とみなすように設定しても良いし、ジェスチャ以外の指示方法でも構わない。
【0140】
S2007では、クライアント装置102は、次のフォーカス領域を特定する。クライアント装置102は、次のフォーカス領域を特定し、さらに、その位置及びサイズを特定する際、S1608でRAM203に保持した情報を利用する。
【0141】
S2008では、クライアント装置102は、S2007で特定したフォーカス領域に移動する。フォーカス領域間の遷移時にアニメーション表示を行い、ユーザへ遷移の様子を伝えてもよい。S2008での移動後、S2005に戻り、移動先の領域を拡大表示する。
【0142】
図22は、S2008およびS2005の結果、2番目のフォーカス領域が拡大表示された状態のWeb帳票閲覧画面の一例を示す。図22のWeb帳票閲覧画面2201上でも、図21と同様に、便宜的にフォーカス領域が点線で表されている。また、クライアント装置102は、フォーカス領域の縦横両辺が、Web帳票閲覧画面2201の対応する縦横両辺をはみ出さない最大の長さになるように拡大表示を行う。
【0143】
図20に戻り、S2009では、クライアント装置102は、フォーカスモード解除の指示があったかどうか判定する。フォーカスモード解除の指示がない場合は、S2006に戻り、フォーカス遷移の指示を待つ。一方、フォーカスモード解除の指示があった場合は、S2010に進む。フォーカスモード解除の指示についても、タブレットデバイスへのユーザのジェスチャ入力で行われる。例えば、フォーカス領域内におけるダブルタップジェスチャをフォーカスモード解除の指示とみなすことができる。
【0144】
S2010では、クライアント装置102は、フォーカス領域を縮小して、Web帳票閲覧画面を元の全画面の拡大率に戻す。その後、S2001に戻り、通常モードでの処理を継続する。
【0145】
以上説明したように、本実施例によると、帳票の雛形となるフォームに関連させてフォーカス領域として設定した帳票ページ内の特定領域を、クライアント装置上で拡大表示させるための帳票部品を生成し、保持することができる。そして、帳票閲覧時には、当該フォーカス領域の情報に基づいて、デバイスの表示画面内に特定領域を拡大表示させることができる。これにより、例えば、既存の印刷目的で設計されたA3やA4等の用紙サイズが大きい帳票資産であっても、Webページ上で閲覧する際の視認性を向上させることができる。また、クライアント装置上で拡大表示させる特定領域の移動に際して、ユーザによる操作を簡略化し、操作性を向上させることができる。また、帳票の全体感を見失うことなく帳票を閲覧することが可能となる。
【0146】
(実施例2)
本実施例では、複合フォームにおいて、すべての異なるフェースの共通部分に、同じフォーカス領域(帳票部品)を配置することを可能とした。そうすることにより、個別のフェースに同じフォーカス領域を配置するのに比べて、ユーザの手間を軽減させることができる。なお、基本的な処理は実施例1と同様であるため、異なる部分のみ説明する。
【0147】
図23は、本実施例における、Webフォーム編集画面での帳票部品保存時の流れを示したフローチャートである。基本的には、実施例1において図14を参照して説明した流れと同じである。したがって、以下では、実施例1と比較して異なる部分のみを説明する。
【0148】
S2301では、クライアント装置102は、ユーザの指示に従って、すべてのフェースに対して配置する帳票部品としてフォーカス領域を追加する。具体的な内容は、以降に示す図24を参照して説明する。
【0149】
図24は、本実施例におけるWebフォーム編集画面の一例を示す。図24に示したWebフォーム編集画面は、図12に示したWebフォーム編集画面1201と同様の画面であるが、配置対象選択ドロップダウンリスト1204を操作して、「ALL」が選択可能なように構成される。「ALL」とは、フォーカス領域の配置対象がすべてのフェースであることを意味する。本実施例では、ユーザは、配置対象選択ドロップダウンリスト1204を操作して、「ALL」を選択し、配置対象をすべてのフェースに変更する。そのうえで、ユーザはフォーカス領域を追加して保存ボタン1212を押下することで、フォーカス領域保存の指示を行う。
【0150】
図23に戻り、S2302では、クライアント装置102は、すべてのフェースに有効な帳票部品情報を生成する。具体的な内容は、以降に示す図25を参照して説明する。
【0151】
図25は、本実施例における、すべてのフェースに有効な帳票部品を含む帳票部品情報の一例を示す。図25に示した帳票部品情報は、図15に示した帳票部品情報1501と同様の構成を有するが、異なる部分について説明する。
【0152】
本実施例における帳票部品情報1501は、「all」とラベリングされたブロック2501を含む。「all」とラベリングされたブロック2501が、すべてのフェースで有効な帳票部品の情報を保持する部分である。「parts」ブロック2502以降に、すべてのフェースで有効な帳票部品のリストが並ぶ。この例では1つの部品しか示していないが、「parts」ブロック2502は複数の部品を保持することができる。各部品はブロック2503で表現される。この例では、フォーカス領域が1つ保持されている。なお、この例では「all」ブロック2501だけでなく、各フェースに対する帳票部品を保持する部分2504も同一ファイルに保持している。すなわち、すべてのフェースで有効な帳票部品は、個別に帳票部品が設定されたフェースに対しても、その他の帳票部品が設定されていないフェースに対しても同様に設定可能である。
【0153】
また、すべてのフェースで有効な1以上の帳票部品の遷移順(order情報)と、個別のフェースに設定された1以上の帳票部品の遷移順(order情報)は、独立して制御される。例えば、「all」とラベリングされたブロック2501内の1以上の帳票部品を初めに表示し、次いで、各フェースに対する帳票部品を保持する部分2504内の1以上の帳票部品を表示するように制御される。また、その逆に、各フェースに対する帳票部品を保持する部分2504内の1以上の帳票部品を先に表示するように設定し、制御してもよい。
【0154】
図26は、本実施例における、Web帳票閲覧画面生成処理のシーケンスを示す。基本的には、図16を参照して上述したWeb帳票閲覧画面生成処理の流れと同じである。そのため、以下では、図16に示したシーケンスとは異なる部分のみを説明する。
【0155】
S2601では、クライアント装置102は、帳票生成サーバ101から受信した帳票部品情報に基づき、すべてのフェースで有効な帳票部品及び個別フェースの帳票部品を特定する。具体的には、クライアント装置102は、前のステップで取得した帳票部品情報から、「all」とラベリングされたブロック2501があるかどうか検索して、すべてのフェースで有効な帳票部品を特定する。また、クライアント装置102は、各フェースに対応する帳票部品を保持する部分2504があるかどうか検索して、個別フェースの帳票部品を特定する。
【0156】
S2602では、クライアント装置102は、S2601で特定された各帳票部品の処理を行う。その内容は、S1608で説明したものと同じである。
【0157】
このように、すべてのフェースに有効な帳票部品と、各フェース固有の帳票部品がある場合、両方の帳票部品が処理され、混在することになる。
【0158】
複合フォームを利用するような場合、異なるフェースであっても、共通部分に対して帳票部品を設定する場合が多い。例えば、各請求書の詳細部分の様式は異なっていても、ヘッダ部分は共通といった場合がある。このような場合に、ヘッダ部分へフォーカス領域を設定したい場合、実施例1では、各フェースに個別にヘッダへのフォーカス領域を追加する必要がある。一方、本実施例では、Webフォーム編集画面1201の配置対象選択ドロップダウンリスト1204で「ALL」を選択し、異なるフェースの共通部分に対するフォーカス領域の配置を可能にしたことで、ユーザの手間を軽減することができる。
【0159】
(実施例3)
本実施例では、複合フォームにおいて、帳票部品が配置されていないフェースに対して有効となる帳票部品(以下、デフォルト帳票部品と呼ぶ)を配置することを可能にした。帳票部品が配置されていないフェースとは、「フォーカス」の他に、「ポップアップ」や「リンク」などの帳票部品も含まないフェースを意味する。本実施例のデフォルト帳票部品によると、例えば、個別フェースに配置される帳票部品と併用することで、帳票部品設定時のユーザの手間を軽減させることができる。なお、基本的な処理は実施例1と同様であるため、異なる部分のみ説明する。
【0160】
図27は、本実施例における、Webフォーム編集画面での帳票部品保存時の流れを示したフローチャートである。基本的には、実施例1において図14を参照して説明した流れと同じである。したがって、以下では、実施例1と比較して異なる部分のみを説明する。
【0161】
S2701では、クライアント装置102は、ユーザの指示に従って、デフォルト帳票部品としてフォーカス領域を追加する。具体的な内容は、以降に示す図28を参照して説明する。
【0162】
図28は、本実施例におけるWebフォーム編集画面の一例を示す。図28に示したWebフォーム編集画面は、図12に示したWebフォーム編集画面1201と同様の画面であるが、配置対象選択ドロップダウンリスト1204を操作して、「Default」が選択可能なように構成される。「Default」とは、フォーカス領域の配置対象が、帳票部品が他に配置されていないフェースであることを意味する。本実施例では、ユーザは、配置対象選択ドロップダウンリスト1204を操作して、「Default」を選択し、デフォルト帳票部品を配置することを指示する。そのうえで、ユーザはフォーカス領域を追加して保存ボタン1212を押下することで、フォーカス領域保存の指示を行う。
【0163】
図27に戻り、S2702では、クライアント装置102は、デフォルト帳票部品を含む帳票部品情報を生成する。具体的な内容は、以降に示す図29を参照して説明する。
【0164】
図29は、本実施例における、デフォルト帳票部品を含む帳票部品情報の一例を示す。図29に示した帳票部品情報は、図15に示した帳票部品情報1501と同様の構成を有するが、異なる部分について説明する。
【0165】
本実施例における帳票部品情報1501は、「default」とラベリングされたブロック2901を含む。「default」とラベリングされたブロック2901が、デフォルト帳票部品の情報を保持する部分である。「parts」ブロック2902以降に、デフォルト帳票部品のリストが並ぶ。この例では1つの部品しか示していないが、「parts」ブロック2902は複数の部品を保持することができる。各部品はブロック2903で表現される。この例では、フォーカス領域が1つ保持されている。なお、この例では「default」ブロック2901だけでなく、各フェースに対する帳票部品を保持する部分2904も同一ファイルに保持している。さらに具体的に説明すると、各フェースに対する帳票部品を保持する部分2504には、「Face2」に対する帳票部品が2つ含まれている。したがって、「default」とラベリングされたブロック2901に含まれるデフォルト帳票部品は、「Face2」に対応する帳票ページには配置されず、表示されない。
【0166】
なお、1以上のデフォルト帳票部品と、個別のフェースに設定された1以上の帳票部品は、同一の帳票ページに配置されないので、当然ながら双方の遷移順は独立している。
【0167】
図30は、本実施例における、Web帳票閲覧画面生成処理のシーケンスを示す。基本的には、図16を参照して上述したWeb帳票閲覧画面生成処理の流れと同じである。そのため、以下では、図16に示したシーケンスとは異なる部分のみ説明する。
【0168】
S3001では、クライアント装置102は、帳票生成サーバ101から受信した帳票部品情報に基づき、デフォルト帳票部品を特定する。具体的には、クライアント装置102は、前のステップで取得した帳票部品情報から、「default」ブロック2901があるかどうかを検索して、デフォルト帳票部品を特定する。
【0169】
S3002では、クライアント装置102は、現在表示中の帳票ページのフェースに関連する帳票部品がないかどうかを判定する。すなわち、デフォルト帳票部品の他に帳票部品があるかどうか判定する。他の帳票部品がある場合は、S3004に進む。
【0170】
S3004では、各フェース固有の帳票部品を特定して、個別フェースの帳票部品ごとの処理を行う。その内容は、S1608で説明したものと同じである。
【0171】
一方、他の帳票部品がない場合は、S3003に進む。S3003では、クライアント装置102は、デフォルト帳票部品ごとの処理を行う。その内容は、S1608で説明したものと同じである。この場合は各フェース固有の帳票部品がないため、デフォルト帳票部品の処理のみが行われる。
【0172】
デフォルト帳票部品を設定し、配置可能にしたことで、基本ケースと個別ケースのフェースに対する帳票部品配置の利便性が向上する。例えば、複合フォームで構成される帳票ページにおいて、基本ケースとしてヘッダがあり、例外(個別ケース)としてヘッダがない帳票ページでヘッダをフォーカス領域として指定したい場合がある。このような場合、デフォルト帳票部品としてヘッダにフォーカス領域を定義し、個別ケースとなるフェースでは、そのフェース固有のフォーカス領域を定義することで、帳票部品の配置の手間を減らすことが可能となる。
【0173】
(その他の実施形態)
本発明は、上述した実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30