JP2021005328A - 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム - Google Patents

帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2021005328A
JP2021005328A JP2019120202A JP2019120202A JP2021005328A JP 2021005328 A JP2021005328 A JP 2021005328A JP 2019120202 A JP2019120202 A JP 2019120202A JP 2019120202 A JP2019120202 A JP 2019120202A JP 2021005328 A JP2021005328 A JP 2021005328A
Authority
JP
Japan
Prior art keywords
form document
server
client terminal
information
user input
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.)
Pending
Application number
JP2019120202A
Other languages
English (en)
Inventor
金子 周平
Shuhei Kaneko
周平 金子
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 JP2019120202A priority Critical patent/JP2021005328A/ja
Publication of JP2021005328A publication Critical patent/JP2021005328A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】テンプレート情報とユーザーに指定されるデータによって動的に生成されるWeb帳票に追記されたユーザー入力を含めて電子文書として帳票文書を保存することを可能とする。【解決手段】帳票文書生成システムにおいて、クライアント端末は、Webブラウザにて表示されている帳票文書上におけるユーザー入力を受け付け、前記ユーザー入力を受け付けた帳票文書の保存要求をサーバに送信し、前記ユーザー入力を画像化して画像データを生成し、前記画像データと、前記帳票文書上における前記ユーザー入力の位置情報とを所定の格納場所に格納し、前記サーバは、前記クライアント端末から前記保存要求を受信した際に、前記所定の格納場所を示す情報を発行し、前記クライアント端末に通知し、前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成し、前記新たな帳票文書を保存する。【選択図】 図9

Description

本発明は、帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラムに関する。
昨今、ペーパーレス化による業務の効率化や省資源化を目的として、紙媒体の情報を文書データに置き換えることにより電子化を促進する企業が増加している。また、業務データの管理や各種処理を行う形態として、クラウドサービスの利用が普及し始めている。ユーザーは、クライアント端末のWebブラウザを用いて、クラウドサービスが提供するWebページ上で電子化された帳票文書データを閲覧する。さらに、業務フローに応じて閲覧している帳票文書データを編集・印刷するような利用ケースの増加が予想される。そのため、Webページ上で帳票文書データを扱う場合、帳票システムで一般的に利用されるPDF(Portable Document Format)形式のデータではなく、よりWebとの親和性が高いSVG(Scalable Vector Graphics)等の形式を使用することが想定される。
このような状況において、クラウドサービス側で帳票文書全体を生成完了してからWebブラウザに表示する構成において、特にページ数の多い業務帳票では、Webページ上で閲覧できるまでユーザーが待たされる可能性がある。そのため、文書全体が生成され送信されるのを待つのではなく、帳票文書を所定のページ単位毎に分割してPDFを生成し、各分割PDFを夫々SVG等に変換する。そして、変換完了したページから順に素早く受信してWebブラウザに表示する。また、Webブラウザに表示した帳票文書に対して後からユーザー入力を追記することも可能である。帳票データに対するユーザー入力の一例として、申し込みや帳票文書の内容を確認済みである旨を示す署名が挙げられる。
このような帳票文書生成システムにおいて、クライアント端末のWebブラウザに表示したWeb帳票をWebブラウザ上で入力されたユーザー入力と共に電子文書として保存したいことが想定される。例えば、販売員による保険営業において、タブレット端末に表示した保険契約申込画面からユーザーが契約する際に、申込文書を証跡として残すため電子文書として保存する。SVGは容易に書き換え可能なため保存の用途に適しておらず、保存用途にはPDFが適している。そのため、PDF形式の帳票文書を保存用として改めて生成することが考えられる。例えば、特許文献1には、クライアント端末で撮影した画像データやユーザーの自署データを既存のレイアウトテンプレートに基づいて成形したPDFファイルを生成する技術が提示されている。
特開2017−151913号公報
しかしながら、特許文献1におけるWeb帳票は、テンプレート情報とユーザーに指定されるデータによって動的に生成されるため、ユーザーに指定されるデータ量によって自署データの出力ページ番号や出力座標が変わる可能性がある。また、ユーザー入力にはユーザーがWeb帳票上に自由に追記するような手書き入力やラインマーカーなど、どこに入力されるかが予め分からない入力も存在する。
本願発明では、テンプレート情報とユーザーに指定されるデータによって動的に生成されるWeb帳票に追記されたユーザー入力を含めて電子文書として帳票文書を保存することを可能とする。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、Webブラウザを備えるクライアント端末と、前記Webブラウザにて閲覧可能な帳票文書を生成するサーバとを含んで構成される帳票文書生成システムであって、前記クライアント端末は、前記Webブラウザにて表示されている帳票文書上におけるユーザー入力を受け付ける受け付け手段と、前記ユーザー入力を受け付けた帳票文書の保存要求を前記サーバに送信する送信手段と、前記受け付け手段にて受け付けたユーザー入力を画像化して画像データを生成する画像化手段と、前記画像化手段にて生成した画像データと、前記帳票文書上における前記ユーザー入力の位置情報とを所定の格納場所に格納する格納手段とを有し、前記サーバは、前記クライアント端末から前記保存要求を受信した際に、前記所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知手段と、前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成手段と、前記生成手段にて生成された新たな帳票文書を保存する保存手段とを有する。
本発明によれば、テンプレート情報とユーザーに指定されるデータによって動的に生成されるWeb帳票に追記されたユーザー入力を含めて電子文書として帳票文書を保存することができる。
本願発明の一実施形態に係るシステム構成の例を示す図。 本願発明の一実施形態に係るハードウェア構成の例を示す図。 本願発明の一実施形態に係るソフトウェア構成の例を示す図。 第1の実施形態に係るオーバレイ処理のフローチャート。 第1の実施形態に係るデータ変換処理のフローチャート。 第1の実施形態に係るインデックスファイルの例を示す図。 第1の実施形態に係る出力ページ情報ファイルの例を示す図。 第1の実施形態に係る画像情報ファイルの例を示す図。 第1の実施形態に係る帳票保存処理を示すシーケンス図。 第1の実施形態に係る業務サーバの業務画面の例を示す図。 第1の実施形態に係るWeb帳票画面の例を示す図。 第2の実施形態に係る画像変換処理のフローチャート。 第2の実施形態に係る保存コンテンツ選択画面の例を示す図。 第3の実施形態に係る画像変換処理のフローチャート。 第3の実施形態に係る出力ページ情報ファイルの例を示す図。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<第1の実施形態>
[システム構成]
図1は、本発明の一実施形態に係る帳票文書生成システムとしてのシステム構成の例を示す図である。図1において、クライアント端末102は、有線または無線LANを介してローカルネットワーク101に接続され、ローカルネットワーク101を介してインターネット100にアクセスし、104〜106のサーバにアクセスする。クライアント端末102は、例えばデスクトップパソコン、ノートパソコン、スマートフォンやタブレットPC等が該当する。クライアント端末102は、Webブラウザ等のプログラムを実行する環境を内蔵している。なお、クライアント端末102は、1台のみを示しているが、複数台のクライアント端末102が含まれてよい。
業務サーバ103は、ユーザー業務情報を管理するサーバである。本実施形態では、一例として、業務サーバ103で業務情報を管理し、販売員が業務サーバ103の情報を用いて顧客に対して営業を行うユースケースを想定して説明する。業務サーバ103は、クライアント端末102からのリクエストに応じて業務情報の表示と、帳票データ生成指示を行うための画面を提供する。なお、図1において、業務サーバ103は、ローカルネットワーク101内に位置した構成として示しているが、インターネット100上に配置され、インターネット100を介してクライアント端末102と接続してもよい。
帳票生成サーバ104は、業務サーバ103から業務情報を受け取り、オーバレイ出力処理、並びに帳票閲覧プログラムの生成処理を実行する。具体的には、帳票生成サーバ104は、テキストデータであるフィールドデータファイルと所定のフォーム情報を含むフォーム情報ファイルとを重ね合わせて印刷ページを生成する。そして、帳票生成サーバ104は、仮想プリンタ(不図示)に指示して上記生成された印刷ページをPDFファイルとして生成する。さらに、帳票生成サーバ104は、生成した帳票文書を閲覧可能とする帳票閲覧プログラム(不図示)を生成する。本実施形態において、帳票閲覧プログラムとは、ネットワークを介して配信可能な、Webブラウザ上で動作するWebアプリケーションである。多くの場合、これらのWebアプリケーションは、Webページを表現するマッシュアップ言語(HTML:Hypertext Markup Language)、及びWebブラウザ上で動作するプログラミング言語(JavaScript)により動作するアプリケーションである。Webブラウザ上で動作するWebアプリケーション以外、コンピュータシステム上で実行するアプリケーションでも良い。
帳票生成サーバ104は、フォーム情報ファイルに業務情報を重ね合わせて帳票文書を生成し管理する。そして、帳票生成サーバ104は、変換サーバ105に対して、生成した帳票文書をWeb帳票文書に変換するリクエストを行う。また、帳票生成サーバ104は、クライアント端末102から帳票文書の保存リクエストを受け付ける。帳票生成サーバ104は、クライアント端末102のWebブラウザ321でWeb帳票文書に追記されたユーザー入力を画像化することにより得られる画像ファイルを帳票文書に挿入し、新たに帳票文書として作成し、ストレージサーバ106に保存する。ここでの帳票文書上にて行われるユーザー入力の詳細は、後述する。
変換サーバ105は、帳票生成サーバ104から帳票文書の変換リクエストを受け付けて、Web帳票文書を生成する。Web帳票文書とは、Webページ上で扱うSVG等の形式の帳票文書である。
ストレージサーバ106は、ファイル管理、保存を行うサーバであり、クライアント端末102、帳票生成サーバ104、変換サーバ105からのファイルアップロード/ダウンロードを受け付ける。ストレージサーバ106は、ファイルのライフサイクルを管理する機能を有し、保存後一定時間経過したファイルを自動的に削除する。本実施形態では、所定のファイルパスに保存したファイルは、保存後一日以上経過すると自動的に削除されるものとする。以降、ライフサイクル管理機能により自動的に削除される領域を「ライフサイクル管理領域」と記載する。
なお、本実施形態では、予めユーザー管理者が各サーバに次の情報を保存しておくものとする。すなわち、業務サーバ103に業務情報データを保存し、帳票生成サーバ104に顧客データに対応するフォーム情報ファイルを保存する。また、本実施形態では、業務サーバ103、帳票生成サーバ104、変換サーバ105、およびストレージサーバ106をそれぞれ別個に示したが、これらの全体もしくは一部が同一のサーバ(サービス)として提供されてもよい。また、各サーバは、負荷分散等の観点から複数の装置にて構成されてもよい。
[ハードウェア構成]
図2は、本実施形態に係る、クライアント端末102、業務サーバ103、帳票生成サーバ104、変換サーバ105、およびストレージサーバ106として動作可能な情報処理装置のハードウェア構成の例を示す図である。なお、以下に示すハードウェア構成は一例であり、装置ごとに異なる構成を備えていてもよい。
図2において、CPU(Central Processing Unit)201は、内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本発明に係る各種処理を実現するためのプログラムを実行する。ROM(Read Only Memory)202は、不揮発性の記憶領域であり、例えば、BIOS(Basic Input/Output System)などのプログラムが格納されている。RAM(Random Access Memory)203は、CPU201のワーク領域として利用されたり、本発明に係る処理を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする。HDD(Hard Disk Drive)204は、基本ソフトウェアであるOS(Operating System)やソフトウェアモジュールが記憶されている間接記憶装置である。関節記憶装置は、SSD(ソリッドステートドライブ)などの他の記憶装置であってもよい。入力装置205は、不図示のキーボードやポインティングデバイスやタッチジェスチャ検出デバイスなどである。出力装置206は、例えば、表示部であるディスプレイが該当する。入力装置205と出力装置206は、タッチスクリーンディスプレイのような一体型モジュールでも構わない。I/F207は、各ネットワークに接続するためのインタフェースである。
これらハードウェアでは、起動後、CPU201によりBIOSが実行され、OSがHDD204からRAM203に実行可能にロードされる。CPU201は、OSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは、各デバイスの協調によりCPU201によって実行され動作する。また、I/F207はインターネット100やローカルネットワーク101などのネットワークに接続されており、OSの動作に従ってCPU201により制御され、上述した通信手段による通信を実現する。
[ソフトウェア構成]
図3は、本実施形態に係る、クライアント端末102、業務サーバ103、帳票生成サーバ104、変換サーバ105、およびストレージサーバ106のソフトウェア構成の例を示す図である。各サーバソフトウェア構成と、各サーバが扱う管理情報について説明する。本実施形態において、各サーバは、図2に示すような情報処理装置のハードウェア構成により実現されるものとして説明する。
(業務サーバ)
業務サーバ103は、Web画面I/F331、業務情報管理部332、およびストレージ333を含んで構成される。各ソフトウェアモジュールは、図2で示すようなHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Web画面I/F331は、業務サーバ103のユーザーインタフェースを提供するものであり、クライアント端末102のWebブラウザ321からの要求に応じて、業務情報を表示する画面を生成して返す。業務情報管理部332は、業務情報をストレージ333に記憶して管理する。これらの情報は、業務サーバ103の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバに記憶するように構成することもできる。
業務サーバ103の業務情報管理部332が管理している顧客情報の例を表1に示す。
Figure 2021005328
表1に示す顧客情報は、帳票を生成する際に使用するデータテーブルである。本実施形態では、顧客を一意に識別するための顧客ID(識別子)、氏名、住所、生年月日、および、連絡先を含む情報を保持している。帳票を生成するために必要なデータは、本実施形態の顧客情報に限らず、製品の在庫や納品情報、入出金情報等、様々な物が想定される。
また、業務サーバ103の業務情報管理部332が管理している帳票情報の例を表2に示す。
Figure 2021005328
表2に示す帳票情報は、帳票を生成する際に使用する帳票テンプレート情報を保持するデータテーブルである。帳票情報を一意に識別するための帳票ID(識別子)、画面表示用の帳票名、および、帳票生成サーバ104で管理されているフォーム情報ファイルを特定するための帳票テンプレートIDを含んで構成される。
業務サーバ103のWeb画面I/F331は、クライアント端末102のWebブラウザ321から帳票プレビュー指示を受け付ける。その帳票プレビュー指示に基づいて、業務情報管理部332は、該当の顧客情報と、帳票情報の帳票テンプレートIDを帳票生成サーバ104に送信し、帳票生成のリクエストを行う。
(帳票生成サーバ)
帳票生成サーバ104は、Webサーバ341、帳票情報管理部342、オーバレイ部343、保存文書生成部344、および、ストレージ345を含んで構成される。各ソフトウェアモジュールは、図2で示すようなHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Webサーバ341は、帳票生成サーバ104の各種インタフェースを提供し、クライアント端末102のWebブラウザ321や、業務サーバ103からのリクエストを受付け、そのリクエストに対する応答を返す。帳票情報管理部342は、帳票テンプレート情報、および、帳票データ情報をストレージ345に格納して管理する。保存文書生成部344は、クライアント端末102のWebブラウザ321でWeb帳票文書に追記(記入)されたユーザー入力を画像化した画像ファイルを帳票文書に挿入し保存用の帳票文書を生成する。
帳票生成サーバ104の帳票情報管理部342が管理している帳票テンプレート情報の例を表3に示す。
Figure 2021005328
表3に示す帳票テンプレート情報は、帳票生成サーバ104が管理するフォーム情報ファイルのデータテーブルである。本実施形態では、フォーム情報ファイルをストレージサーバ106にファイルとして保持している。帳票テンプレートIDはフォーム情報ファイルを一意に識別するID(識別子)であり、表2に示した業務サーバ103で管理される帳票情報の帳票テンプレートIDに対応する。帳票テンプレートURLは、帳票テンプレートのフォーム情報ファイルが格納された位置情報(URL:Uniform Resource Locator)を示す。本実施形態では、帳票テンプレートURLは、ストレージサーバ106にて提供される格納場所を示している。ここでは、帳票生成サーバ104は、フォーム情報ファイルが格納されているストレージサーバ106の格納場所にアクセスできるものとする。
Webサーバ341は、業務サーバ103からの帳票生成リクエストを受け付けると、そのリクエストに含まれる顧客情報と、帳票テンプレートIDを基にオーバレイ部343にオーバレイ出力を指示する。オーバレイ部343は、該当の帳票テンプレート情報の帳票テンプレートURLにアクセスしてフォーム情報ファイルをストレージサーバ106から取得してフォーム情報を取り出す。さらに、オーバレイ部343は、該当の顧客情報と取得したフォーム情報を重ね合わせてオーバレイ出力することで、PDFファイルを生成する。
また、帳票生成サーバ104の帳票情報管理部342は、生成したPDFファイルを、ストレージサーバ106のライフサイクル管理領域に出力する。帳票生成サーバ104の帳票情報管理部342は、出力したPDFファイルとともにPDFファイルの情報を記述したオーバレイインデックスファイルと、オーバレイした結果である各出力データの出力座標等を記述した出力ページ情報ファイルを管理する。なお、オーバレイインデックスファイルと出力ページ情報ファイルについては後述する。さらに、帳票生成サーバ104の帳票情報管理部342は、出力したPDFファイルの情報を変換サーバ105に送信し、Web帳票文書への変換リクエストを行う。
帳票生成サーバ104の帳票情報管理部342が管理し、ストレージ345に保持する帳票データ情報の例を表4に示す。
Figure 2021005328
表4に示す帳票データ情報は、帳票生成サーバ104で管理される帳票文書データについてのデータテーブルである。オーバレイIDは、業務サーバ103から帳票生成リクエストを受け付けた際に帳票情報管理部342が発行するID(識別子)であって、オーバレイ処理を一意に識別可能なIDである。オーバレイインデックスファイルURLは、オーバレイ部343が生成するPDFファイルに関する情報を記載したインデックスファイルにアクセスするためのURLである。オーバレイ処理を開始した時点で、オーバレイ部343がオーバレイインデックスファイルを生成する。オーバレイインデックスファイルについては後述する。出力ページ情報ファイルURLは、オーバレイ部343が生成するオーバレイ処理でのみ取得できる情報を記載した出力ページ情報ファイルにアクセスするためのURLである。オーバレイ処理を開始した時点で、オーバレイ部343が出力ページ情報ファイルを生成する。出力ページ情報ファイルについては後述する。変換IDは、帳票生成サーバ104が変換サーバ105に対して変換リクエストを発行した際に、変換サーバ105が発行し応答として返すIDであって、変換処理を一意に識別可能なIDである。変換インデックスファイルURLは、変換インデックスファイルを取得するためのURLである。変換インデックスファイルについては後述する。
帳票生成サーバ104は、変換サーバ105に対して変換IDを指定して変換情報取得リクエストを行う。応答として変換インデックスファイルURLが変換サーバ105から返された場合、帳票生成サーバ104は、その情報を帳票データ情報にて対応付けて保持する。
帳票生成サーバ104のWebサーバ341は、クライアント端末102から帳票文書保存リクエストを受け付けると、リクエストに含まれるオーバレイIDをもとにオーバレイ処理を特定し、画像アップロードURLを生成する。画像アップロードURLとは、クライアント端末102のWebブラウザ321が生成した画像ファイルをアップロードするためのURLである。オーバレイ処理を特定した時点で、保存文書生成部344が画像情報ファイルを生成する。画像情報ファイルについては後述する。Webサーバ341は、クライアント端末102から画像ファイルのアップロード完了通知を受け付ける。アップロード完了通知を受け付けると、Webサーバ341は、リクエストに含まれているオーバレイIDをもとに該当帳票データ情報からオーバレイインデックスファイルURLと画像情報ファイルURLにアクセスする。そして、Webサーバ341は、取得したオーバレイインデックスファイルに記述されているPDFファイルと画像情報ファイルに記載されている画像ファイルを取得する。保存文書生成部344は、取得したPDFファイルと画像ファイル、画像情報ファイルに記載されている画像ファイルの挿入位置情報を基に保存用帳票文書を生成する。
(変換サーバ)
変換サーバ105は、Webサーバ351、変換情報管理部352、データ変換部353、および、ストレージ354を含んで構成される。各ソフトウェアモジュールは、図2で示したようなHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Webサーバ351は、変換サーバ105の各種インタフェースを提供し、帳票生成サーバ104から帳票文書の変換リクエスト、および、変換情報取得リクエストを受け付け、リクエストに対する応答を返す。変換情報管理部352は、変換情報をストレージ354に格納して管理する。
変換情報管理部352が管理しストレージ354に保持する変換情報の例を表5に示す。
Figure 2021005328
表5に示す変換情報は、変換情報管理部352で管理される変換処理についてのデータテーブルである。変換IDは、帳票生成サーバ104から変換リクエストを受け付けた際に、変換情報管理部352が発行するID(識別子)であって、変換処理を一意に識別可能なIDである。オーバレイインデックスファイルURLは、変換対象のファイルに関する情報が記載されたインデックスファイルにアクセスするためのURLであって、帳票生成サーバ104から変換リクエストを受け付けた際に受け取る。オーバレイインデックスファイルについては後述する。変換インデックスファイルURLは、変換インデックスファイルにアクセスするためのURLである。変換処理を開始した時点で、データ変換部353が変換インデックスファイルを生成する。変換インデックスファイルについては後述する。
データ変換部353は、オーバレイインデックスファイルを定期的に取得する。そして、データ変換部353は、オーバレイインデックスファイルに記述されている変換対象のデータを取得して変換を行い、その結果を変換インデックスファイルに記述する。また、変換サーバ105は、帳票生成サーバ104から変換IDを指定した変換情報取得リクエストを受け付けると、変換情報管理部352が該当の変換情報を抽出して返す。
(ストレージサーバ)
ストレージサーバ106は、Webサーバ361、ファイル情報管理部362、およびストレージ363を含んで構成される。各ソフトウェアモジュールは、図2で示したようなHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
ストレージサーバ106のWebサーバ361は、ストレージサーバ106の各種インタフェースを提供する。ファイル情報管理部362は、ファイル情報を管理し、Webサーバ361で受け付けたリクエストに応じてファイルの入出力を行う。ストレージ363は、ファイル情報やストレージサーバ106が受信したファイルを格納する。
ファイル情報管理部362が管理するファイル情報の例を表6に示す。
Figure 2021005328
表6に示すファイル情報は、ファイル情報管理部362で管理されるストレージサーバ106に保存されるファイルの情報である。データURLは、ストレージサーバ106に保存するファイルを一意に識別するURLである。ファイルパスは、ストレージ363上のファイルパスでありファイルの格納場所を示す。データURLに対するリクエストをWebサーバ361で受け付け、ファイル情報管理部362が該当するファイル情報を更新し、ストレージ363のファイル操作を行う。例えば、ストレージサーバ106に対してファイル操作を要求するクライアントは、データURLに対してHTTP GETメソッドをリクエストすることで対応するファイルをウンロード可能である。また、データURLに対してHTTP PUTメソッドにファイル添付してリクエストすることでファイルをアップロードして保存可能である。さらに、データURLに対してHTTP DELETEメソッドをリクエストすることで対応するファイルを削除可能である。
[インデックスファイル]
次に、帳票生成サーバ104のオーバレイ実行時、および、変換サーバ105の変換実行時にそれぞれ生成され、逐次更新が行われるインデックスファイルについて説明する。なお、本実施形態において、オーバレイインデックスファイル、および変換インデックスファイルは、同じ構造を有するものとして説明する。
図6において、インデックスファイル600〜630は、帳票生成サーバ104と、変換サーバ105が夫々、オーバレイ出力処理、データ変換処理を実行する際に生成、更新を行うインデックスファイルの例を時系列に示したものである。帳票生成サーバ104、及び、変換サーバ105はまず、処理が開始された時点で、ストレージサーバ106のライフサイクル管理領域にインデックスファイルを生成する。この時点では、初期状態として、インデックスファイル600の状態となる。本実施形態では、インデックスファイルは、JSONファイル形式を採用し、「dataList」をキーとする処理結果のデータURLのリストと、「end」をキーとする処理完了フラグから構成される。
本実施形態では、オーバレイ出力結果をPDFファイルとし、ファイル出力単位は1ページ毎とする。例えば、3ページの帳票に対して3つのPDFファイルを出力する。ただし、ファイル出力単位は1ページ毎とする必要はなく、複数ページ固定、全体ページ数から計算した値等、オーバレイ部343で制御可能であればこれに限らない。また、変換サーバ105による変換処理もオーバレイ出力結果のPDFファイル単位で変換を行う。
帳票生成サーバ104、および変換サーバ105は夫々の処理開始時に、初期状態のインデックスファイル600を生成する。この時、ファイルは生成されていないため、「dataList」は要素が空であり、処理結果を示す「end」の値はfalseである。この後、帳票生成サーバ104、および変換サーバ105は夫々、順次処理を実行し、処理結果のファイルをストレージサーバ106のライフサイクル管理領域にアップロードし、そのデータURLを「dataList」に追加する。インデックスファイル610は、1ファイル目がアップロードされた状態を示す。インデックスファイル620は、2ファイル目がアップロードされた状態を示す。さらに、帳票生成サーバ104、および変換サーバ105は夫々、最後のページである3ファイル目の処理結果のファイルをアップロードした時点で、インデックスファイルをインデックスファイル630の状態に更新する。インデックスファイル630は、「dataList」に3ファイル目に対応するデータURLが追加されているとともに、処理完了フラグ「end」がtrueに更新されている。
変換サーバ105は、オーバレイインデックスファイルをストレージサーバ106から取得して参照することで、帳票生成サーバ104のオーバレイ出力の進捗を知ることができる。そのため、変換サーバ105は、オーバレイ出力が完了しているPDFファイルから変換処理を開始することができる。また、クライアント端末102は、変換インデックスファイルをストレージサーバ106から取得して参照することで、変換サーバ105の変換処理の進捗を知ることができ、変換が完了しているWeb帳票文書をダウンロードして表示することができる。
[出力ページ情報ファイル]
次に、帳票生成サーバ104のオーバレイ実行時に生成し、逐次更新を行う出力ページ情報ファイルについて説明する。出力ページ情報は、Web帳票画面を構築する際に利用する情報である。オーバレイ実行時に取得できる、オーバレイで利用した帳票テンプレートの情報やオーバレイの結果帳票に出力されたデータの出力座標等を持つ。本実施形態では、クライアント端末102のWebブラウザ321でWeb帳票文書にユーザー入力として署名を行うための署名欄の位置情報を保持する。Webブラウザ321は、ブラウザ画面上でのタッチイベントの座標情報と出力ページ情報ファイルに記載された署名欄の出力座標の情報から、署名欄がクリックされたことを検知して入力モードへの切り替えを行い、Web帳票文書へのユーザー入力を実現する。なお、ユーザー入力として、例えば、HTML5で導入されたcanvasを利用することにより、各種コンテンツを容易に追記可能である。なお、ユーザー入力の方法はこれに限定するものではなく、公知の方法を利用可能である。
図7において、出力ページ情報ファイル700〜730は、帳票生成サーバ104がオーバレイ出力処理を実行する際に生成、更新を行う出力ページ情報ファイルの例を時系列に示したものである。帳票生成サーバ104はまず、処理が開始された時点で、ストレージサーバ106のライフサイクル管理領域に出力ページ情報ファイルを生成する。この時点では、初期状態として、出力ページ情報ファイル700の状態となる。本実施形態では、出力ページ情報ファイルは、JSONファイル形式を採用し、「pages」をキーとするオーバレイ時に取得可能な出力ページに関連する情報のリストと、「end」をキーとする処理完了フラグから構成される。本実施形態では、出力ページに関連する情報としてページ番号(「pageNo」)、ページ生成に利用したテンプレートID(「formName」)、当該ページに署名欄が存在する場合は署名欄のIDと位置情報(「signatures」)を情報として持つ。
帳票生成サーバ104は、オーバレイ処理開始時に、初期状態の出力ページ情報ファイル700を生成する。この時、帳票は生成されていないため、「pages」は要素が空であり、処理結果を示す「end」の値はfalseである。この後、帳票生成サーバ104は順次処理を実行しオーバレイの実行結果を「pages」に追加する。出力ページ情報ファイル710は、1ファイル目のオーバレイが完了した状態を示す。出力ページ情報ファイル720は、2ファイル目がオーバレイ完了した状態を示す。さらに、帳票生成サーバ104は、最後のページである3ファイル目のオーバレイ処理が完了した時点で、出力ページ情報ファイルを出力ページ情報ファイル730の状態に更新する。出力ページ情報ファイル730は、「pages」に3ファイル目に対応する出力ページ情報が追加されているとともに、処理完了フラグ「end」がtrueに更新されている。
クライアント端末102は、出力ページ情報ファイルをストレージサーバ106から取得して参照することで、帳票テンプレートで定義された署名欄の入力位置を知ることができる。具体的には、出力ページ情報ファイル730に示される「signatures」の情報に基づいて、署名欄のIDおよび位置情報を取得することができる。
[画像情報ファイル]
次に、帳票生成サーバ104がクライアント端末102から帳票文書保存リクエスト受信時に生成する画像情報ファイルについて説明する。画像情報は、保存用の帳票文書を生成するために、クライアント端末102で保存されたユーザー入力の画像を挿入する際に利用する情報である。画像情報ファイルは、クライアント端末102のWebブラウザ321上で追記されたユーザー入力情報を画像化する際に取得できる位置情報等を持つ。本実施形態では、画像化したユーザー入力情報が帳票の何ページ目に追記されていたかを示すページ番号、帳票上のどの位置に追記されていたかの座標情報、および、変換された画像のファイル名の情報を保持する。
図8において、画像情報ファイル800は、帳票生成サーバ104がクライアント端末102から帳票文書保存リクエスト受信時に生成する画像情報ファイルの例を示している。convertId801は、クライアント端末102から受信した帳票保存リクエストに含まれるオーバレイIDを保持する。images802は、複数の画像情報ブロック803から構成される。画像情報ブロック803は、クライアント端末102のWebブラウザ321上で入力されたユーザー入力を画像化した画像についての情報をまとめたブロックである。クライアント端末102のWebブラウザ321上でユーザー入力が複数存在する場合、保存するユーザー入力の数だけ画像情報ブロック803を追記する。pageNo804は、クライアント端末102のWebブラウザ上で追記されたユーザー入力が何ページ目の帳票に対して入力された情報であるか示す。座標情報805は、ユーザー入力が帳票上のどの位置に入力された情報であるか「left」「top」「width」「height」の値を保持する。fileName806は、クライアント端末102のWebブラウザ上で入力されたユーザー入力を画像化した画像データのアップロード先の情報を示す。
[処理フロー]
以降、本実施形態に係る各処理のフローについて説明する。
(オーバレイ処理)
図4は、本実施形態に係るクライアント端末102のWebブラウザ321が業務サーバ103に帳票プレビューリクエストを発行し、帳票生成サーバ104がオーバレイ出力処理を開始し、変換サーバ105へ変換リクエストを行うまでの流れを示す図である。本フローは、ユーザーがWebブラウザ321に表示した画面において帳票プレビュー要求操作を実行することによって開始される。併せて、クライアント端末102のWebブラウザ321にて表示される画面構成および画面遷移についても説明する。
ユーザーによりWebブラウザ321に表示された業務画面1000の帳票プレビューボタン1030が押下されると、S4.1.1にて、Webブラウザ321は、顧客IDと帳票情報1020で選択されている帳票情報の帳票IDを含めて、帳票プレビューリクエストを業務サーバ103に送信する。
図10は、クライアント端末102のWebブラウザ321から、業務サーバ103にアクセスして業務データを表示した場合の業務画面1000の例である。業務画面1000には、業務サーバ103が保持する顧客情報1010と帳票情報1020が表示されている。また、帳票情報1020は、帳票情報として登録されている帳票情報のうちのひとつを選択可能な帳票選択ドロップダウンリストである。帳票プレビューボタン1030は、帳票プレビュー要求操作を行うためのボタンである。
S4.1.2にて、業務サーバ103の業務情報管理部332は、S4.1.1にてクライアント端末102から受信した帳票プレビューリクエストに含まれる顧客ID、帳票IDに該当する顧客情報、帳票テンプレートIDを指定して、帳票生成サーバ104に帳票生成リクエストを送信する。
S4.1.3にて、帳票生成サーバ104は、帳票生成リクエストを受信すると、帳票情報管理部342がオーバレイIDを発行して帳票データ情報に登録する。さらに、帳票生成サーバ104は、帳票生成リクエストに対する応答としてオーバレイIDを、業務サーバ103へ返す。
S4.1.4にて、業務サーバ103は、クライアント端末102のWebブラウザ321に対してオーバレイIDを返す。
また、帳票生成サーバ104の帳票情報管理部342は、S4.1.3と並行して、帳票生成リクエストに含まれる帳票テンプレートIDを基に帳票テンプレート情報から帳票テンプレートURLを取得する。そして、帳票情報管理部342は、取得した帳票テンプレートURLを用いて、顧客情報とともに、オーバレイ部343にオーバレイ出力指示を行う。オーバレイ部343は、オーバレイ出力指示を受けると、オーバレイインデックスファイル(インデックスファイル600)と出力ページ情報ファイル700を生成する。そして、オーバレイ部343は、生成したファイルを、ストレージサーバ106のライフサイクル管理領域にアップロードする(S4.2.1.1〜S4.2.1.2)。なお、ストレージサーバ106のライフサイクル管理領域は、予め規定され、その位置情報は、帳票生成サーバ104とストレージサーバ106間で共有されているものとする。
S4.2.2にて、オーバレイ部343は、S4.2.1.1でアップロードしたオーバレイインデックスファイル(インデックスファイル600)のデータURLを含む変換リクエストを変換サーバ105に送信する。
S4.2.3にて、オーバレイ部343は、帳票テンプレートURLにアクセスしてフォーム情報ファイルを取得し、顧客情報と重ね合わせてオーバレイ処理を開始する。
S4.2.4.1にて、オーバレイ部343は、オーバレイ出力結果としてPDFファイル(PDF01)を出力する。
S4.2.4.2にて、オーバレイ部343は、S4.2.4.1にて生成したPDFファイル(PDF01)をストレージサーバ106のライフサイクル管理領域にアップロードする。
S4.2.4.3にて、オーバレイ部343は、S4.2.4.2にてアップロードしたPDFファイル(PDF01)のデータURLを「dataList」に追記したオーバレイインデックスファイル(インデックスファイル610)を、S4.2.1.1と同じデータURLにアップロードする。これにより、ストレージサーバ106のライフサイクル管理領域において、オーバレイインデックスファイルの内容が更新される。
S4.2.4.4にて、オーバレイ部343は、S4.2.4.1のオーバレイ実行時に取得できる出力ページ情報を、「pages」に追記した出力ページ情報ファイル710を、S4.2.1.2と同じデータURLにアップロードする。これにより、ストレージサーバ106のライフサイクル管理領域において、出力ページ情報ファイルの内容が更新される。
続いて、オーバレイ部343は、次のオーバレイ処理(S4.2.5.1)の出力結果PDF(PDF02)をストレージサーバ106のライフサイクル管理領域にアップロードする(S4.2.5.2)。さらに、オーバレイ部343は、S4.2.5.2にてアップロードしたPDFファイル(PDF02)のデータURLを「dataList」に追記したオーバレイインデックスファイル(インデックスファイル620)をアップロードする(S4.2.5.3)。同様に、オーバレイ部343は、オーバレイ実行時に取得できる情報を「pages」に追記した出力ページ情報ファイル720をアップロードする(S4.2.5.4)。
S4.2.6.1にて、オーバレイ部343は、最後のページ単位のオーバレイ処理を行う。ここでは、3ページ目を最後のページとして説明する。S4.2.6.1にて、帳票生成サーバ104のオーバレイ部343は、オーバレイ出力結果としてPDFファイル(PDF03)を出力する。
S4.2.6.2にて、オーバレイ部343は、S4.2.6.1にて生成したPDFファイル(PDF03)をストレージサーバ106のライフサイクル管理領域にアップロードする。
さらに、S4.2.6.3にて、オーバレイ部343は、「dataList」にS4.2.6.2にてアップロードしたPDFファイル(PDF03)のデータURLを追加する。さらに、オーバレイ部343は、処理完了フラグ「end」を、完了を表す値であるtrueに更新する。そして、オーバレイ部343は、そのオーバレイインデックスファイル(インデックスファイル630)をストレージサーバ106のライフサイクル管理領域にアップロードする。
同様に、S4.2.6.4にて、帳票生成サーバ104のオーバレイ部343は、「pages」にS4.2.6.1のオーバレイ時に取得した情報を追加する。さらに、オーバレイ部343は、処理完了フラグ「end」を、完了を表す値であるtrueに更新した出力ページ情報ファイル730をアップロードする。
本実施形態では、3ページから構成される帳票を例に挙げて説明したが、ページ数が更に多い場合や、オーバレイ出力単位が多い場合には、S4.2.5.1〜S4.2.5.4の処理が繰り返される。
一方、S4.2.2にて変換リクエストを受け付けた変換サーバ105は、変換情報管理部352で、変換IDを発行して応答として帳票生成サーバ104へ返すとともに、受け取ったオーバレイインデックスファイルURLと合わせて変換情報として登録する。また、変換情報管理部352は、データ変換部353にオーバレイインデックスファイルURLを渡し、変換指示を行う。データ変換部353は、変換指示を受けると、初期状態の変換インデックスファイル(インデックスファイル600)を生成してストレージサーバ106のライフサイクル管理領域にアップロードする(S4.3.1)。さらに、変換サーバ105は、そのデータURLを該当の変換情報に登録する。
帳票生成サーバ104は、S4.2.2の変換リクエストの応答として、変換サーバ105から返された変換IDをキーとして、変換サーバ105に定期的に変換情報の取得を行う(S4.4.1)。ここでの取得間隔は特に限定するものではない。S4.4.1の応答で得られる変換情報の変換インデックスファイルURLに値が存在した場合、帳票生成サーバ104は、該当する帳票データ情報の変換インデックスファイルURLを更新し、S4.4.1における定期的な変換情報の取得処理を終了する。
一方、クライアント端末102のWebブラウザ321は、S4.1.4で業務サーバ103からオーバレイIDを受け取った後、そのオーバレイIDを指定して定期的に帳票生成サーバ104へ帳票データ情報の取得を行う(S4.5.1)。ここでの取得間隔は特に限定するものではない。S4.5.1の応答に出力ページ情報ファイルURLと変換インデックスファイルURLが含まれる場合、Webブラウザ321は、S4.5.1における定期的な帳票データ情報の取得処理を終了する。Webブラウザ321は、出力ページ情報ファイルURL、変換インデックスファイルURLが取得できたタイミングでそれぞれのファイルの取得を開始する。この時、Webブラウザ321が取得する変換インデックスファイルの内容は、変換サーバ105で並列に行われている変換処理の進捗によって、図6に示したインデックスファイル600〜630のいずれかの状態となる。
(データ変換処理)
図5は、本実施形態に係る変換サーバ105のデータ変換と、クライアント端末102がWeb帳票文書を取得して表示するまでのフローを示す図である。本フローにおける、変換サーバ105のデータ変換は、図4のS4.2.2において帳票生成サーバ104から変換リクエストを受信することによって開始される。本フローのクライアント端末102のWeb帳票文書表示フローは、Webブラウザ321がS4.5.1における定期的な帳票データ情報の取得処理を終了し、出力ページ情報ファイルと変換インデックスファイルの取得を開始することによって始まる。
変換サーバ105が図4のS4.2.2において帳票生成サーバ104から変換リクエストを受け付けると、変換サーバ105のデータ変換部353は、変換処理を開始する。
S5.1にて、データ変換部353は、帳票生成サーバ104から受信した変換リクエストにて指定されるオーバレイインデックスファイルURLにアクセスし、オーバレイインデックスファイルをダウンロードする。
S5.1.1.1にて、データ変換部353は、S5.1にてダウンロードしたオーバレイインデックスファイルを参照する。そして、「dataList」にオーバレイ済みのデータURLが存在した場合(インデックスファイル610)、データ変換部353は、そのデータURLにアクセスし、PDFファイル(PDF01)を取得する。
次に、S5.1.1.2にて、データ変換部353は、S5.1.1.1にて取得したPDFファイル(PDF01)をWeb帳票文書へ変換する。ここでは、PDF形式からSVG形式に変換するものとする。
S5.1.1.3にて、データ変換部353は、S5.1.1.2にて生成したWeb帳票文書(SVG01)をストレージサーバ106のライフサイクル管理領域にアップロードする。
さらに、S5.1.1.4にて、データ変換部353は、アップロードしたWeb帳票文書(SVG01)のデータURLを変換インデックスファイルの「dataList」に追記し、S4.3.1と同じデータURLにアップロードする。これにより、ストレージサーバ106のライフサイクル管理領域において、変換インデックスファイルの内容が更新される。
以降、データ変換部353は、定期的にオーバレイインデックスファイルURLにアクセスし、オーバレイインデックスファイルを確認する。そして、S5.1.2.1〜S5.1.2.4、S5.1.3.1〜S5.1.3.4の処理を順次実行する。
オーバレイインデックスファイルの処理完了フラグ「end」がtrueであった場合(インデックスファイル630)、データ変換部353は、「dataList」に含まれるデータURLすべてに対しての変換処理が完了した際に(S5.1.3.4)、変換インデックスファイルの処理完了フラグ「end」をtrueに更新する。
一方、クライアント端末102のWebブラウザ321は、S4.5.1の応答で、帳票データ情報の出力ページ情報ファイルURLと変換インデックスファイルURLを取得後、変換インデックスファイルURLに定期的にアクセスする。そして、Webブラウザ321は、変換インデックスファイルをダウンロードする。S5.2.1にて「dataList」にURLが存在した場合(インデックスファイル610、620、630)、Webブラウザ321は、そのデータURLからWeb帳票文書をダウンロードし、図11に示すWeb帳票画面1100に表示する。Webブラウザ321は、変換インデックスファイルの処理完了フラグ「end」がtrueとなった時点(インデックスファイル630)でS5.2.1の処理を終了する。
図11は、Webブラウザ321に表示されるWeb帳票画面1100の例である。Web帳票画面1100は、クライアント端末102のWebブラウザ321がS5.2.1、S5.2.1.1〜S5.2.1.3でWeb帳票文書を取得し、表示した画面である。Web帳票文書1120は、Webブラウザ321が取得したWeb帳票文書を描画したものである。データ1121は、表示されているWeb帳票文書1120に対してユーザーが追記したデータであり、本実施形態では署名情報を例に挙げる。Web帳票文書1120に対してユーザーが追記するデータは、S5.2.2で取得した出力ページ情報に定義された署名領域を選択することによりユーザー入力モードに遷移し、その状態においてユーザー入力を受け付けることで取得される。帳票文書上にて入力可能なユーザー入力としては、署名、チェックボックス、手書きメモ、ラインマーカーなどが挙げられる。しかし、ユーザー入力の種類は特に限定するものでは無く、業務内容に応じて入力可能なコンテンツが制御されてよい。入力されたユーザー入力は、SVGに変換してDOMに追加する。DOMとはDocument Object Modelであり、DOMに追加とはHTMLの要素に対し変換してデータをSVGタグとして追加することを指す。なお、Webブラウザ上での入力、入力したデータのSVG形式の変換処理については公知であるため、説明は省略する。
ページ情報1110は、取得したWeb帳票文書のページ数と現在表示中のページ数を示し、S5.2.1.1〜S5.2.1.3の処理進捗に従って変化する。保存ボタン1130は、帳票生成サーバ104に対して帳票文書の保存要求を実行するためのボタンである。
図4と図5のフローは、夫々のインデックスファイルの状態と内容を起点としており、帳票生成サーバ104のオーバレイ処理、変換サーバ105のデータ変換処理、およびクライアント端末102のWeb帳票文書の表示は並列して動作することができる。以下、オーバレイ処理、変換処理、Web帳票文書表示が並列動作について説明する。
帳票生成サーバ104は、オーバレイインデックスファイルをアップロード(図4のS4.2.1)した後、PDF01の処理が完了すると、S4.2.4.3でデータURLを追加(インデックスファイル610)する。続けて、帳票生成サーバ104は、PDF02に対する処理を開始する。
このタイミングで、S5.1で定期的にオーバレイインデックスファイルを確認している変換サーバ105は、PDF01のデータURLが追加されたことを検知する。そして、変換サーバ105は、PDF01をSVG01へ変換する処理を開始する(S5.1.1.1〜S5.1.1.4)。また、変換サーバ105は、SVG01に対する処理が完了すると、S5.1.1.4にて変換インデックスファイルにSVG01のデータURLを追加(インデックスファイル610)する。そして、変換サーバ105は、S5.1にてPDF02のデータURLが追加されたことを検知するとPDF02に対する処理を行う。
さらに、クライアント端末102は、S4.5.1の応答として得られた変換インデックスファイルURLに定期的にアクセスし、変換インデックスファイルを確認する(S5.2.1)。S4.5.1で変換インデックスファイルURLが応答されるのは、S4.3.1で変換サーバ105が変換インデックスファイルを生成し、S4.4.1の応答として帳票生成サーバ104がそれを受け取ったタイミング以降となる。
クライアント端末102は、変換インデックスファイルにSVG01のデータURLが追加されたことを検知すると、S5.2.1.1でSVG01を取得し、Web帳票画面1100に表示する。
また、帳票生成サーバ104は、PDF01に対する処理の後、PDF02、PDF03を継続して処理し、オーバレイインデックスファイルを更新する。
一方、変換サーバ105は、S5.1の確認を継続し、オーバレイインデックスファイルの更新を検知すると、SVG02、SVG03の変換処理を行い、変換インデックスファイルを更新する。
さらに、クライアント端末102は、S5.2.1の確認を継続し、変換インデックスファイルの更新を検知すると、内容に応じてSVG02、SVG03のデータを取得し、Web帳票画面1100に表示する。
(帳票保存処理)
図9は、本実施形態に係るクライアント端末102のWebブラウザ321からの帳票保存処理要求と、帳票生成サーバ104の帳票保存処理のシーケンスを示す図である。本シーケンスは、ユーザーがWeb帳票画面1100に表示される保存ボタン1130を押下することによって開始される。
S901にて、ユーザーにより保存ボタン1130が押下されると、クライアント端末102のWebブラウザ321は、ユーザー入力のデータの画像化を行う。例えば、クライアント端末102は、Webブラウザ321上で動作するJavascriptプログラムを用いてSVG要素の一覧を取得する。クライアント端末102は、取得したSVG要素がユーザー入力か否かを判定し、ユーザー入力である場合、SVG要素をPNG画像に変換する。ここで、ユーザー入力であるか否かの判定は、SVG要素のid属性を基に判断する。SVG要素の追加時にユーザー入力であることが識別できるidとすることで実現可能である。
S902にて、クライアント端末102のWebブラウザ321は、帳票生成サーバ104に対して帳票保存リクエストを行う。このとき、クライアント端末102のWebブラウザ321は、S4.1.4で受け取ったオーバレイIDとS901で画像化したデータのページ番号、座標情報、画像ファイル名をリクエストに含める。
S903にて、帳票生成サーバ104の保存文書生成部344は、クライアント端末102から帳票保存リクエストを受信すると、当該リクエストに含まれるオーバレイIDとS901で画像化したデータの出力ページ番号、出力座標、画像ファイル名を取得する。
S904にて、保存文書生成部344は、画像アップロードURLを生成する。保存文書生成部344は、画像情報ファイルを生成し、ストレージサーバ106に保存する。さらに、保存文書生成部344は、帳票データ情報に画像情報ファイルURLを追加する。
S905にて、保存文書生成部344は、S904にて生成した画像アップロードURLをレスポンスに含め、クライアント端末102のWebブラウザ321に帳票保存リクエストに対する応答として返す。画像アップロードURLとは、クライアント端末102のWebブラウザ321が生成した画像ファイルをアップロードするためのURLである。ここでは、ストレージサーバ106の所定の格納場所が用いられるものとする。
S906にて、クライアント端末102のWebブラウザ321は、S901にて生成した画像ファイルを帳票生成サーバ104にて指定された画像アップロードURLに対して送信する。
S907にて、Webブラウザ321は、画像ファイルのアップロードが終了した後、帳票生成サーバ104に対して画像アップロード完了通知を行う。このとき、クライアント端末102のWebブラウザ321は、オーバレイIDを通知に含める。
S908にて、保存文書生成部344は、クライアント端末102から取得したオーバレイIDからオーバレイ処理を特定し、帳票データ情報からオーバレイインデックスファイルURLと画像情報ファイルURLを取得する。そして、保存文書生成部344は、取得したURLにアクセスしてオーバレイインデックスファイルと画像情報ファイルをダウンロードする。
次に、S909にて、保存文書生成部344は、S908にてダウンロードしたオーバレイインデックスファイルを参照し、「dataList」に含まれる全てのデータURLにアクセスして全てのPDFファイルを取得する。同様に、保存文書生成部344は、S908にてダウンロードした画像情報ファイルを参照し、「images」に含まれる全ての画像ファイルを取得する。
S910にて、保存文書生成部344は、画像ファイルとPDFファイルの取得が全て成功したか否かを判定する。取得が成功したと判定された場合(S910にてYES)S911へ進み、取得が失敗したと判定された場合(S910にてNO)S914へ進む。
S911にて、保存文書生成部344は、S909にて取得したPDFファイルをページ順に全て結合する。本実施形態では、PDFファイルを1ページ目から順に生成(S4.2.4.1、S4.2.5.1、S4.2.6.1)し、生成した各PDFファイルのファイル名にPDF01、PDF02のようにシーケンシャルな番号を付与している。そのため、PDFファイルを結合する際は、PDFファイル名のシーケンシャルな番号をもとに1ページ目から順にファイルを結合する。なお、ページ順に結合する手段はこの方法に限定されるものではなく、例えば、オーバレイインデックスファイルにページ番号情報を記述する方法であってもよい。
S912にて、保存文書生成部344は、S911で結合されたPDFに画像情報ファイルに記載された出力ページ番号、出力座標、画像ファイル名の情報を基に画像ファイルを挿入し、ユーザー入力を含めた保存用PDFファイルを生成する。
S913にて、保存文書生成部344は、S912にて生成した保存用PDFファイルをストレージサーバ106のライフサイクル管理領域に保存する。そして、S915へ進む。
S914にて、保存文書生成部344は、帳票保存処理にてエラーが発生したものとして、エラー終了する。そして、S915へ進む。
S915にて、保存文書生成部344は、帳票保存処理の結果をレスポンスに含め、クライアント端末102のWebブラウザ321に応答として返す。ここでの帳票保存処理の結果として、帳票保存処理の正常終了もしくはエラー終了のいずれかが返される。
S916にて、クライアント端末102のWebブラウザ321は、帳票生成サーバ104から受信した結果内容に応じて、保存完了画面(不図示)を表示する。帳票保存処理に失敗した場合はその旨を保存完了画面にメッセージとして表示する。そして、本処理フローを終了する。なお、PDFファイルを結合する処理、PDFファイルに画像を挿入する処理は公知であるため、説明は省略する。
本実施形態では、分割生成したPDFファイル、SVGファイル、画像ファイル、および保存用PDFファイルを、ストレージサーバ106のライフサイクル管理領域にアップロードするため、これらファイルは一日経過すると削除される。しかしながら、各ファイルのライフサイクルはこれに限定されるものではない。例えば、保存用PDFファイルをストレージサーバ106により自動的に削除されないようにしてもよい。この場合、例えば、不図示の保存文書削除画面にてユーザーが削除指示操作を行い、クライアント端末102のWebブラウザ321が帳票生成サーバ104に保存文書削除リクエストを行う。これにより、帳票生成サーバ104がストレージサーバ106から該保存用PDFファイルを削除してよい。
以上、本実施形態によれば、クライアント端末102のWebブラウザ321が帳票生成サーバ104に文書保存リクエストを行う際に画像化したユーザー入力の情報(追記された帳票のページ番号、座標位置、画像ファイル名)を送る。これにより、テンプレート情報とユーザーに指定されるデータから動的に生成されるWeb帳票であっても、ユーザー入力を含めて電子文書として帳票を保存することができる。
<第2の実施形態>
クライアント端末102のWebブラウザ321上に追加入力される入力として、第1の実施形態では、署名情報を例に挙げて説明した。販売員による保険営業において、クライアント端末102として利用可能なタブレット上での入力は署名以外にも様々な入力が想定される。例えば、説明義務がある記載について販売員から説明を受けたか否かを示す、ユーザーがチェックするチェックボックスなどが挙げられる。他にも販売員が説明のポイントに着目してもらうためのラインマーカーや、ポイントをまとめた手書き入力などもある。これらの入力は、電子文書の保存時に全てを保存する必要はなく、保存目的に応じて何を保存できるか選択できることが望ましい。例えば、販売員が内部統制の為にWeb帳票を保存するのであれば顧客が入力した署名情報とチェックボックスの入力情報が保存できれば良い。一方、説明したWeb帳票を顧客に提供する為に電子文書を保存するのであれば、説明時に販売員が入力したラインマーカーや手書き入力の情報が保存できれば良い。
本実施形態について、図面を用いて説明する。なお、第1の実施形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
[画像変換処理]
図12は、第2の実施形態に係るクライアント端末102のWebブラウザ321におけるユーザー入力の画像変換処理を示すフローチャートである。本フローはユーザーによりWeb帳票画面1100の保存ボタン1130が押下されることによって開始される。
ユーザーにより保存ボタン1130が押下されると、S1201にて、クライアント端末102のWebブラウザ321は、保存コンテンツ選択画面1301を表示する。図13は、Webブラウザ321に表示される保存コンテンツ選択画面1301の例である。保存対象コンテンツ一覧1302は、どのコンテンツタイプのユーザー入力を画像化し、帳票文書として保存するか選択可能として表示する一覧である。ここでは、チェックボックスにていずれのコンテンツを保存対象とするか否かを指定することができる。保存ボタン1303は、帳票生成サーバ104に対して帳票文書の保存要求を実行するためのボタンである。キャンセルボタン1304は、帳票生成サーバ104への保存要求を行わずにWeb帳票画面1100へ戻るためのボタンである。なお、保存対象コンテンツ一覧1302には、ユーザーから追記されたコンテンツタイプのみを表示し、追記されていないコンテンツタイプについては表示しないような構成であってよい。
S1202にて、クライアント端末102は、Webブラウザ321上で動作するJavascriptプログラムを用いてSVG要素の一覧を取得する。
S1203にて、クライアント端末102は、S1202で取得したSVG要素がS1201で保存コンテンツ選択画面1301にて指定された保存対象のコンテンツタイプであるか否かを判定する。例えば、ユーザー入力をWeb帳票上に追加する際にSVGタグのid属性にコンテンツタイプを含めたidとすることで取得したSVGがどのコンテンツタイプであるか判定することができる。ここでは、S1202にて取得したSVGに対して順に判定処理を行うものとする。保存対象であると判定された場合(S1203にてYES)S1204へ進み、保存対象でないと判定された場合(S1203にてNO)S1205へ進む。
S1204にて、クライアント端末102は、S1202にて取得したSVG要素をPNG画像に変換する。そして、S1205へ進む。
S1205にて、クライアント端末102は、S1202で取得したSVG要素のうち、未処理のSVG要素があるか否かを判定する。未処理のSVG要素がある場合(S1205にてNO)S1203へ戻り、処理を繰り返す。S1202で取得した全てのSVG要素に対して処理が完了した場合(S1205のYES)本処理フローを終了する。
以上、本実施形態では、クライアント端末102のWebブラウザ321上に追加入力された入力の種類に応じて電子文書として保存するか否かを選択する。これにより、第1の実施形態の効果に加え、電子文書の保存の目的に応じて必要なユーザー入力のみを含めた電子文書が保存可能となる。
<第3の実施形態>
上記実施形態で保存した電子文書を後日、印刷するようなユースケースが考えられる。上記実施形態でのユーザー入力の画像化の処理は、クライアント端末102で見ることを前提に保存を行っている。そのため、電子文書を印刷するサイズによっては、ユーザー入力の画像が劣化してしまう可能性がある。
そこで、本願発明の第3の実施形態では、オーバレイに利用する帳票テンプレートに定義されている印刷用紙サイズの情報を出力ページ情報ファイルに出力する。そして、ユーザー入力を画像化する際にWeb帳票の基となった帳票テンプレートの印刷用紙サイズの情報を踏まえて変換処理を行う。
本実施形態について図面を用いて説明する。なお、第1および第2の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
[画像変換処理]
図14は、第3の実施形態に係るクライアント端末102のWebブラウザ321におけるユーザー入力の画像変換処理を示すフローチャートである。本フローはユーザーによりWeb帳票画面1100の保存ボタン1130が押下されることによって開始される。
ユーザーにより保存ボタン1130が押下されると、S1401にて、クライアント端末102は、Webブラウザ321上で動作するJavascriptプログラムを用いてSVG要素の一覧を取得する。そして、クライアント端末102は、各SVG要素が保存対象であるか否かを、SVGタグのid属性を基に判定する。ユーザー入力である情報を含めたidとすることで取得したSVGを画像化すべきか否かを判定することができる。このとき、第2の実施形態の構成のように、ユーザーにより、保存対象の指定を受け付けてもよい。
S1402にて、クライアント端末102は、S5.2.2で取得した出力ページ情報からSVG要素が存在するページで定義される用紙サイズ情報を取得する。図15は、本実施形態における出力ページ情報ファイルの一例を示す。本実施形態では、オーバレイ実行時に、使用した帳票テンプレートで定義されている用紙サイズを取得し、出力ページ情報ファイルに「paperSize」をキーとした情報1501を含む。
S1403にて、クライアント端末102は、S1402で取得した用紙サイズを基に、保存対象のコンテンツ(SVG要素)の画像サイズを計算する。本実施形態では、S1402で取得した用紙サイズはmmで定義されているものとして説明する。一方、Webブラウザ321上に追記されたユーザー入力は、パーセント指定で座標位置を保持しているため、画像サイズのピクセル変換が行われる。クライアント端末102は、これらの情報に基づいて、画像サイズを決定する。
S1404にて、クライアント端末102は、S1401で取得したSVG要素をS1403で算出したサイズでPNG画像に変換する。例えば、クライアント端末102は、取得したSVG要素をcanvasに描画し、canvasの画像をPNGファイルとして保存する。ここで、SVG要素を描画するcanvasを定義する際に、S1403で取得したサイズが利用される。そして、本処理フローを終了する。
以上、本実施形態では、ユーザー入力を追記するWeb帳票作成に用いた帳票テンプレートに定義された印刷用紙サイズの情報を基にユーザー入力を画像化する。これにより、第1の実施形態の効果に加え、ユーザー入力が追記された電子文書を印刷してもユーザー入力が劣化せずに印刷可能となる。
<その他の実施形態>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
102…クライアント端末、103…業務サーバ、104…帳票生成サーバ、105…変換サーバ、106…ストレージサーバ

Claims (13)

  1. Webブラウザを備えるクライアント端末と、前記Webブラウザにて閲覧可能な帳票文書を生成するサーバとを含んで構成される帳票文書生成システムであって、
    前記クライアント端末は、
    前記Webブラウザにて表示されている帳票文書上におけるユーザー入力を受け付ける受け付け手段と、
    前記ユーザー入力を受け付けた帳票文書の保存要求を前記サーバに送信する送信手段と、
    前記受け付け手段にて受け付けたユーザー入力を画像化して画像データを生成する画像化手段と、
    前記画像化手段にて生成した画像データと、前記帳票文書上における前記ユーザー入力の位置情報とを所定の格納場所に格納する格納手段と
    を有し、
    前記サーバは、
    前記クライアント端末から前記保存要求を受信した際に、前記所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知手段と、
    前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成手段と、
    前記生成手段にて生成された新たな帳票文書を保存する保存手段と
    を有することを特徴とする帳票文書生成システム。
  2. 前記ユーザー入力の位置情報は、帳票文書上における、座標、サイズ、および、ページ番号を含むことを特徴とする請求項1に記載の帳票文書生成システム。
  3. 前記受け付け手段は、帳票文書上におけるユーザー入力として、複数の種類のコンテンツを受け付け可能であることを特徴とする請求項1または2に記載の帳票文書生成システム。
  4. 前記ユーザー入力としての複数の種類のコンテンツは、署名、チェックボックス、手書きメモ、およびラインマーカーの少なくともいずれかを含むことを特徴とする請求項3に記載の帳票文書生成システム。
  5. 前記クライアント端末は、前記複数の種類のコンテンツのうち、前記新たな帳票文書を生成する際に用いるコンテンツの指定を受け付ける指定手段を更に有することを特徴とする請求項3または4に記載の帳票文書生成システム。
  6. 前記サーバは、帳票文書に対応付けて当該帳票文書を印刷する際の用紙サイズの情報を保持する保持手段を更に有し、
    前記クライアント端末は、前記ユーザー入力を受け付けた帳票文書に対応する用紙サイズの情報を取得する取得手段を更に有し、
    前記画像化手段は、前記取得手段にて取得した用紙サイズの情報に基づいて、前記受け付け手段にて受け付けたユーザー入力を画像化する際のサイズを決定することを特徴とする請求項1乃至5のいずれか一項に記載の帳票文書生成システム。
  7. 前記所定の格納場所を示す情報は、URL(Uniform Resource Locator)であることを特徴とする請求項1乃至6のいずれか一項に記載の帳票文書生成システム。
  8. 前記生成手段にて生成された新たな帳票文書を、異なるファイル形式に変換する変換手段を更に有することを特徴とする請求項1乃至7のいずれか一項に記載の帳票文書生成システム。
  9. 前記生成手段は、PDF(Portable Document Format)形式にて新たな帳票文書を生成し、
    前記変換手段は、前記生成手段にて生成された新たな帳票文書をSVG(Scalable Vector Graphics)形式に変換することを特徴とする請求項8に記載の帳票文書生成システム。
  10. Webブラウザを備えるクライアント端末と、前記Webブラウザにて閲覧可能な帳票文書を生成するサーバとを含んで構成される帳票文書生成システムにおける帳票文書生成方法であって、
    前記クライアント端末において、前記Webブラウザにて表示されている帳票文書上におけるユーザー入力を受け付ける受け付け工程と、
    前記クライアント端末において、前記ユーザー入力を受け付けた帳票文書の保存要求を前記サーバに送信する送信工程と、
    前記サーバにおいて、前記クライアント端末から前記保存要求を受信した際に、所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知工程と、
    前記クライアント端末において、前記受け付け工程にて受け付けたユーザー入力を画像化して画像データを生成する画像化工程と、
    前記クライアント端末において、前記画像化工程にて生成した画像データと、前記帳票文書上における前記ユーザー入力の位置情報とを前記通知工程にて通知された前記所定の格納場所に格納する格納工程と
    前記サーバにおいて、前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成工程と、
    前記サーバにおいて、前記生成工程にて生成された新たな帳票文書を保存する保存工程と
    を有することを特徴とする帳票文書生成方法。
  11. クライアント端末が備えるWebブラウザにて閲覧可能な帳票文書を生成するサーバであって、
    前記クライアント端末から、前記Webブラウザ上でユーザー入力が行われた帳票文書の保存要求を受信した際に、所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知手段と、
    前記クライアント端末により前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成手段と、
    前記生成手段にて生成された新たな帳票文書を保存する保存手段と
    を有し、
    前記所定の格納場所には、前記ユーザー入力を画像化して生成された画像データと、前記帳票文書上における前記ユーザー入力の位置情報とが格納されることを特徴とするサーバ。
  12. クライアント端末が備えるWebブラウザにて閲覧可能な帳票文書を生成するサーバの制御方法であって、
    前記クライアント端末から、前記Webブラウザ上でユーザー入力が行われた帳票文書の保存要求を受信した際に、所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知工程と、
    前記クライアント端末により前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成工程と、
    前記生成工程にて生成された新たな帳票文書を保存する保存工程と
    を有し、
    前記所定の格納場所には、前記ユーザー入力を画像化して生成された画像データと、前記帳票文書上における前記ユーザー入力の位置情報とが格納されることを特徴とする制御方法。
  13. コンピューターを、
    Webブラウザを備えるクライアント端末から、前記Webブラウザ上でユーザー入力が行われた帳票文書の保存要求を受信した際に、所定の格納場所を示す情報を発行し、前記クライアント端末に通知する通知手段、
    前記クライアント端末により前記所定の格納場所に格納された情報と、前記帳票文書とを用いて、新たな帳票文書を生成する生成手段
    前記生成手段にて生成された新たな帳票文書を保存する保存手段
    として機能させ、
    前記所定の格納場所には、前記ユーザー入力を画像化して生成された画像データと、前記帳票文書上における前記ユーザー入力の位置情報とが格納されることを特徴とするプログラム。
JP2019120202A 2019-06-27 2019-06-27 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム Pending JP2021005328A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019120202A JP2021005328A (ja) 2019-06-27 2019-06-27 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019120202A JP2021005328A (ja) 2019-06-27 2019-06-27 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2021005328A true JP2021005328A (ja) 2021-01-14

Family

ID=74098236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019120202A Pending JP2021005328A (ja) 2019-06-27 2019-06-27 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2021005328A (ja)

Similar Documents

Publication Publication Date Title
JP6439941B2 (ja) 多機能プリンタ装置、方法及びシステム
US9507789B2 (en) System, relay server apparatus, information processing method and computer-readable medium
US8830492B2 (en) Data processing apparatus for sending a single job based on common document information
US20200097237A1 (en) Communication apparatus, control program of communication apparatus, and relay apparatus providing efficient download of electronic data
US10768975B2 (en) Information processing system, information processing apparatus, and information processing method
US20120113471A1 (en) Communication system, communication apparatus, and control method of relay apparatus
US10346531B2 (en) Information processing system, information processing apparatus, control method, and storage medium
JP6871700B2 (ja) 情報処理システム、情報処理装置及び情報処理システムの制御方法とプログラム
JP2007058622A (ja) 文書管理装置及び文書管理方法
JP2018037746A (ja) 情報処理システム、情報処理装置、及び情報処理方法
US10885408B2 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
JP5510091B2 (ja) 処理連携システム、情報処理装置、プログラム、及び記録媒体
JP6890396B2 (ja) 情報処理システム及び情報処理方法、文書処理システム、プログラム
JP2021005328A (ja) 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム
JP6687801B1 (ja) 文書表示システム、サーバ装置、情報端末装置、文書表示方法、および文書表示プログラム
US11138149B2 (en) Information processing system, control method therefor, and storage medium for handling an error in converting data in a process for generating business form data
JP2008287606A (ja) 情報処理装置およびプログラム
JP6998005B2 (ja) 所定形式ファイル生成サーバ、書類発行システム、プログラム
JP2016177619A (ja) ワークフロー管理装置、ワークフロー管理システム、ワークフロー管理方法、プログラム、及び、情報処理装置
JP5267710B1 (ja) 情報処理装置、コンテンツ管理システム及びプログラム
US20230305995A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
JP7444208B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6753489B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP7379019B2 (ja) プログラム、サーバ及び提供方法
JP6819334B2 (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113