JP7073070B2 - クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ - Google Patents

クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ Download PDF

Info

Publication number
JP7073070B2
JP7073070B2 JP2017197965A JP2017197965A JP7073070B2 JP 7073070 B2 JP7073070 B2 JP 7073070B2 JP 2017197965 A JP2017197965 A JP 2017197965A JP 2017197965 A JP2017197965 A JP 2017197965A JP 7073070 B2 JP7073070 B2 JP 7073070B2
Authority
JP
Japan
Prior art keywords
page
data
web browser
html
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017197965A
Other languages
English (en)
Other versions
JP2019071034A (ja
Inventor
周平 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017197965A priority Critical patent/JP7073070B2/ja
Publication of JP2019071034A publication Critical patent/JP2019071034A/ja
Application granted granted Critical
Publication of JP7073070B2 publication Critical patent/JP7073070B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを表示する文書データを表示するクライアント装置、方法およびそのプログラムに関するものである。
サーバーコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのウェブブラウザからインターネットを介してクラウドコンピュータにアクセスし、そのクラウドコンピュータが提供するWebページ上で、画像データや電子文書を閲覧することができる。これにより、近年では紙ベースで運用されていた業務を、省資源化を目的としてWebベースでの業務に移行するケースも増えてきている。
Webベースでの業務へ移行したユースケースの一つに帳票を使った運用があげられる。Webベースでの業務へ移行するためには、ウェブブラウザ上での帳票の閲覧がストレスなく行われる必要がある。複数ページから作成される帳票を該当ページの表示だけではなくページ遷移なども含めてスムーズに表示するためには、表示中の帳票以外の前後の帳票を先読みしておくことが有効である。特許文献1には、ページの先読みを行い表示ページに応じて不要な先読みを中止することで効率的に先読みを行う技術が開示されている。
特開2015-207027号公報
しかしながら、例えば帳票のようにフォントファイルや画像などの多様なファイルを含むことでデータサイズが大きくなる場合にウェブブラウザでデータを表示する際、先読みするページが大量になるとHTMLに追加するデータ量が増える。その結果、ウェブブラウザのデータ読み込み容量制限によりエラーとなる虞、および/または大量のデータを読み込むことにより描画のパフォーマンスが劣化してしまう虞がある。
そこで、本発明では、帳票のようにフォントファイルや画像などの多様なファイルを含むことでデータサイズが大きくなる場合における、ウェブブラウザでの表示ページの制御を行う仕組みを提供する。これにより、データサイズが大きい帳票のようなデータの表示においてもウェブブラウザの操作性を損なうことなく表示することを目的とする。
本願発明の1つの側面としてのクライアント装置は、ページ単位でデータを生成するサーバと通信可能なクライアント装置であって、前記データをウェブブラウザ上に表示するため、画面のリクエストを送信する送信手段と、前記リクエストの応答としてHTMLと前記ウェブブラウザ上で動作するプログラムを受信する受信手段と、前記プログラムを動作させることにより、前記ウェブブラウザで表示しているページを基準に規定のページ数分の前記データをダウンロードし保存し、前記HTMLにダウンロードした前記データを参照するURLを追加する追加手段と、を有し、前記ウェブブラウザは、前記URLが追加された前記HTMLを読み込み前記画面の表示を制御することを特徴とする。
本発明によれば、データサイズが大きい帳票のようなデータの表示においてもウェブブラウザの操作性を損なうことなく表示することが可能になる。
実施例1におけるシステム構成例を示す図 実施例1におけるハードウェア構成例を示す図 実施例1におけるWebサーバ上で動作するソフトウェアモジュールの構成例を示す図 実施例1におけるクライアント装置上で動作するソフトウェアモジュールの構成例を示す図 実施例1における帳票閲覧画面を生成する処理シーケンスを示す図 実施例1におけるログイン画面の例 実施例1における帳票選択画面の例 実施例1におけるWeb帳票閲覧画面用の出力ページ情報の例 実施例1における生成されたWeb帳票閲覧画面と表示する帳票を示す図 実施例1におけるWeb帳票閲覧画面の初回表示の処理フローを示す図 実施例1におけるWeb帳票閲覧画面の画面遷移時の処理フローを示す図 実施例1における画像データ取得のJavaScript(登録商標)の一例 実施例1における画面遷移の処理を示す図 実施例2におけるフォーカス機能を示す図 実施例2におけるWebサーバ上で動作するソフトウェアモジュールの構成を示す図 実施例2における帳票部品情報の例 実施例2におけるWeb帳票閲覧画面を生成する処理のシーケンス 実施例2におけるWeb帳票閲覧画面の表示切り替えの処理フローを示す図 実施例2における表示切り替え処理を示す図 実施例1におけるWeb帳票閲覧プログラムに含まれるHTMLを示す図
以下、本発明を実施するための最良の形態について図面を用いて説明する。
図1に示すシステムは、Webサーバ101とクライアント装置102を備え、夫々がインターネットを介して通信可能となっている。Webサーバ101は、クライアント装置102からリクエストを受信して帳票を生成し、Web帳票閲覧プログラムの生成処理を実行する。なお、作成した帳票はWebサーバ101が外部ストレージへアップロードし、外部ストレージから作成された帳票は取得される。
Web帳票閲覧プログラムとは、ネットワークを介して配信されるデータであって、ウェブブラウザ上で動作するウェブアプリケーションである。Web帳票閲覧プログラムは、ウェブページを表現するHTML、スタイルシートであるCSS(Cascading Style Sheets)およびウェブブラウザ上で動作するプログラミング言語(JavaScript)を含む。
Web帳票閲覧プログラムは、Webブラウザにより実行されることでその機能を発揮するプログラムである。Web帳票閲覧プログラムの機能とは、Webサーバ101から生成された帳票をダウンロードし、先のHTMLへ帳票をDOM追加し、ウェブブラウザにそのHTMLを読み込ませることでウェブブラウザ上に帳票を表示させる機能である。Web帳票閲覧プログラムに含まれるHTMLはウェブブラウザ上で帳票を表示するための画面情報であり、HTMLに帳票がDOM追加されたことでWeb帳票閲覧プログラムにより表示される画面をWeb帳票閲覧画面と呼ぶ。なお、DOMとはDocument Object Modelであり、DOM追加と称した場合はHTMLの要素に対し表示対象のファイルに関する記述を追加することを指す。実施例1におけるDOM追加の対象ファイルは帳票である。
クライアント装置102は、ウェブブラウザを用いてWebサーバ101から受信したWeb帳票閲覧プログラムにより帳票を表示する。Web帳票閲覧プログラムは、Webサーバ101から帳票を取得しウェブブラウザ上に表示させる。なお、Web帳票閲覧プログラムは、ウェブブラウザ上で動作するウェブアプリケーション以外、例えばコンピュータシステム上で実行するアプリケーションでも良い。また、Webサーバ101が画像ファイルのみを生成し、クライアント装置102が画像ファイルを使用して後述するWeb帳票閲覧操作を再現できるアプリケーションを備えるような構成でも良い。
また、上記各構成要素はネットワーク100により通信可能に接続されている。ネットワークは、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワークはデータの送受信が可能であればよい。
図2は、図1のWebサーバ101、クライアント装置102のハードウェア構成を示すブロック図である。201は内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行するCPUである。202はBIOSが格納してあるROMである。203はCPU201のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするRAM(直接記憶装置)である。
204は基本ソフトウェアであるOSやソフトウェアモジュールが記憶されているHDD(ハードディスクドライブ)、もしくはSSD(ソリッドステートドライブ)などの間接記憶装置である。205は入力装置であり不図示のキーボードやポインティングデバイス、タッチジェスチャ検出デバイスなどである。206は出力装置でありディスプレイが接続される。入力装置205と出力装置206は、タッチスクリーンディスプレイのような一体型モジュールでも構わない。
207はネットワーク100に接続するためのネットワークI/Fである。これらのハードウェアでは、起動後CPU201によりBIOSが実行されOSがHDD204からRAM203に実行可能にロードされる。CPU201はOSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりCPU201によって実行され動作する。また、ネットワークI/F207はネットワーク100に接続されており、OSの動作に従ってCPU201により制御され、上述した通信機能による通信を実現している。
図3は、Webサーバ101上で動作するソフトウェアモジュールの構成を示す図である。なお、各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行されることで機能を発揮する。アクセス制御部301は、クライアント装置102からのリクエストに応じてユーザ認証を行う。
帳票生成部302は、データアクセス部304を介して読み出したデータベース307に記憶されたフォームデータと、データベース308に記憶されたフィールドデータを重ね合わせて帳票を生成する。実施例1では、作成した帳票をSVG(スケーラブル・ベクター・グラフィックス)形式の帳票として保持する。SVG形式の帳票の場合、ユーザからの操作に応じて、ウェブブラウザが帳票の情報や画像を適宜変更することが可能である。ただし、帳票は、ウェブブラウザで閲覧することができる形式であればPNG、JPEG、GIFなどその他の画像形式でも構わない。
ページ生成部303は、クライアント装置102にレスポンスとして返すWebページを生成する。そして、ページ生成部303は前述したWeb帳票閲覧プログラムに必要なHTML、CSS、JavaScriptなどのファイルを生成し、クライアント装置102に対してWebページとともにWeb帳票閲覧プログラムを送信する。
データアクセス部304は、各データベース305、306、307、308、309、310へのアクセス処理を行う。データベース305は、関連データを格納するデータベースである。関連データは、帳票名、所有者など帳票に関連する情報を表すデータである。データアクセス部304はデータベース306を利用することで、ログインユーザが閲覧できるフォームデータやフィールドデータを認識できる。
データベース306は、ユーザ情報を格納するデータベースである。データベース307は、フォームデータを格納するデータベースである。フォームデータはあらかじめデータベース307に保持されていても良いし、クライアント装置102からの帳票作成依頼の際にクライアント装置102から取得しても良い。データベース308は、フィールドデータを格納するデータベースである。フィールドデータはあらかじめデータベース307に保持されていても良いし、クライアント装置102からの帳票作成依頼の際にクライアント装置102から取得しても良い。
データベース309は、帳票を格納するデータベースである。帳票生成部302で作成された帳票を保持し、クライアント装置102からの要求に応じてデータアクセス部304がデータベース309から帳票を取得しレスポンスを返す。データベース310は、出力ページ情報を格納するデータベースである。オーバレイ処理時に生成される出力ページ情報を格納する。出力ページ情報については図8で後述する。
図4は、クライアント装置102上で動作するソフトウェアモジュールの構成を示す図である。各ソフトウェアモジュールは図2で示したHDD204にウェブブラウザ400のモジュールとして記載されており、上述したようにCPU201によってウェブブラウザ400のプログラムがRAM203にロードされ実行されることで機能を発揮する。
ウェブブラウザ400は、ネットワーク100を介して受信したファイルを用いてWebページを表示し、ユーザ操作に応じて出力装置206であるディスプレイの表示内容を変更する。また、ウェブブラウザ400は、操作判断部401と制御部402と、取得部403、ページ管理部404を有する。
操作判断部401は、マウス操作やタッチ操作により入力されたジェスチャ情報に基づき、ウェブブラウザに対するユーザの操作内容を判断する。ウェブブラウザ400がWeb帳票閲覧画面を表示している場合、スワイプは帳票切替え操作と判断する。左スワイプは、次のページの帳票への帳票切替え操作となり、右スワイプは前のページの帳票への帳票切り替え操作となる。そして、操作判断部401は、帳票切替え操作を操作情報として制御部402へ出力する。制御部402は、操作判断部401から入力された操作情報や後述する出力ページ情報801に基づき、ウェブブラウザ400に対するWebページの表示制御を行う。取得部403は、制御部402からの要求に応じてWebサーバから帳票や出力ページ情報の取得を行う。ページ管理部404は、Webページの表示情報を保持する機能であり、取得部403で取得した出力ページ情報を基に各ページの帳票を保持し、表示中のページ番号の管理を行う。
次に、本実施例1の具体的な動作について説明する。図5は、実施例1における帳票閲覧画面を生成し表示する処理のシーケンスを示す図である。S501において、ユーザはクライアント装置102のウェブブラウザで表示されている図6に示すログイン画面601にてWEBサーバ101にログインのリクエストを送信する。ユーザは、ログイン画面601のユーザ名入力テキストボックス602とパスワード入力テキストボックス603にユーザ名とパスワードを入力し、ログインボタン604を押下する。これによりウェブブラウザ400はWebサーバ101にログインのリクエストを送信する。
S502において、アクセス制御部301はクライアント装置102から受信したログインリクエストの内容によりログイン処理を行う。アクセス制御部301は、Basic認証を行い、ユーザ名とパスワードが有効であることを判断された場合、S503で帳票選択画面の生成を行う。なお、Basic認証は一般的な認証処理のため、その説明を省略する。
S503において、Webサーバ101のページ生成部303はログインしたユーザの情報に応じて図7に示す帳票選択画面701を生成する。702は、ログインしたユーザが所有する帳票一覧を表示するドロップダウンリストである。ドロップダウンリスト702の中に表示する内容は、ページ生成部303がデータアクセス部304を介して帳票関連データのデータベース305から抽出したログインユーザが所有するフォームデータの帳票名である。ボタン703は、Web帳票プレビューボタンであって、ドロップダウンリスト702で選択された帳票名に該当する帳票に対してWeb帳票プレビューを実行するためのボタンである。
S504において、Webサーバ101のアクセス制御部301はS503で生成された帳票選択画面701を、ネットワーク100経由でクライアント装置102に返す。S505において、ウェブブラウザ400はWebサーバ101からのレスポンスである帳票選択画面701を受け取り、帳票選択画面701がウェブブラウザ400上に表示される。S506において、ユーザは帳票選択画面701内のドロップダウンリスト702から操作したい帳票のフォーム名を選択する。
S507において、ユーザは帳票選択画面701内のWeb帳票プレビューボタン703を押下することにより、Webサーバ101にWeb帳票閲覧画面の生成リクエストが送信される。Web帳票閲覧画面の生成リクエストの中に、閲覧対象の帳票のフォームを特定できる情報を包含する。S508において、帳票生成部302は、データアクセス部304を介してフォームおよびフィールドデータを取得する。帳票生成部302は取得したフォームおよびフィールドデータを使用してオーバレイ出力処理を行う。オーバレイ出力処理とは、フォーム(帳票のひな型となる情報)にフィールドデータ(フォーム内のフィールドに流し込まれるテキスト形式のデータ)を重ね合わせることにより帳票を生成することである。本実施例ではSVG(スケーラブル・ベクター・グラフィックス)形式の帳票とし、ページ単位で帳票は生成される。
帳票生成部302は、データアクセス部304を介して生成されたSVG形式の帳票をデータベース309に格納する。そして、生成されたSVG形式の帳票を特定できる情報を帳票生成部302は、成されたSVG形式の帳票を特定できる情報を、データベース310の出力ページ情報に記載する。出力ページ情報は、帳票が初めの1ページ作成された段階で生成され、2ページ目以降の帳票の作成が完了するまで定期的に更新される。
ここで、図8を用いて出力ページ情報について説明する。図8(a)(b)は、オーバレイ処理の際に作られる出力ページ情報の一例である。出力ページ情報は、Web帳票閲覧画面が構築される際に利用される情報である。オーバレイ時にのみ取得できる情報が羅列されている。
実施例1の場合、出力ページ情報はファイル形式(JSONフォーマット)であるが、形式は問わない。出力ページ情報801は、複数のページブロック802と、変換終了フラグ807からなっている。ページブロック802は、ある特定の範囲の帳票についての情報をまとめたブロックである。例えば、出力ページ情報801の1つ目のページブロック802は、ページ番号803、利用フォーム名804、利用フェース名805およびデータ806を情報として持つ。ページ番号803は、このページブロックが帳票の何ページ目かを示す情報である。利用フォーム名804は、その帳票で利用されたフォームの名前である。利用フェース名805は、その帳票番号で利用されたフェースの名前である。データ806は、生成された帳票のファイル名である。出力ページ情報801を見れば、1ページ目ではフォーム「FORM_A」のフェース「Face1」が、2ページではフォーム「FORM_A」のフェース「Face2」が利用されたことが分かる。変換終了フラグ807は、オーバレイが完了したかどうかの情報である。変換終了フラグ807が「true」であればオーバレイは完了し、「false」であれば変換途中であることを示す。
図8(a)は全ページのオーバレイ処理が完了した後の出力ページ情報である。出力ページ情報801を見れば、1ページ目ではフォーム「FORM_A」のフェース「Face1」が、2ページ目ではフォーム「FORM_A」のフェース「Face2」が利用されたことが分かる。図8(b)はまだ全ページのオーバレイ処理が完了していない時の生成途中の出力ページ情報である。変換終了フラグ807の値が「false」であり、フォーム「FORM_A」のフェース「Face1」が利用された帳票の1ページ目が生成されているが、2ページ目はまだ生成されていないことが分かる。帳票の2ページ目が生成されると出力ページ情報801に2ページ目の帳票に関する情報が記述され更新される。
S509において、ページ生成部303はWeb帳票閲覧プログラムを生成する。帳票が帳票901(図9-(a))、帳票902(図9-(b))と複数ページ生成される場合、ページ生成部303は、2枚の帳票を閲覧できるWeb帳票閲覧プログラムを生成する。S510において、Webサーバ101は、S507のリクエストに対してWeb帳票閲覧プログラムをクライアント装置102に送信する。
S511において、ウェブブラウザ400は、Webサーバ101からのレスポンスを受け取り、Web帳票閲覧プログラムを実行する。S512において、クライアント装置102は、Webサーバ101へ出力ページ情報の取得リクエストを送信する。Javascriptプログラムの実行によりウェブブラウザ400がAjax(Asynchronous JavaScript + XML)を利用し、Webサーバ101が開示するREST(Representational State Transfer)インターフェースに対しリクエストする。その際のウェブブラウザ400は、Webサーバ101のRESTインターフェースに対して、帳票名を指定して出力ページ情報取得リクエストを送信する。
S513において、Webサーバ101は、受信した出力ページ情報取得リクエストに含まれる帳票名をもとに、データアクセス部304を介してリクエスト対象帳票に関連する出力ページ情報801をデータベース310から取得する。
S514において、ウェブブラウザ400はS512のリクエストの応答として取得した出力ページ情報801を基に、リクエスト対象帳票に関連する帳票のデータをデータベース309から取得する。複数の帳票がある場合、ウェブブラウザ400は1ページ目を最初に表示する。ウェブブラウザ400は、現在表示されている帳票が何ページ目であるか保持し、表示されている帳票の後ろのページの帳票をダウンロードする。帳票のページ取得のフローは後述の図10のWeb帳票閲覧画面の初回表示の処理フローや図11のWeb帳票閲覧画面903(図9-(c))の画面遷移時の処理フローを用いて説明する。クライアント装置102は、Javascriptプログラムを用いて複数の帳票とページ番号を紐付けて管理する。
図10は、図5で説明したフローに従って生成されたWeb帳票閲覧画面903の表示の流れを示したフローチャートであり、Web帳票閲覧プログラムのJavaScriptによる制御である。S1001において、制御部402は取得部403を介しWebサーバ101から出力ページ情報801を取得する。S1002において、Web帳票閲覧プログラムのJavaScriptに従い、制御部402はS1001で取得した出力ページ情報801を参照し、表示対象のSVG形式の帳票のファイル名806を取得する。帳票を初めて表示する初回表示であれば1ページ目、つまりページ番号803が1であるページブロック802の情報を取得する。制御部402は、取得したページブロック802の帳票のファイル名806を取得し取得部403を介して表示対象の帳票をWebサーバ101から取得する。
その後、制御部402は、Web帳票閲覧プログラムのJavaScriptに従い、表示対象の帳票とその後ろの1ページの帳票を先読みする。本実施例では、1ページ目生成のタイミングで出力ページ情報801が作成されるため、まず1ページ目の帳票の取得を行う。その後、出力ページ情報801に2ページ目のページブロックが追加されていると2ページ目に対応する帳票の取得を行う。なお、実施例1では一度に先読みする規定のページ数を前後1ページとしたが、先読みするページ数を指定できる構成や帳票のサイズに応じて先読みするページ数が予め定められた複数ページ数になる構成であってもよい。課題を解決する形態であれば、先読みするページの規定数に制限はなく、ダウンロードする規定のページ数分は限定されるものではない。
S1003において、ページ管理部404はS1002で取得した帳票をWeb帳票閲覧画面のHTMLにDOM追加する。この際、JavaScriptにより、DOM追加されたHTMLをウェブブラウザ400に読み込ませ、Web帳票閲覧画面を表示させる。図12-(a)は、帳票をダウンロードし、ダウンロードした帳票をDOM追加するJavaScriptの一例である。JavaScriptはウェブブラウザ400が実行することにより、そのプログラムに記述された処理が実行される。図12-(a)の場合、ウェブブラウザ400はSVG形式の帳票をダウンロードしウェブブラウザ400のキャッシュ領域(不図示)に保存し、保存したデータをURLに変換し、そのURLをHTMLに追加することになる。その変化の状態を示したのが図20である。
図20(a)はWeb帳票閲覧プログラムをダウンロードした際に取得したHTMLを、図20(b)はJavaScriptを実行しHTMLに帳票をDOM追加したことにより変化したHTMLを示している。2001はWeb帳票閲覧プログラムに含まれるHTMLであり、2002はHTMLが利用するCSSファイルのパスを、2003は実行するJavaScriptを指定している。HTMLを読み込んだ際にこのJavaScriptを実行することで、HTMLへの帳票のDOM追加が行われる。その結果、2004が示すように帳票のパスが挿入されることになる。このURLは上述したキャッシュ領域に保存された帳票のURLである。
S1004において、制御部402は規定されたページ数分の読み込みが完了したか否かを判断する。具体的には、実施例1では規定されたページ数は1なので、表示ページの後ろ1ページの帳票が取得済みであるか判断し、取得済みである場合はS1006へ進む。まだ、取得済みでないと判断した場合は、S1005へ進む。
S1005において、制御部402はS1001で取得した出力ページ情報801の変換終了フラグ807をチェックし終了変換フラグがtrueである場合は、ダウンロードする帳票がないと判断し処理を終了する。終了変換フラグがfalseである場合は、S1001へ進み、再度出力ページ情報801を取得する。
S1006において、制御部402はS1001またはS1007で取得した出力ページ情報801の変換終了フラグ807をチェックし終了変換フラグがtrueである場合は、オーバレイ処理が完了したと判断し処理を終了する。終了変換フラグがfalseである場合は、S1007へ進み、再度出力ページ情報801を取得する。制御部402は、S1006~S1007を出力ページ情報801の終了変換フラグがtrueとなるまで繰り返す。
図11は、図10による表示処理の最中もしくはその後、ユーザのジェスチャ操作によってページ切替えを指示されたときのWeb帳票閲覧画面の表示切替時の処理の流れを示したフローチャートである。図10と同じくWeb帳票閲覧プログラムのJavaScriptの指示による制御である。
S1101において、制御部402は、操作判断部401からの操作情報を待つ。S1102において、ユーザによるジェスチャ操作を受け、操作判断部401で判断された入力操作情報が帳票切替え操作の場合S1103に進む。帳票切替え操作以外の操作情報がきた場合はS1101に戻る。S1103において、S1102で入力された画面遷移に応じて表示する帳票を遷移させる。HTMLにDOM追加済みの次のページの帳票を読み込むためのURLをウェブブラウザ400が読み込み帳票を表示する。例えば、帳票2(図13-(a))の帳票表示時に操作判断部401が右スワイプ操作を受けた場合、帳票3(図13-(b))の帳票を表示するという動作となる。すなわち、先読みによってダウンロード済みのページを表示する。
S1104において、制御部402はページ管理部404に保持している表示中のページ番号を取得する。制御部402はページ管理部404に保持している出力ページ情報から表示中のページの後ろのページのページブロック802を取得することで先読みする帳票が存在するか判断する。後ページのページブロック802が取得できた場合、先読みする帳票が存在すると判断しS105へ進む。先読みするページがない場合はS1106へ進む。
S1105において、制御部402はS1104で取得したページブロック802から帳票のファイル名806を取得する。制御部402は、取得したファイル名を基に表示切替により表示された現在のページを基準とし、次の先読み対象となる帳票を取得部403を介してWebサーバ101から取得する。
S1106において、制御部402はS1105で取得した帳票をWeb帳票閲覧画面のHTMLにDOM(Document Object Model)追加する。図13-(c)のように帳票4が追加された状態となる。
S1107において、制御部402はページ遷移方向の反対側にある帳票をWeb帳票閲覧画面のHTMLから削除するため、DOM削除を行う。図12-(b)は、HTMLから対象のDOMを削除するためのJavaScriptである。帳票をDOMから削除することでウェブブラウザのキャッシュ領域から帳票が解放され、メモリ容量を削減することができる。図13-(d)のように帳票1が削除され、表示ページと表示ページの前後1ページ分の帳票が読み込まれた状態となる。なお、本フローには終了に関する処理はなく、ウェブブラウザ400が終了した時点でワークメモリから解放され、それと同時に処理が終了する。
実施例1では、表示対象の帳票をダウンロードしまず表示を行う。帳票の表示と並行して、遷移先の帳票の中で必要な帳票をバックグラウンドで取得しHTMLへ追加していくことで、表示対象の帳票が大量にあってもユーザは操作性を損なうことなく帳票を閲覧することが可能である。
帳票はもともと印刷用に設計されたフォームから生成されることが多い。例えば、生命保険会社が顧客への保険プラン説明用に作成する保険帳票はA3サイズであることが多く、A3用紙に印刷したうえで顧客へ説明するのが前提の構成となっている。文字フォントのサイズはその前提で設計されるため、例えば9ポイント等小さいケースが多い。
このような帳票をスマートフォンやタブレットPC(パーソナルコンピュータ)に代表されるタッチデバイスのモバイル向けブラウザ上閲覧すると文字等が非常に小さく見づらくなってしまう。そのような帳票をタブレットデバイスで閲覧する際には、ユーザのピンチ操作により該帳票を都度拡大表示する必要があり、ユーザ操作の手間がかかる。
そこで、課題を解決する機能としてWeb帳票閲覧画面にフォーカス機能を用意することを本実施例では考えた。ここで、フォーカス機能について図14を用いて説明する。フォーカス機能とはフォームに関連させ帳票部品としてフォーカス領域1401、1402(図14-(a))を作成および保持する。そしてWeb帳票閲覧画面で帳票閲覧時に前記フォーカス領域情報に基づいて、表示画面内に特定領域を拡大表示する(図14-(b))。これにより、既存の印刷目的で設計された帳票であっても、Webページ上で閲覧する際の視認性が向上する。
また、フォーカス状態の時(図14-(b))に帳票切り替え操作を行うと次のフォーカス領域(図14-(c))へ遷移することができる。2つのフォーカス領域の間にページが存在したとしても、そのページは表示されないことになる。これにより閲覧個所の移動に際して、拡大縮小操作を都度行う必要がなくなるため全体感を見失うことなく帳票を閲覧することが可能となる。
実施例2では、このようなフォーカス機能を利用し、フォーカス状態となった際の帳票表示の処理について説明する。実施例2は実施例1と異なる部分のみ説明するものとし、説明を省略した部分については実施例1と同様である。
図15は、実施例2におけるWebサーバ101で動作するソフトウェアモジュールの構成例を示す図である。データベース1501は、帳票部品情報1601を格納するデータベースである。データベース305は、関連データを格納するデータベースであって、帳票名、所有者、帳票部品情報など帳票に関連する情報を表すデータである。帳票部品情報1601の詳細は図16を用いて説明する。
実施例2では、帳票部品情報1601は、JSONファイルである。1602は、帳票部品情報が適用されるフォームの名前である。1603は、フェースが複数ある場合に、各フェースに対する帳票部品を保持するためのブロックである。ブロックの先頭にはフェース名が記載される(Face1、Face2等)。1604は、フェースに定義された複数の帳票部品のリストを保持する要素(parts要素)である。Face1、Face2それぞれに1つだけ帳票部品であるフォーカスが設定されている。1605は、帳票部品の種類で、focus(フォーカス領域)といった文字列となっている。1606は、帳票部品の外接句形情報である。左上の原点と幅・高さの情報である。1607は、order情報で同一フェース1603に複数のフォーカス設定がされている場合のフォーカス遷移順を保持する。
図17は、実施例2におけるWeb帳票閲覧画面を作成する処理のシーケンスを示す図である。基本的には図5と同じであるため異なる部分のみ説明する。S1701において、制御部402は表示されたWeb帳票閲覧画面の帳票がどのフォームから生成されたのか、出力ページ情報801からページ番号803をキーに対象のフォーム名804を特定する。
S1702において、制御部402はWebサーバ101へ取得部403を介してフォーム名を指定し帳票部品情報取得リクエストを行う。S1703において、Webサーバ101は受信したリクエストに含まれるフォーム名を基にデータアクセス部304を介してリクエスト対象の帳票部品情報をデータベース1501から取得する。S1704において、Webサーバ101はS1703で取得した帳票部品情報をレスポンスとしてクライアント装置102へ返す。
S1705において、制御部402はページ管理部404から現在表示中のページの帳票情報からフェース名805を取得する。帳票部品情報1601から取得したフェース名を基にフェースに設定されている帳票の部品の一覧を取得する。具体的には、S1704で取得した帳票部品情報1601内を検索し、現在のフェース名805に一致する帳票部品情報1601の帳票部品のブロック1603を見つける。例えば、Face2から生成された帳票を表示している場合には、帳票部品情報の”Face2”のブロックを見つけ出し、帳票部品種類1605がfocusと設定されている2つの帳票部品要素1604を特定する。取得した帳票部品情報はページ管理部404で保持する。
S1706において、制御部402はS1705で特定した帳票部品要素1604の設定を反映する。S1705で取得した帳票の部品要素1604から帳票部品の種類1605を特定し、外接矩形情報1606で設定されたサイズで帳票部品情報を反映する。帳票部品に指定された領域でダブルタップが行われた場合はフォーカス状態に遷移し、帳票部品に指定された領域を拡大表示する。フォーカス状態でスワイプ操作が行われると次に設定されているフォーカス領域へ遷移する。フォーカス状態での左スワイプは、次のフォーカス領域への画面切替え操作となり、右スワイプは前のフォーカス領域への画面切り替え操作となる。フォーカス状態でダブルタップが行われた場合フォーカス領域を縮小し通常状態へ遷移する。
図18は、ダブルタップ操作によってフォーカス状態への表示の切り替えを指示されたときのWeb帳票閲覧画面の処理の流れを示したフローチャートである。図11と異なる部分のみ説明する。S1801において、表示状態が通常の状態であるかフォーカス状態であるか判断する。フォーカス状態である場合はS1802へ進み、通常状態である場合はS1104へ進む。
S1802において、制御部402はページ管理部404の帳票情報から、フォーカス状態において先読みする帳票が存在するか否かを判断する。先読みする帳票が存在する場合はS1105へ進む。先頭ページや最終ページなど、先読みするページがない場合はS1107へ進む。
S1803において、ユーザによるジェスチャ操作を受け、操作判断部401で判断された入力操作情報がフォーカス状態の切り替え操作であるか判断する。フォーカス状態切り替えのジェスチャ操作の場合はS1802へ進み、フォーカス状態切り替え以外の操作情報が来た場合はS1101へ戻る。S1804において、フォーカス状態の切り替え操作が通常状態からフォーカス状態への遷移かフォーカス状態から通常状態への遷移か判断する。通常状態からフォーカス状態への遷移である場合はS1802へ進み、フォーカス状態から通常状態への遷移である場合はS1104へ進む。
図19を用いてS1802でYesと判断された際のS1105~S1107の具体的な処理について、帳票1、帳票2、帳票4にフォーカスの設定がされている4枚の帳票(図19-(a))を例に補足する。帳票2を通常状態で表示(図19-(b))している際にフォーカス状態切り替えのジェスチャ操作を受け取るとS1802において、制御部402はページ管理部404が保持する帳票部品情報から表示中のページの前後でフォーカス設定がされた帳票のフェース情報を取得する。制御部402は、出力ページ情報801から表示中のページのフェース名805を取得し、帳票部品情報1601から表示中のフェースの部品情報を取得し前後のフォーカス設定があるか確認する。制御部402は、前後のフォーカス設定がない場合は出力ページ情報801から表示ページの前後のページのフェース名805を取得し、同様に帳票部品情報1601からフォーカス設定があるか確認し、前後のフォーカス設定が見つかるまでこれを繰り返す。図19-(a)において、帳票2のフォーカス設定の前後では帳票1と帳票4にフォーカス設定が存在する。帳票4は先読みされていないため、先読みする帳票が存在すると判断される。
S1105において、制御部402はページ管理部404の帳票情報を参照して先読み対象の帳票を、取得部403を介してWebサーバ101から取得する。S1106において、制御部402はS1105で取得した帳票をWeb帳票閲覧画面のHTMLにDOM(Document Object Model)追加する。図19-(c)のように帳票4が追加された状態となる。
S1107において、制御部402は先読み対象でなくなった帳票をWeb帳票画面のHTMLからDOM削除を行う。帳票をDOMから削除することで先読みのためにロードされた帳票がメモリから解放される。図19-(c)において、フォーカス状態で表示中のページである帳票2の次の遷移先のページは帳票4となるため帳票3を削除すると判断される。図19-(d)のように帳票3が削除され、表示ページとフォーカス設定がされた表示ページの前後1ページ分の帳票が読み込まれた状態となる。
実施例2により、フォーカス状態におけるウェブブラウザの帳票表示で、ユーザの操作性を損なくことなく帳票を閲覧することが可能になる。
〔その他の実施例〕
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 Webサーバ
102 クライアント装置
400 ウェブブラウザ

Claims (11)

  1. ページ単位でデータを生成するサーバと通信可能なクライアント装置であって、
    前記データをウェブブラウザ上に表示するため、画面のリクエストを送信する送信手段と、
    前記リクエストの応答としてHTMLと前記ウェブブラウザ上で動作するプログラムを受信する受信手段と、
    前記プログラムを動作させることにより、前記ウェブブラウザで表示しているページを基準に規定のページ数分の前記データをダウンロードし保存し、ダウンロードした前記データを参照するURLを前記HTMLに追加する追加手段と、を有し、
    前記ウェブブラウザは、前記URLが追加された前記HTMLを読み込み前記画面の表示を制御することを特徴とするクライアント装置。
  2. 前記プログラムを動作させることにより、前記HTML及び前記プログラムとは異なる出力ページ情報を受信する第2の受信手段と、を更に有し、
    前記追加手段は、前記第2の受信手段によって受信した前記出力ページ情報に記載されたページに対応する前記データの情報を参照し、前記規定のページ数分の前記データをダウンロードすることを特徴とする請求項1に記載のクライアント装置。
  3. 前記出力ページ情報は、前記サーバによりページ単位に前記データが生成される毎に前記第2の受信手段によって更新され、前記第2の受信手段は、前記出力ページ情報にすべてのページに対応する前記データが記載されるまで前記出力ページ情報の受信を行うことを特徴とする請求項2に記載のクライアント装置。
  4. ユーザから次のページへとページを切り替える操作を受け付けたことに応じて、前記ウェブブラウザで表示しているページの後ろのページであってダウンロード済みのページのデータを前記ウェブブラウザが表示する際、前記追加手段は新たなページの前記データをダウンロードし保存し、ダウンロードした前記データを参照するURLを前記HTMLに追加することを特徴とする請求項1乃至3の何れか1項に記載のクライアント装置。
  5. フォーカス状態においてユーザから次のページへとページを切り替える操作を受け付けたことに応じて、前記ウェブブラウザで表示しているページの後ろのページであってダウンロード済みのページのデータを前記ウェブブラウザが表示する際、フォーカスの指定がなされているページの前記データをダウンロードし保存し、ダウンロードした前記データを参照するURLを前記HTMLに追加することを特徴とする請求項1乃至4の何れか1項に記載のクライアント装置。
  6. 前記追加手段により新たなページの前記データを参照するURLが前記HTMLに追加される際に、ユーザから受け付けたページの切り替え操作により遷移する方向とは逆の方向のページの前記データを参照するURLを前記HTMLから削除する削除手段を有する請求項4または5に記載のクライアント装置。
  7. 前記データは帳票であり、前記サーバはフォームとフィールドデータをオーバレイすることにより帳票を生成し、前記ウェブブラウザは前記画面にて帳票を表示することを特徴とする請求項1乃至6の何れか1項に記載のクライアント装置。
  8. 前記プログラムとはJavaScript(登録商標)であることを特徴とする請求項1乃至7の何れか1項に記載のクライアント装置。
  9. ページ単位でデータを生成するサーバと通信可能なクライアント装置で実行される方法あって、
    送信手段は、前記データをウェブブラウザ上に表示するため、画面のリクエストを送信し、
    受信手段は、前記リクエストの応答としてHTMLと前記ウェブブラウザ上で動作するプログラムを受信し、
    追加手段は、前記プログラムを動作させることにより、前記ウェブブラウザで表示しているページを基準に規定のページ数分の前記データをダウンロードし保存し、ダウンロードした前記データを参照するURLを前記HTMLに追加し、
    前記ウェブブラウザは、前記URLが追加された前記HTMLを読み込み前記画面の表示を制御することを特徴とする方法。
  10. 請求項9に記載の方法をクライアント装置に実行させるためのプログラム。
  11. ウェブブラウザを有するクライアント装置によって実行されるプログラム及び所定の記憶領域に記憶されるデータの表示に用いるHTMLを、前クライアント装置に供給するサーバであって、
    前記クライアント装置の前記ウェブブラウザからの要求に従って前記HTMLと前記プログラムを前記クライアント装置に供給する供給手段を有し、
    前記HTMLと前記プログラムが前クライアント装置に供給された後、前記プログラムは、
    前記HTMLに基づき前記ウェブブラウザで表示しているページを基準に規定のページ数分の前記データをダウンロードし保存し、ダウンロードした前記データを参照するURLを前記HTMLに追加する追加処理を前記ウェブブラウザに引き起こさせ、
    前記URLが追加された前記HTMLが前記ウェブブラウザに読み込まれることで前記ダウンロードした前記データを含む画面の表示が引き起こることを特徴とするサーバ。
JP2017197965A 2017-10-11 2017-10-11 クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ Active JP7073070B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017197965A JP7073070B2 (ja) 2017-10-11 2017-10-11 クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017197965A JP7073070B2 (ja) 2017-10-11 2017-10-11 クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ

Publications (2)

Publication Number Publication Date
JP2019071034A JP2019071034A (ja) 2019-05-09
JP7073070B2 true JP7073070B2 (ja) 2022-05-23

Family

ID=66440661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017197965A Active JP7073070B2 (ja) 2017-10-11 2017-10-11 クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ

Country Status (1)

Country Link
JP (1) JP7073070B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011588A1 (en) 2004-11-08 2012-01-12 Bt Web Solutions, Llc Method and apparatus for enhanced browsing with security scanning
JP2015103177A (ja) 2013-11-27 2015-06-04 株式会社リコー 情報処理システム、端末装置、プログラム、及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338096B1 (en) * 1998-06-10 2002-01-08 International Business Machines Corporation System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011588A1 (en) 2004-11-08 2012-01-12 Bt Web Solutions, Llc Method and apparatus for enhanced browsing with security scanning
JP2015103177A (ja) 2013-11-27 2015-06-04 株式会社リコー 情報処理システム、端末装置、プログラム、及び方法

Also Published As

Publication number Publication date
JP2019071034A (ja) 2019-05-09

Similar Documents

Publication Publication Date Title
EP3065062B1 (en) Converting pdf forms into browser-editable forms
JP5235671B2 (ja) 端末装置、コンテンツ表示方法、およびコンテンツ表示プログラム
US10481776B2 (en) Server apparatus, client apparatus, information processing method, and storage medium
US9158488B2 (en) Data processing apparatus and data processing method for generating data to be edited using a print driver
US11675483B2 (en) Client device, control method, and storage medium for smoothly exchanging the display of images on a device
CN102799371A (zh) 一种扩展的数据输入装置及方法
JP6508978B2 (ja) 情報処理システム、サーバ、制御方法、及びコンピュータプログラム
US10353998B2 (en) Information processing apparatus with real time update related to data edited while form document data is browsed, control method, and storage medium
JP6871700B2 (ja) 情報処理システム、情報処理装置及び情報処理システムの制御方法とプログラム
US20170154022A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP7073070B2 (ja) クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ
JP2017027319A (ja) 帳票文書データの表示・編集・保存方法、装置、処理プログラム
JP6327969B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2015039824A (ja) 文書レイアウトシステム、プログラム、文書レイアウト方法
JP2020106926A (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP2017126230A (ja) 帳票文書データの表示・編集方法、装置、処理プログラム
JP4347168B2 (ja) 編集装置およびその制御方法およびそのプログラム
JP2021012429A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP7379019B2 (ja) プログラム、サーバ及び提供方法
KR20120018564A (ko) 전자 책 단말기 및 그 컨텐츠 인쇄 방법
JP2019003562A (ja) 情報処理システム、および情報処理システムの制御方法
US8023146B2 (en) Print control device, information processing device, method of print control device, method of information processing device and computer program
KR101131215B1 (ko) 복수의 객체들에 대한 탭 입력의 처리 방법, 상기 처리 방법이 실행되는 휴대용 통신 단말기 및 컴퓨터에서 독출가능한 저장 미디어
JP6998005B2 (ja) 所定形式ファイル生成サーバ、書類発行システム、プログラム
JP2004139142A (ja) 情報処理装置、その制御方法、制御プログラムを提供する媒体、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220511

R151 Written notification of patent or utility model registration

Ref document number: 7073070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151