JP2018063501A - 情報処理装置及び文書表示方法、文書表示システムおよびプログラム - Google Patents

情報処理装置及び文書表示方法、文書表示システムおよびプログラム Download PDF

Info

Publication number
JP2018063501A
JP2018063501A JP2016200473A JP2016200473A JP2018063501A JP 2018063501 A JP2018063501 A JP 2018063501A JP 2016200473 A JP2016200473 A JP 2016200473A JP 2016200473 A JP2016200473 A JP 2016200473A JP 2018063501 A JP2018063501 A JP 2018063501A
Authority
JP
Japan
Prior art keywords
file
server
document data
svg
information processing
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
JP2016200473A
Other languages
English (en)
Inventor
健介 平田
Kensuke Hirata
健介 平田
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 JP2016200473A priority Critical patent/JP2018063501A/ja
Priority to EP17001525.9A priority patent/EP3309695A1/en
Priority to US15/710,303 priority patent/US10572546B2/en
Priority to CN201710934970.2A priority patent/CN107918638A/zh
Priority to KR1020170129591A priority patent/KR20180040099A/ko
Publication of JP2018063501A publication Critical patent/JP2018063501A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】フォントファイルや画像ファイル、スタイルファイルなど複数のファイルを含むWeb文書をWebブラウザーで表示する場合、ダウンロード時間により、表示されるまでに時間を要する。【解決手段】複数ファイルで構成されるWeb文書をZip化し、Webブラウザーで取得したZip化したWeb文書を展開して、各ファイルへのリンクを含む最上層のファイルをブラウザーに返すと共に、リンクされたファイルをキャッシュする。Webブラウザーから各ファイルへのアクセスがあると、それをスクリプトによりフックしてキャッシュしたファイルをブラウザーに返す。ブラウザーはそのファイルを基に文書を表示する。【選択図】図9

Description

本発明は情報処理装置及び文書表示方法、文書表示システムおよびプログラムに関し、特にWebブラウザーでの複数ファイルからなるWeb文書を表示する情報処理装置及び文書表示方法、文書表示システムおよびプログラムに関する。
近年、サーバーをインターネットに公開しクライアントにサービスを提供するクラウドサービスの形態が注目を集めている。クラウドサービスは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。現在、このクラウドサービスを実現するクラウドサービス環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。WebブラウザーやモバイルアプリケーションなどのクライアントはそれらのWeb上に公開されているWebサービスを有効活用し新しい機能を作成することで開発スピードや開発コストの面で優位になる。さらにサーバーマシンやネットワーク機器などのハードウェアを保持し継続的にメンテナンスする必要がなく運用面でもクラウドサービスは優位である。
従来から数多く運用されている社内のオンプレミスシステムについても優位性を鑑みてクラウドサービスへ移行するケースが多く出てきている。銀行や保険会社などで多く利用される帳票システム(テンプレートに顧客データを当てはめて帳票を作成するシステム)においても従来はオンプレミスで運用されていたがクラウドサービスへ移行しWeb上で帳票を表示することが検討されている。
銀行や保険会社の帳票の主な利用ユースケースはセールスマンが顧客に帳票を提示しながら商品説明し契約を行うものである。そのため帳票生成は美しくデザインされ表示内容は詳細に設計が行われ、フォントや画像、グラフなどが多く利用された表現力豊かな複雑なものになる。このような複雑な帳票は画像ファイルやフォントファイル、スタイルファイルなどの多くのファイルから構成される。帳票をWebブラウザーで表示するためにこれらのファイルをクラウドサービスからダウンロードする必要がある。しかし多くのWebブラウザーは同時に6ファイルしか並行にダウンロードすることができないため、ファイル数が多くなると全ての帳票ファイルをダウンロードするのに時間がかかってしまい、なかなか帳票が表示されず待たされることになってしまう。
特許文献1ではHTML(HyperText Markup Language)ファイルを独自に1つのファイルに結合して、クライアントサイドのヘルパーアプリケーションが、ダウンロードした結合されたファイルを復元して表示することでファイルのダウンロード遅延を防ぐ方法が開示されている。
特開2001−22631号公報
従来技術ではHTMLファイルを独自に1つのファイルに結合してダウンロードし、クライアントサイドのヘルパーアプリケーションが結合されたファイルを復元して表示することでファイルのダウンロード遅延を防ぐことができる。しかしながら、ほとんどのタブレット端末ではヘルパーアプリケーションとWebブラウザーとを連携させることが難しい。またタブレット端末の種類は多岐にわたるためヘルパーアプリケーションの開発にコストがかかってしまう課題があった。
本発明は上記従来例に鑑みて成されたもので、帳票を構成する複数ファイルを結合して単一のファイルにし、Webブラウザーで取得したファイルを展開して表示することで、帳票を表示する遅延を小さくすることを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、複数のファイルで階層的に構成された文書データをアーカイブして単一のファイルとして保存するサーバーに接続される情報処理装置であって、
アーカイブされた前記文書データを前記サーバーからダウンロードし、展開し、前記文書データの下位の階層を構成するファイルを格納手段に保存するダウンロード手段と、
前記文書データの上位の階層のファイルに記載された、前記下位の階層を構成するファイルのアクセス先にアクセスするブラウザー手段と、
前記アクセスをフックして前記下位の階層を構成するファイルを読み出し、前記サーバーに代わり前記ブラウザー手段に返す読み出し手段とを有し、
前記ブラウザー手段は、読み出した前記ファイルに基づいて前記文書データを表示することを特徴とする。
帳票を構成する複数ファイルを結合し、Webブラウザーで取得した、結合したファイルを展開し表示することで、Webブラウザーからサーバーへのリクエスト数を大幅に少なくすることができ、効率的に帳票を表示することができる。
システム構成図 モバイル端末のハードウェア構成図 各サーバーのハードウェア構成図 帳票サーバーで管理するテーブル構造を示す図 データ変換サーバーで管理するテーブル構造を示す図 ストレージサーバーで管理するテーブル構造を示す図 モバイル端末の画面例を示す図 帳票SVGプレビューフローを示す図 帳票SVGのZip構造を示す図 帳票SVGのキャッシュ情報を示す図 Zip化した帳票SVG表示フローを示す図 キャッシュ情報の定期削除フローを示す図
以下、本発明を実施するための形態について図面を用いて説明する。
[実施例1]
<システム構成>
図1は、本発明の実施形態に係る帳票システムの全体構成を示す図である。この帳票システムは、本実施形態では文書表示を目的としていることから、文書表示システムと呼ぶこともできる。図1において、モバイル端末102はローカルネットワーク101を介して複数台接続されていることを想定している。モバイル端末102は、ローカルネットワーク101を介してインターネットワーク100にアクセスし、サーバー105〜108にアクセスすることができる。モバイル端末102は有線または無線LANを介してネットワークに接続する。本実施例では、モバイル端末102は無線LANターミナル103を介してネットワークに接続することを想定しているが、携帯データ通信キャリアが提供する無線ネットワークを介して接続する場合も当然想定される。無線LANターミナル103は、一般的なネットワーク・ルーター機能を有した無線LANの親機であり、家庭内や事務所などの中で無線LANを提供している。
業務サーバー104はユーザー業務情報を管理するサーバーである。本実施例では販売する製品を業務サーバー104で顧客毎に管理し、販売員が業務サーバー104の情報を用いて顧客に対して営業を行うユースケースを想定している。業務サーバー104はモバイル端末102からのリクエスト(要求)に応じてユーザー業務情報を表示・編集するための画面を提供する。認可サーバー105はOAuthを実現するためのサーバーでありユーザー情報やクライアント情報の管理や認可トークンの発行・管理を行う。サーバー105〜108は認可サーバー105のセキュリティドメインに属する。サーバー105〜108の各々へのリクエストには認可サーバー105で発行された認可トークンが必要であり、サーバー105〜108はそれぞれ認可サーバー105によってリクエストに含まれる認可トークンの有効性をチェックし許可された場合にのみリクエストを処理する。認可トークンの有効性チェックには有効期限チェックやライセンスチェックなどがある。
帳票サーバー106は業務サーバー104からユーザー業務情報を受け取り、帳票テンプレートにユーザー業務情報を反映させて帳票PDF(Portable Document Format)データ(帳票PDFとも呼ぶ)を生成し管理するサーバーである。そして帳票サーバー106はデータ変換サーバー107に生成した帳票PDFを帳票SVG(Scalable Vector Graphics)形式のデータ(帳票SVGあるいはWeb帳票データとも呼ぶ)に変換するリクエストを行う。データ変換サーバー107は、帳票サーバー106から帳票SVG変換リクエストを受け付け、帳票PDFを帳票SVGにデータ変換し管理するサーバーである。ストレージサーバー108はファイル管理を行うサーバーであり、モバイル端末102や帳票サーバー106、データ変換サーバー107からのファイルアップロード/ダウンロードを受け付ける。帳票PDFデータは所定の処理単位で生成され、データ変換サーバー107はその処理単位で帳票PDFデータを帳票SVGデータに変換する。本例では処理単位は1ページである。これにより、帳票サーバー106による或る帳票に関する帳票PDFの生成処理と、データ変換サーバー107によるその帳票の帳票SVGの生成処理とを、互いに並列に実行することができる。
具体的には、指定された帳票及びユーザーに基づいて、プレビュー生成リクエストを受けた帳票サーバー106が処理単位ごとに帳票PDFを生成し、それをストレージサーバー108に格納してその格納先を示すURLを帳票インデックスファイルに記録する。帳票サーバー106はそれともに、データ変換サーバー107に対して、プレビュー生成リクエストの対象である帳票を指定して帳票SVG生成リクエストを送る。帳票サーバー106は、帳票PDFの生成が完了したならその旨帳票インデックスファイルにマークする。一方帳票SVG生成リクエストを受けたデータ変換サーバー107は指定された帳票の帳票インデックスファイルを例えば定期的に監視し、URLが追加されていたなら追加されたURLを指定して帳票PDFを取得し、それを帳票SVGに変換する。そしてその帳票SVGをストレージサーバー108に格納し、その格納先を示すURLを変換インデックスファイルに記録する。この処理を、生成完了を示すマークを検出するまで繰り返す。変換が完了したなら変換インデックスファイルに変換済みである旨をマークする。帳票SVGにアクセスするユーザーは、変換インデックスファイルに含まれるURLにアクセスして帳票SVGを取得できる。なお帳票データは文書のひとつであり、文書データと呼ぶこともある。
ここで、サーバー105〜108はそれぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施例では説明を簡略化するため、それぞれ1台構成としている。また業務サーバー104も複数台のサーバーで冗長化された構成をとることもできるが、本実施例では説明を簡略化するため1台構成としている。
<モバイル端末102のハードウェア構成>
図2aはモバイル端末102のハードウェア構成図である。ハードウェアの各構成要素は、システムバス202に接続されている。ROM204にはオペレーティングシステム及び、通話、データ通信を制御するアプリケーションプログラム(アプリケーションと呼ぶこともある)が格納されており、アプリケーションはCPU203で実行される。 データ通信を制御するアプリケーションとしては、MailソフトやWebブラウザーなどがある。RAM205は、プログラムを実行するためのワークメモリエリアである。また、WebブラウザーがWebサーバーから取得してきたWebページデータやWebサービスにアクセスするための認証情報などを一時記憶するためのメモリでもある。記憶装置210は不揮発性の記憶装置であり、モバイル端末の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
NetworkController206は、無線LAN通信部212、携帯キャリアの提供するネットワークに参加するための携帯電話データ通信部213の通信制御を行う。一般的に無線LANのネットワークに参加できるとき、NetworkController206は、無線LANの接続を優先する。モバイル端末が無線LANのネットワークエリアから外れた場合には、携帯キャリアが提供する無線通信ネットワークへ参加する。音声制御部207は、主に通話アプリケーションが起動しユーザーが電話をしているときに利用する。マイク・スピーカ214にて音声データの入出力を行い、音声制御部207は、その制御プログラムとの仲介を行っている。
表示制御部208は、モバイル端末のディスプレイ215にて出力する情報の制御を行っている。ディスプレイ215にはたとえばクラウドサービスからダウンロードしたWeb帳票などが表示される。入力制御部209は、モバイル端末のボタンやタッチパネル216にてユーザーが指示した情報の制御を行っている。これらの音声制御部207、表示制御部208、入力制御部209を利用して、モバイル端末上でのアプリケーションは、ネットワーク通信情報やモバイル端末のさまざまな情報をユーザーに提供する。位置検出制御部211は、GPSセンサー217からモバイル端末の位置情報を取得しOSに提供する。これらの制御は、CPU203で動くOSにて制御される。
<サーバーのハードウェア構成>
図2bは、サーバー104〜108のハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行可能であるならば、LAN、WAN等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。本実施例ではシステムバス219により各構成要素が接続されているものとして説明する。
CPU220は情報処理装置の制御装置であり、記憶装置226に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、CPU220はRAM222にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、CPU220はディスプレイ227上の不図示マウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ROM221は不揮発の記憶手段であり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。RAM222は一時記憶手段であり、CPU220の主メモリやワークエリア等として機能する。表示制御部224は、ディスプレイ227にて出力する情報の制御を行っている。入力制御部225は、キーボード228より入力される情報を制御し、情報処理装置は入力制御部225を介して外部装置とのデータのやり取りを行う。記憶装置226は外部記憶手段の一つで、大容量メモリとして機能し、アプリケーションプログラム、プリントドライバプログラム、OS等を格納している。キーボード228は指示入力手段であり、ユーザーが各サーバーへの指示等を入力指示するためのものである。ディスプレイ227は表示手段であり、キーボード228から入力したコマンド等を表示するものである。
<モバイル端末102のWebブラウザーアプリケーション>
モバイル端末102にはWebブラウザーアプリケーション900(図9参照)がインストールされる。モバイル端末102にインストールされたWebブラウザーアプリケーションは図2で示した記憶装置210に記憶されており、前述したようにCPU203によってRAM205にロードされ実行される。
ユーザーはWebブラウザーアプリケーションがモバイル端末102のディスプレイ215に表示する画面を操作することにより、サーバー104〜108の各々にリクエストを行う。Webブラウザーアプリケーションは業務サーバー104や帳票サーバー106、ストレージサーバー108からのHTMLデータやSVGデータを解析し、画面に表示したりできる。後述する図6はWebブラウザーアプリケーションがモバイル端末102のディスプレイ215に表示する画面の一例である。モバイル端末102にはWebブラウザーアプリケーション以外にも様々なアプリケーションをインストールすることができる。本実施例ではWebブラウザーアプリケーションのみを利用するため、以降の記載ではWebブラウザーアプリケーションをモバイル端末102として記載する。
<帳票サーバー106が管理するデータ>
図3(a)、(b)は帳票サーバー106が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、帳票サーバー106の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。帳票サーバー106が保持するデータテーブルはテンプレート情報300とプレビュー情報310とを含む。
図3(a)のテンプレート情報300は帳票サーバー106が保持するテンプレートを管理する情報である。テンプレートID301はテンプレートを一意に識別する識別子であり、帳票サーバー106にテンプレートが登録された際に発行される。テナントID302はテンプレートを登録したテナントのテナントIDである。帳票サーバー106はテンプレートをテナントID302毎にアクセス制御する。テンプレートURLパス303はテンプレートが保存されているストレージサーバー108のURLパスである。帳票サーバー106はテンプレートID301を含むURLパスをストレージサーバー108に生成し、そこにテンプレートを保存する。したがって帳票サーバー106が指定されたテンプレートを使用する場合には、帳票サーバー106は指定されたテンプレートのテンプレートID301に対応するテンプレートURL303にアクセスする。そしてそのテンプレートに含まれたフォームデータに、帳票をリクエストしたユーザーのフィールドデータを合成した帳票PDFデータを作成する。
図3(b)のプレビュー情報310は帳票サーバー106がプレビュー処理を管理する情報である。プレビューID311は帳票サーバー106がプレビュー生成リクエストを受け付けた際に発行し登録する。テナントID312はプレビュー生成リクエストしたテナントのテナントIDである。ユーザーID313はプレビュー生成リクエストしたユーザーの識別子である。データ変換ID314は、帳票サーバー106がデータ変換サーバー107への帳票SVG生成リクエストの応答で受信するデータ変換処理を識別する識別子である。帳票PDFURLパス315は帳票PDFが保存されているストレージサーバー108のURLパスである。帳票サーバー106はプレビューID311を含むURLパスをストレージサーバー108に生成し、そこに帳票PDFデータを保存する。
<データ変換サーバー107が管理するデータ>
図4(a)、(b)はデータ変換サーバー107が外部メモリに記憶するデータテーブルである。データ変換サーバー107が保持するデータテーブルは、文書情報400とデータ変換情報410とを含む。
図4(a)の文書情報400はデータ変換サーバー107が帳票SVG生成リクエスト受信時にレコード生成する。文書ID401は、データ変換サーバー107が帳票SVG生成リクエストを受信した際に発行する文書を一意に識別する識別子である。テナントID402は帳票SVG生成リクエストしたテナントのテナントIDである。ユーザーID403は帳票SVG生成リクエストしたユーザーの識別子である。文書URL404は帳票PDFが保存されているストレージサーバー108のURLパスである。帳票サーバー106からの帳票SVG生成リクエストのパラメータとしてデータ変換サーバー107に渡される。
図4(b)のデータ変換情報410はデータ変換サーバー107が帳票SVG生成リクエスト受信時にレコード生成する。データ変換ID411は、データ変換サーバー107が帳票SVG生成リクエストを受信した際に発行するデータ変換処理を一意に識別する識別子である。テナントID412、ユーザーID413、文書ID414はデータ変換サーバー107がデータ変換リクエスト受信時に生成する文書情報400のテナントID402、ユーザーID403と文書ID401と同じ値である。インデックスURL415は、データ変換サーバー107が帳票PDFデータに基づいて生成する帳票SVGデータのURLリストである変換インデックスファイルを保存するストレージサーバー108のURLである。生成した帳票SVGデータが複数ページだった場合には、複数帳票SVGデータのストレージサーバー108上のURLがインデックスファイルに記載される。インデックスURL415はデータ変換サーバー107が帳票SVG生成完了時にストレージサーバー108で一意になるようURLパスにデータ変換ID411を含めて生成し保存する。
ステータス416はデータ変換サーバー107のデータ変換状況を示しており、データ変換サーバー107がデータ変換状況に応じて更新する。ステータス416には"待機中"や"変換済み"がある。
<ストレージサーバー108のデータ>
図5はストレージサーバー108が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、ストレージサーバー108の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。ストレージサーバー108が保持するデータテーブルはファイル情報500より成る。
図5のファイル情報500はストレージサーバー108に保存するファイルの情報である。データURL501はストレージサーバー108に保存するファイルを一意に特定することができるURLである。ファイルパス502はストレージ上のファイルパスでありファイルの格納場所を示す。データURL501に対してリクエストすることによりストレージのファイル操作を行うことができる。たとえば、データURL501に対してHTTP GETメソッドをリクエストすると対応するファイルがダウンロードできる。データURL501に対してHTTP PUTメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。データURL501に対してHTTP DELETEメソッドをリクエストすると対応するファイルを削除できる。
<モバイル端末102の画面>
図6(a)、(b)はモバイル端末102に表示するWebブラウザーアプリケーションの画面例であり図2aにおいて表示制御部208を介してディスプレイ215に表示されるものである。
図6(a)の商談画面600はユーザー業務情報を表示する画面である。業務サーバー104はモバイル端末102から商談画面表示リクエストを受け付けると、ユーザー業務情報を含む商談画面600を応答する。商談画面600において帳票生成ボタン601が押下されると、業務サーバー104に帳票生成リクエストが行われる。図6(b)のプレビュー画面610は帳票SVGを表示する画面であり帳票サーバー106が生成しモバイル端末102の画面に表示される。
<帳票SVGプレビューフロー>
図7は商談画面600で帳票生成ボタン601が押下され、プレビュー画面610が表示されるまでの処理フローである。なお、帳票サーバー106やデータ変換サーバー107、ストレージサーバー108は認可サーバー105のセキュリティドメインに属しており、それぞれのサーバーへのリクエストには認可サーバー105で発行された認可トークンが必要である。帳票サーバー106やデータ変換サーバー107、ストレージサーバー108はリクエストで受け付けた認可トークンを認可サーバー105に有効性確認依頼し、認可トークンに紐づくユーザーIDやテナントIDなどのユーザー情報を取得する。図7における帳票サーバー106やデータ変換サーバー107、ストレージサーバー108が受け付けるリクエストは全て認可トークンが含まれるが本実施形態の発明と直接関連しない処理のため図示を省略している。
S7.1において商談画面910で帳票生成ボタン601が押下されるとモバイル端末102から業務サーバー104に帳票生成リクエストが行われる。帳票生成リクエストを受け付けた業務サーバー104は後述のS7.2、S7.3のステップを処理し、S7.4でモバイル端末102に応答する。
S7.2において業務サーバー104は帳票サーバー106にプレビュー生成リクエストを行う。業務サーバー104はS7.2のプレビュー生成リクエストでパラメータとして、テンプレートID411と商談画面910で指定する業務情報を指定する。
帳票サーバー106はS7.2のプレビュー生成リクエストを受け付けるとプレビューID311を発行し、テナントID312とユーザーID313にはプレビュー生成リクエストしたテナントIDとユーザーIDを指定しプレビュー情報310にレコード登録する。そして帳票サーバー106は発行したプレビューID311をS7.2のプレビュー生成リクエストの応答として業務サーバー104に返す。
S7.2−1において帳票サーバー106はS7.2のプレビュー生成リクエストのパラメータで受信したテンプレートIDと一致するテンプレートをテンプレート情報300から特定し、特定したテンプレートのテンプレートURLパスからテンプレートファイルを取得する。そして帳票サーバー106はそのテンプレートファイルにS7.2のプレビュー生成リクエストのパラメータで受信した業務情報を反映させ帳票PDFを生成する。帳票サーバー106はプレビューID311からストレージサーバー108上のURLパスを生成し帳票PDF URLパス315に登録し、帳票PDF URLパス315に生成した帳票PDFをアップロードする。
S7.2−2において帳票サーバー106はデータ変換サーバー107に帳票SVG生成リクエストを行う。帳票サーバー106は帳票SVG生成リクエストのパラメータとして帳票PDF URLパス315を指定する。
データ変換サーバー107はS7.2−2の帳票SVG生成リクエストを受信すると、文書ID401とデータ変換ID411を発行し文書情報400とデータ変換情報410にレコード登録する。ここでテナントID402、412やユーザーID403、411には帳票SVG生成リクエストしたテナントIDとユーザーIDを登録する。また文書URLパス404にはS7.2−2の帳票SVG生成リクエストのパラメータである帳票PDF URLパスを登録する。文書ID414には文書情報400の文書ID401と同じものを登録する。そしてデータ変換サーバー107はS7.2−2の帳票SVG生成リクエストの応答として発行したデータ変換ID411を帳票サーバー106に返す。S7.2−2の帳票SVG生成リクエストの応答としてデータ変換IDを受け取った帳票サーバー106はプレビュー情報310のデータ変換ID314として登録する。
S7.2−3においてデータ変換サーバー107は帳票PDF URLパス404から帳票PDFを取得し帳票PDFを帳票SVGに変換する。データ変換サーバー107が生成する帳票SVGはSVGファイル以外にもフォントファイルや画像ファイルなどの複数ファイルから構成されるが、データ変換サーバー107はそれらの複数ファイルをZip化して結合・圧縮し1ファイルにする。データ変換サーバー107が生成する帳票SVGについては後述の図8aに詳細を記載する。
S7.2−4においてデータ変換サーバー107はストレージサーバー108上の帳票SVG URLパスとインデックスURLパスを生成し、帳票SVG URLパスにZip化した帳票SVGをアップロードする。そしてデータ変換サーバー107は帳票SVG URLパスのリストである変換インデックスファイルをインデックスURLパスにアップロードする。データ変換サーバー107はデータ変換情報410にインデックスURLパス415を登録する。帳票PDFおよび帳票SVGはいずれも前述したように所定の処理単位、たとえばページ単位で生成されている。したがってURLもその処理単位ごとに指定される。
S7.3において業務サーバー104は帳票サーバー106にプレビューURL取得リクエストを行う。業務サーバー104はS7.3のプレビューURL取得リクエストのパラメータとして、S7.2のプレビュー生成リクエストの応答で受信したプレビューIDを指定する。なお業務サーバー104はS7.3のプレビューURL取得リクエストをS7.2のプレビュー生成リクエストの応答を受信した直後に先述のS7.2−1〜S7.2−4の処理とは非同期で行う。
S7.3のプレビューURL取得リクエストを受け付けた帳票サーバー106はパラメータとして受信したプレビューIDと一致するレコードをプレビュー情報310から特定する。そして、帳票サーバー106はS7.3のプレビューURL取得リクエストの応答として帳票サーバー106のプレビュー画面URLを返す。ここで返す帳票サーバー106のプレビュー画面URLにはURLパラメータとしてS7.3で受信したプレビューIDを指定する。
S7.4において業務サーバー104はS7.1の応答としてモバイル端末102にS7.3で受信した帳票サーバー106のプレビュー画面URLを返す。
S7.5においてモバイル端末102はプレビュー画面URLへプレビュー画面取得リクエストしプレビュー画面610を表示する。
S7.6においてモバイル端末102は帳票サーバー106にインデックスURL取得リクエストを行う。インデックスURL取得リクエストにはプレビュー画面URLのURLパラメータに指定されているプレビューIDをパラメータとして指定する。
帳票サーバー106はS7.6のインデックスURL取得リクエストで指定されるプレビューIDと一致するレコードをプレビュー情報310から特定する。ここで帳票サーバー106は特定したプレビュー情報310にデータ変換ID314が登録されていない場合、帳票PDFがまだインデックスが生成されていないとしてS7.6にエラー応答する。モバイル端末102はS7.6のインデックスURL取得リクエストがエラーだった場合にはエラーが解消されるまで繰り返しS7.6のインデックスURL取得リクエストを繰り返す。
S7.6−1において帳票サーバー106はS7.6で特定したプレビュー情報310にデータ変換ID314が登録されていた場合、データ変換ID314をパラメータとしてデータ変換サーバー107にインデックスURL取得リクエストを行う。
インデックスURL取得リクエストを受信したデータ変換サーバー107はデータ変換情報410からインデックスURL取得リクエストのパラメータのデータ変換IDと一致するレコードを特定する。そして特定したデータ変換情報410のステータス416が"変換済み"だった場合に、インデックスURLパス415をS7.6−1の応答として帳票サーバー106に返す。そして帳票サーバー106はS7.6の応答として受信したインデックスURLパスをモバイル端末102に返す。ここで、特定したデータ変換情報410のステータス416が"変換済み"以外だった場合、データ変換サーバー107は帳票サーバー106に帳票SVGがまだ生成されていないとしてS7.6−1の応答としてエラーを返す。そして帳票サーバー106はS7.3にエラー応答する。モバイル端末102はS7.6において帳票SVGが生成されインデックスURLパスを受信できるまでリトライする。
S7.7においてモバイル端末102はS7.6の応答として取得したインデックスURLパスからインデックスを取得する。そして取得したインデックスに記載された帳票SVG URLからZip化された帳票SVGを取得しプレビュー画面610に帳票SVGを表示する。
S7.5〜S7.7におけるモバイル端末102内の処理フローについては図9に詳細を記載する。
<帳票SVGのZip構造とキャッシュ情報>
図8aはデータ変換サーバー107が帳票PDFから変換しZip化する帳票SVGの構造の1ページ〜3ページまでの例である。Zip化とは、ファイルをZipファイルフォーマットに変換することである。Zipファイルフォーマットは、複数のファイルを一つのファイルへと結合し、まとめて取り扱う(すなわちアーカイブする)フォーマットのひとつである。
Zip化した帳票SVGはストレージサーバー108に保存されZip化した帳票SVGのURL800にアクセスすることでモバイル端末102は取得できる。Zip化した帳票SVGのURL800はデータ変換ID411やページ番号が含まれており、帳票SVGをユニークに識別可能になっている。
Zip化した帳票SVGのファイル階層はファイル階層801のように構成する。Zip化した帳票SVGにはSVGファイルの他にCSSファイルやフォントファイル、画像ファイルなどが含まれる。ファイル階層801はZipファイルのセントラルディレクトリに記録されており、Zipファイルに含まれた個々のファイルはセントラルディレクトリにより特定可能である。
リンク階層802はSVGファイルを基点としたリンク階層を示している。SVGファイルにはCSSファイルがリンクされており、CSSファイルにはフォントファイルや画像ファイルがリンクされている。基点であるSVGファイルをWebブラウザーアプリケーションで読み込むことによりリンクされたCSSファイルやフォントファイル、画像ファイルが読み込まれる。
図8bはモバイル端末102で動作するWebブラウザーアプリケーションの帳票SVGのキャッシュ情報である。キャッシュ情報811は図8aのZip化した帳票SVGのURL800のサブパスとZip化した帳票SVGのファイル階層801を基に、データ変換ID411やページ番号を含める。すなわち、Zip化した帳票SVGのURL800のサブパス(すなわち少なくとも一部)とZip化した帳票SVGのファイル階層801からキャッシュが特定可能なよう構成する。
以上のように帳票SVGのZip構造とリンク階層、キャッシュ情報でパス階層を一致させることで用意にキャッシュ情報の特定が可能になる。
<モバイル端末102のZip化した帳票SVG表示フロー>
図9は、図7のS7.5〜S7.7におけるモバイル端末102内の処理フロー詳細である。モバイル端末102で動作するWebブラウザーアプリケーション900はUI901、レンダリングエンジン902、Javascript(登録商標)インタープリター903で構成される。なおJavascript(登録商標)については、これ以降、登録商標の表示を省略する。
UI901はモバイル端末102のディスプレイ215に画面表示し、ユーザーからのタッチ操作を検知し、Javascriptインタープリター903を介してJavascriptプログラムにタッチ操作イベントを通知したりする。
レンダリングエンジン902はhtmlファイルやSVGファイルなどのWebブラウザーアプリケーション900で表示可能な構造化文書を解析し、UI901に表示する。レンダリングエンジン902はhtmlファイルやSVGファイルの解析結果をDOM(ドキュメントオブジェクトモデル)として保持する。DOMはJavascriptプログラムから編集可能であり、DOMが変更されたことをレンダリングエンジン902が検知して変更内容に従ってUI901に画面変更を指示する。
Javascriptインタープリター903はJavascriptプログラムの実行環境である。レンダリングエンジン902がhtmlファイルやSVGファイルを解析した結果、Javascriptプログラム実行が指定されていた場合にJavascriptプログラムがJavascriptインタープリター903に渡されて実行される。本実施例ではプレビュー画面610を表示するhtmlファイルにpreview.js906というJavascriptプログラム実行が指定されておりJavascriptインタープリター903で実行される。
Javascriptインタープリター903内にはService Worker904とCache905が含まれる。Service Worker904とCache905はJavascriptプログラムから利用可能なようにAPI(Application Programming Interface)を提供している。本実施例ではpreview.js906や後述のworker.js9041がService Worker904やCache905のAPIを利用してそれぞれの機能を利用する。
Service Worker904はWebブラウザーアプリケーション900にJavascriptプログラムを常駐させる機能を提供する。Service Worker904に登録されたJavascriptプログラムはWebブラウザーアプリケーション900の画面操作とは無関係にバックグラウンドで動作させることができる。またService Worker904に登録されたJavascriptプログラムはレンダリングエンジン902からサーバーへのデータ取得リクエストをフックするよう構成することができる。本実施例ではworker.js9041というJavascriptプログラムをService Worker904に登録し、worker.js9041が帳票SVGのデータ取得リクエストをフックする。
Cache905はデータのキャッシュ機能をキー・バリュー型でJavascriptプログラムに提供する。Javascriptプログラムはキーを指定してキャッシュ情報を追加・参照・削除することができる。本実施例では図8bに記載したキャッシュ情報をキーとして帳票SVGを構成するファイルをCache905に保存する。
帳票プレビュー時の処理シーケンスを説明する。Webブラウザーアプリケーション900は、たとえばUI901を通してプレビュー画面URLを開くこと指示されると、S9.1においてレンダリングエンジン902がプレビュー画面URLに接続(アクセス)する。プレビュー画面URLは帳票サーバー106を指し示しており、レンダリングエンジン902は帳票サーバー106からプレビュー画面のhtmlファイルを取得する。
S9.2においてレンダリングエンジン902はS9.1で取得したプレビュー画面のhtmlファイルを解析しUI901にプレビュー画面を表示する。
また、S9.3においてレンダリングエンジン902は、S9.1で取得したプレビュー画面のhtmlファイルにはpreview.js906ファイルへのリンクが記載されており、レンダリングエンジン902はpreview.jsファイルを取得しJavascriptインタープリター903で実行する。ここでpreview.jsファイルは帳票サーバー106に保存されておりレンダリングエンジン902は帳票サーバー106からpreview.jsファイルを取得するが図示省略している。
S9.4において、実行されているpreview.js906は、アーカイブされた帳票SVGのダウンロードに先立って、Cache905が提供するAPIを介してCache905保存されているキャッシュ情報をすべて削除する。
S9.5においてpreview.js906はworker.js9041をService Worker904に登録する。ここでworker.jsファイルは帳票サーバー106に保存されておりpreview.js906はworker.jsファイルのURLをService Worker904に登録する。Service Worker904は登録されたworker.jsファイルのURLからworker.jsファイルを取得し実行するが図示省略している。
S9.6においてpreview.js906は帳票サーバー106にインデックスURL取得リクエストを行う。S9.6は図7におけるS7.6の処理と同じであり説明省略する。
S9.7とS9.8においてpreview.js906は取得したインデックスURLにアクセスしてインデックスを取得し、インデックスに記載されたURLでZip化した帳票SVGを取得する。S9.7とS9.8は図7におけるS7.7の処理と同じであり説明省略する。S9.8はアーカイブされた帳票SVGとしてpage1.zipを取得している例である。図9ではpage1.zipを例として説明する。
S9.9においてpreview.js906はS9.8で取得したZip化した帳票SVG(page1.zip)を展開(解凍)する。S9.9においてZip化した帳票SVGを展開すると図8で記載した帳票SVGファイル階層801を得ることができる。
S9.10においてpreview.js906はS9.9でZip化した帳票SVGを展開して得られた帳票SVGファイル階層801をCache905に登録する。ここで登録するキャッシュ情報の例としてキー811を図8bに示す。キャッシュされるキーは、もともとストレージサーバー108に格納されていた際のパスを示すパス情報であり、そのパス情報をキーとしてファイルを特定できるようにファイルがキャッシュされる。キャッシュされるキー情報は、ファイルを一意に特定できるものであればよい。
S9.11においてpreview.js906はS9.9でZip化した帳票SVGを展開して得られたSVGファイル(page1.svg)をレンダリングエンジン902のDOM(ドキュメントオブジェクトモデル)に追加する。DOMにSVGファイルを追加することでレンダリングエンジン902は追加されたSVGファイルを解析し、画面に帳票SVGを表示する。S9.11では、preview.js906がレンダリングエンジン902のDOMに追加するファイルは、Zip化した帳票SVGのファイル名(page1.zip)と拡張子を除いて一致する名称のSVGファイル(page1.svg)を利用した。しかしSVGファイル名は一般的なindex.svgのような固定ファイル名で特定してもよいし、ファイル階層の先頭(ルート)にあるすべてのSVGファイルをDOMに追加してもよい。また本実施例ではSVGをデータフォーマットとしているがhtmlファイルなど他のフォーマットでも問題ない。htmlファイルの場合にはpage1.htmlや、固定ファイル名であればindex.htmlがDOMに追加される。
S9.12においてSVGファイル(page1.svg)がDOMに追加されたことを検知したレンダリングエンジン902はSVGファイル(page1.svg)を表示する。
またレンダリングエンジン902はS9.13、S9.16、S9.19においてSVGファイル(page1.svg)にリンクされた全てのファイルをファイル数分繰り返し取得する。図9においては3つのファイルをS9.13、S9.16、S9.19で取得している例を図示しているがSVGファイル(page1.svg)にリンクされた全てのファイルが取得される。SVGファイル(page1.svg)を基点としたリンク階層802は図8aで先述した。
S9.13、S9.16、S9.19においてレンダリングエンジンがアクセスする先は、対象であるSVGファイルと同じくストレージサーバー108である。しかしworker.js904は帳票SVGのデータ取得リクエストをフックするよう構成され、S9.13、S9.16、S9.19のレンダリングエンジン902からのファイル数分のリクエストを繰り返し受け付ける。
S9.14、S9.17、S9.20においてworker.js904はS9.13、S9.16、S9.19でファイル数分繰り返し受け付けたリクエストURLを基に、Cache905から、キャッシュしたファイルを取得しS9.13、S9.16、S9.19にそれぞれファイル数分繰り返し応答する。図9においてはS9.13、S9.16、S9.19のリクエストURLを相対パスで図示しているため省略しているが、ファイル名の他にリクエストURLにはデータ変換IDやページ番号が含まれ、Cache905のキャッシュ情報(図8b)から該当ファイルを特定可能である。
S9.15、S9.18、S9.21においてレンダリングエンジン902は、S9.13、S9.16、S9.19で受け取ったファイルをファイル数分繰り返し表示する。
S9.22〜S9.25はCache905のキャッシュ情報811(図8b)にないファイル取得が行われた場合の例を示している。Cache905のキャッシュ情報(図8b)が削除された場合や、Zip化した帳票SVGに含まれていないファイルがリクエストされた場合は、Cache905のキャッシュ情報(図8b)にキャッシュが存在しない。S9.22においてレンダリングエンジン902がキャッシュに存在しないファイル(title.jpg)の取得リクエストを行うと、worker.js904はそのリクエストをフックし、S9.23においてworker.js904はCache905からキャッシュ情報取得を試みる。Cache905からのキャッシュ取得に失敗した場合、S9.24においてworker.js904はS9.22の本来のリクエストURLに対して取得リクエストを行い、取得したファイルをS9.22の応答とする。
S9.25においてレンダリングエンジン902はS9.22で受け取ったファイルを表示する。
以上のように、複数ファイルで構成される帳票SVGをZip化し、Webブラウザーアプリケーション900で取得したZip化した帳票SVGを展開し表示する。こうすることで、Webブラウザーアプリケーション900からサーバーへのリクエスト数を大幅に少なくすることができ、効率的に帳票SVGを表示することができる。また、帳票SVGのURLやWebブラウザーアプリケーション900内のキャッシュ情報にユニークなデータ変換IDやページ番号を含めることで、Webブラウザーアプリケーション900で異なる帳票SVGやページが処理可能となる。さらに、Webブラウザーアプリケーション900内のキャッシュ情報にキャッシュファイルが存在しない場合にはサーバーから取得することでエラーすることなく帳票SVGを表示することができる。
<モバイル端末102のキャッシュ情報の削除フロー>
図10は、図9のS9.10においてpreview.js906がCache905に保存したキャッシュ情報(図8b)を削除する処理フローである。
S10.1においてpreview.js906はプレビュー画面610表示から一定時間たった場合や、一定時間ユーザーが操作しなかった場合に、Cache905に保存したキャッシュ情報(図8b)を全て削除する。すなわち、図10の手順そのものが、プレビュー画面610表示から一定時間経過した場合や、ユーザーが一定時間操作しなかった場合に実行され、S10.1においてキャッシュを削除する。
S10.2においてpreview.js906は帳票サーバー106に対して、プレビュー削除リクエストを行う。プレビュー削除リクエストにはパラメータとしてプレビューIDが指定され、受け付けた帳票サーバー106はプレビュー情報310からプレビューIDが一致するレコードを削除し、ストレージサーバー108に保存した帳票PDFデータや帳票SVGデータを削除する。
S10.2においてpreview.js906はプレビュー画面610を閉じてユーザーが使えないようにする。
この結果、プレビュー画面610表示から一定時間たった場合や、一定時間ユーザーが操作しなかった場合にWebブラウザーアプリケーション900内のキャッシュ情報を削除することで、不必要なキャッシュ情報を残ることがなくなる。
以上のようにして、本実施形態によれば、帳票サーバーおよびデータ変換サーバーにより、Web帳票データ(帳票SVGデータ)を所定の処理単位(たとえばページ)ごとに生成する。それとともに、その処理単位が複数のファイルで構成されている場合にも、それらファイルをアーカイブしてまとめた単一のファイルとして端末にダウンロードする。こうすることで、ひとつの処理単位を構成する複数のファイルそれぞれを個別にダウンロードすることがなく、迅速にWeb帳票を表示できる。またダウンロードした各ファイルはキャッシュされ、そのキャッシュにはスクリプトでアクセスすることで、汎用のWebブラウザーを用いることができる。
なお本実施形態では、Web帳票データをSVG形式としたが、ブラウザーでの表示に適した形式であれば、例えば他の階層的に構成されたものであってもよい。いずれにしても、本実施形態の発明は以下のような構成となる。
アーカイブされた帳票データをサーバーからダウンロードし、展開し、帳票データの上位にある、下位の階層を構成するファイルへのリンクを含むファイルをWebブラウザーに返す。また、下位の階層を構成するファイルを格納キャッシュに保存する。Webブラウザーは、帳票データの上位の階層のファイルに含まれた、下位のファイルへのリンクをアクセス先としてアクセスを行う。そしてアクセスはクライアント内でフックされキャッシュしたファイルが読み出されてWebブラウザーに返され、表示される。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102 モバイル端末、104 業務サーバー、106 帳票サーバー、107 データ変換サーバー、108 ストレージサーバー

Claims (11)

  1. 複数のファイルで階層的に構成された文書データをアーカイブして単一のファイルとして保存するサーバーに接続される情報処理装置であって、
    アーカイブされた前記文書データを前記サーバーからダウンロードし、展開し、前記文書データの下位の階層を構成するファイルを格納手段に保存するダウンロード手段と、
    前記文書データの上位の階層のファイルに記載された、前記下位の階層を構成するファイルのアクセス先にアクセスするブラウザー手段と、
    前記アクセスをフックして前記下位の階層を構成するファイルを読み出し、前記サーバーに代わり前記ブラウザー手段に返す読み出し手段と
    を有し、
    前記ブラウザー手段は、読み出した前記ファイルに基づいて前記文書データを表示することを特徴とする情報処理装置。
  2. 前記ダウンロード手段は、前記アーカイブされた文書データのダウンロードに先立って、前記格納手段に保存されたファイルを削除することを特徴とする請求項1に記載の情報処理装置。
  3. 前記ダウンロード手段は、前記文書データが表示されてから一定時間経過した場合、または、ユーザーが一定時間操作していない場合に、前記格納手段に保存されたファイルを削除することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記ダウンロード手段は、前記文書データの下位の階層を構成するファイルを、前記サーバーに保存されていたときのパスの少なくとも一部とともに保存し、
    前記読み出し手段は、前記アクセスで指定された前記アクセス先の前記少なくとも一部と一致するパスと共に保存されたファイルを前記ブラウザー手段に返すことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記文書データは所定の処理単位でアーカイブされて保存され、
    前記ダウンロード手段は、前記処理単位で前記アーカイブされた文書データをダウンロードすることを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記ダウンロード手段および前記読み出し手段は、前記ブラウザー手段が実行するスクリプトにより実現されることを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記ブラウザー手段は、操作に応じて、前記サーバーに対して前記文書データのプレビューを要求し、
    前記サーバーは前記プレビューの要求に応じて前記文書データを生成し、アーカイブして保存することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記文書データはSVG(Scalable Vector Graphics)形式であり、前記上位の階層のファイルには、下位の階層のファイルへのリンクが含まれており、
    前記ブラウザー手段は、前記リンクをアクセス先として前記下位の階層のファイルへとアクセスを試みることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 請求項1乃至8のいずれか一項に記載の情報処理装置と、
    前記情報処理装置からの要求に応じて文書データを生成し、生成した文書データを複数のファイルで階層的に構成された文書データに変換し、当該文書データをアーカイブして単一のファイルとして保存するサーバーと
    を含むことを特徴とする文書表示システム。
  10. 請求項1乃至8のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
  11. 複数のファイルで階層的に構成された文書データをアーカイブして単一のファイルとして保存するサーバーに接続される情報処理装置による文書表示方法であって、
    アーカイブされた前記文書データを前記サーバーからダウンロードし、展開し、前記文書データの下位の階層を構成するファイルを格納手段に保存し、
    ブラウザー手段が、前記文書データの上位の階層のファイルに記載された、前記下位の階層を構成するファイルのアクセス先にアクセスし、
    前記アクセスをフックして前記下位の階層を構成するファイルを読み出し、前記サーバーに代わり前記ブラウザー手段に返し、
    前記ブラウザー手段は、読み出した前記ファイルに基づいて前記文書データを表示することを特徴とする文書表示方法。
JP2016200473A 2016-10-11 2016-10-11 情報処理装置及び文書表示方法、文書表示システムおよびプログラム Pending JP2018063501A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016200473A JP2018063501A (ja) 2016-10-11 2016-10-11 情報処理装置及び文書表示方法、文書表示システムおよびプログラム
EP17001525.9A EP3309695A1 (en) 2016-10-11 2017-09-12 Information processing apparatus, document display method, document display system, and program
US15/710,303 US10572546B2 (en) 2016-10-11 2017-09-20 Information processing apparatus, document display method, document display system, and medium
CN201710934970.2A CN107918638A (zh) 2016-10-11 2017-10-10 信息处理装置、文档显示方法、文档显示系统及介质
KR1020170129591A KR20180040099A (ko) 2016-10-11 2017-10-11 정보 처리 장치, 문서 표시 방법, 문서 표시 시스템, 및 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016200473A JP2018063501A (ja) 2016-10-11 2016-10-11 情報処理装置及び文書表示方法、文書表示システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2018063501A true JP2018063501A (ja) 2018-04-19

Family

ID=59923206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016200473A Pending JP2018063501A (ja) 2016-10-11 2016-10-11 情報処理装置及び文書表示方法、文書表示システムおよびプログラム

Country Status (5)

Country Link
US (1) US10572546B2 (ja)
EP (1) EP3309695A1 (ja)
JP (1) JP2018063501A (ja)
KR (1) KR20180040099A (ja)
CN (1) CN107918638A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6736440B2 (ja) * 2016-09-27 2020-08-05 キヤノン株式会社 クラウドシステムにおける文書ファイルの生成サービスを提供する装置、方法及びプログラム
JP2019106629A (ja) * 2017-12-12 2019-06-27 キヤノン株式会社 情報処理システム、制御方法及びそのプログラム
JP2020067718A (ja) * 2018-10-22 2020-04-30 キヤノン株式会社 文書生成システムおよびその制御方法、並びにプログラム
US11907904B2 (en) * 2019-04-26 2024-02-20 Open Text Corporation Systems and methods for intelligent forms automation
CN110569456B (zh) * 2019-07-26 2022-03-08 广州视源电子科技股份有限公司 Web端数据离线缓存方法及装置、电子设备
CN113077534B (zh) * 2021-03-22 2023-11-28 上海哔哩哔哩科技有限公司 图片合成云平台及图片合成方法
CN114185484A (zh) * 2021-11-04 2022-03-15 福建升腾资讯有限公司 一种文档存储集群化的方法、装置、设备和介质
US11921783B1 (en) * 2023-09-20 2024-03-05 Essenvia, Inc. Systems and methods for extracting and combining XML files of an XFA document

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022631A (ja) 1999-07-08 2001-01-26 Hitachi Ltd Http通信システム
IL133888A0 (en) * 2000-01-05 2001-04-30 Keselman Alexander Method and algorithm for viewing search results in the internet and multi-page system using the same
IL141108A0 (en) * 2000-08-01 2002-02-10 Intra Inc Method and system for pre-downloading archived content files in a data network
US20020065800A1 (en) * 2000-11-30 2002-05-30 Morlitz David M. HTTP archive file
EP1736894A4 (en) * 2004-03-30 2016-07-06 Jvc Kenwood Corp DIGITIZATION SERVICE MANUAL PRODUCTION PROCESS AND PRODUCTION PROCESS FOR ADDITIONAL DATA
US20080147957A1 (en) * 2004-11-12 2008-06-19 Justsystems Corporation Archiver Device, Data Acquisition Device, and Data Acquisition Method
US20100180213A1 (en) * 2008-11-19 2010-07-15 Scigen Technologies, S.A. Document creation system and methods
US9195636B2 (en) * 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9020890B2 (en) * 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9660821B2 (en) * 2013-06-13 2017-05-23 Pushfor, Ltd. Method and system for sharing content files using a computer system and data network
CN104090862A (zh) * 2014-07-16 2014-10-08 山东大学 一种基于lnmp的网盘多类型文件在线预览方法
JP6529229B2 (ja) * 2014-08-27 2019-06-12 キヤノン株式会社 情報処理装置、制御方法、およびコンピュータプログラム
US9886426B1 (en) * 2015-03-26 2018-02-06 Accusoft Corporation Methods and apparatus for generating an efficient SVG file

Also Published As

Publication number Publication date
US20180101525A1 (en) 2018-04-12
EP3309695A1 (en) 2018-04-18
US10572546B2 (en) 2020-02-25
CN107918638A (zh) 2018-04-17
KR20180040099A (ko) 2018-04-19

Similar Documents

Publication Publication Date Title
JP2018063501A (ja) 情報処理装置及び文書表示方法、文書表示システムおよびプログラム
US9910651B2 (en) System for developing, testing, deploying, and managing applications in real-time
US10956652B2 (en) Support for non-native file types in web application environment
JP6797290B2 (ja) メッセージングサービス向けのコンテンツ管理機能
US8041763B2 (en) Method and system for providing sharable bookmarking of web pages consisting of dynamic content
US20220391221A1 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
US20120050793A1 (en) Network printing system, client terminal, and printing method
JP4935413B2 (ja) アップロード用アドインプログラム、アップロード用補助プログラム及びアップロード方法
JP2009003802A (ja) 情報表示装置及び情報表示方法
JP2014056319A (ja) 情報処理装置およびプログラム、制御方法
US11977901B2 (en) Systems and methods of multi-stage configuration service for policy-driven transformation
JP4282312B2 (ja) Webサーバ、Javaサーブレットの機能を有するWebサーバ、およびコンピュータプログラム
JP5046984B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20230325460A1 (en) Methods of website generation
CA2853386C (en) Mobile solution for importing and signing third-party electronic signature documents
US10885408B2 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
US20170351477A1 (en) Data processing apparatus, data processing method, and non-transitory computer readable medium
JP2015082159A (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
JP2005339333A (ja) 帳票管理システム
JP5351746B2 (ja) データ処理装置及び方法
JP7379019B2 (ja) プログラム、サーバ及び提供方法
JP4846031B2 (ja) 動作検証システム
JP5415848B2 (ja) データ共有システム及びデータ共有方法
JP6998005B2 (ja) 所定形式ファイル生成サーバ、書類発行システム、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

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

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210301