以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の情報処理システムのシステム構成の一例を示す図である。本発明の情報処理システムは、情報処理装置101、画像処理装置102、クラウドサーバ103(サーバ装置)、携帯端末104がLAN(Local Area Network)やWAN(Wide Area Network)等のネットワーク105を介して相互にデータ通信可能に接続されている。図1のネットワーク105上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、ファイルの管理を行う装置である。情報処理装置101で動作するアプリケーションにより、ファイルの作成、編集、保存、印刷を実行する。情報処理装置101にはプリンタドライバがインストールされており、ファイルから印刷データを生成し、画像処理装置102に印刷指示を実行可能である。尚、本実施形態におけるファイルとは、文書データや画像データのような電子データを示す。画像処理装置102で印刷可能な電子データであればよい。
画像処理装置102は、情報処理装置101からの指示に応じて用紙に印刷を実行可能な装置である。
クラウドサーバ103は、クラウドサービスを提供するサーバである。クラウドサーバ103は、複数のサーバで構成されており、このサーバ群が連携動作することで、クラウドサービスを提供する。クラウドサービスは、インターネット等のネットワーク105を通じてコンピュータ資源を提供するものである。より具体的には、仮想サーバやソフトウェア、データ保管領域をユーザに提供するサービスである。本実施形態では特に、情報処理装置101から送信されたファイルを取得可能なURL(Uniform Resource Locator)を発行し、携帯端末104から当該URLに対するアクセスがあった場合には、当該URLに対応するファイルを携帯端末104に送信することが可能である。
携帯端末104は、撮像装置を備える装置である。携帯端末104が備える撮像装置で二次元コードを読み取り、当該二次元コードに含まれる情報を読み取ることができる。尚、情報処理装置101が、携帯端末104の構成を含んでもよいし、携帯端末104が情報処理装置101の構成を含んでもよい。
図2は、情報処理装置101とクラウドサーバ103のハードウェア構成の一例を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211(記憶手段)には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、情報処理装置101、クラウドサーバ103の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス209からの入力を制御する。
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器の種類はCRTや、液晶ディスプレイを想定するが、これに限らない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101、クラウドサーバ103が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
図3は、画像処理装置102のハードウェア構成の一例を示す図である。
コントローラユニット316は、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LANやWANと接続することで、画像データやデバイス情報の入出力を行う。
CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリである。
ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ(HDD)304は、システムを制御するための各種プログラム,画像データ等を格納する。
操作部インタフェース(操作部I/F)307は、操作部308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、当該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
ネットワークインタフェース(Network I/F)305は、ネットワーク(LAN)に接続し、データの入出力を行う。モデム(MODEM)306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
外部インタフェース(外部I/F)318は、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers 1394)、プリンタポート、RS−232C(Recommended Standard 232 version C)等の外部入力を受け付けるI/F部である。例えば認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F318に接続される。
更に、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、当該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
イメージバスインタフェース(IMAGE BUS I/F)320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
画像バス315は、PCIバス(Peripheral Components Interconnect bus)またはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
ラスタイメージプロセッサ(RIP)310は、ベクトルデータをビットマップイメージに展開する。
プリンタインタフェース(プリンタI/F)311は、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
スキャナインタフェース(スキャナI/F)313は、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
画像処理部317は、入力画像データに対し補正、加工及び編集やプリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG(Joint Photographic Experts Group)、2値画像データはJBIG(Joint Bi−level Image Experts Group)等の圧縮伸張処理を行う。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットを備える。
操作部308は、LCD(Liquid Crystal Display)表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
以上のような構成によって、画像処理装置102は、スキャナ部314から読み込んだ画像データをNetwork I/F305からLANに送信し、LANから受信した印刷データをNetwork I/F305を経由してプリンタ部312より印刷出力することができる。
また、スキャナ部314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
図4は、携帯端末104のハードウェア構成の一例を示す図である。
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
また、ROM402あるいはフラッシュメモリ414(記憶手段)には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、当該携帯端末が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。
CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ405は、タッチパネル410、マイク411、カメラ412からの入力を制御する。タッチパネル410からはユーザのタッチ操作に関する入力を制御し、マイク411からは音声や超音波の入力を制御し、更にカメラ412(撮像装置)からは撮影された静止画、動画、可視光の入力を制御する。出力コントローラ406は、タッチパネル410、スピーカ413への出力を制御する。
タッチパネル410は、ユーザからのタッチ操作を検知すると共に、前述した出力コントローラ406から送られた映像を表示する。タッチパネル410は、表示器と位置入力装置とが一体となった部品である。複数の箇所に対するタッチ操作(以下、マルチタッチ)も検知可能である。
メモリコントローラ(MC)407は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ414へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
通信I/Fコントローラ409は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
センサコントローラ408は、携帯端末104が備えるセンサ415からの入力を制御する。携帯端末104のセンサ415には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
尚、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、タッチパネル410上での表示を可能としている。
本発明の携帯端末104が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ414に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ414に格納されている。
次に、情報処理装置101、画像処理装置102、クラウドサーバ103、携帯端末104の機能構成を示す機能構成図について、図5を用いて説明する。尚、図5の機能構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、送受信制御部511、表示制御部512、アプリケーション部513、印刷設定部514、印刷データ生成部515、印刷指示部516、接続状況確認部517、ULファイル生成部518を備える。
送受信制御部511は、他の装置とネットワークを通じて情報の送受信を制御する機能を有する。本実施形態では特に画像処理装置102とクラウドサーバ103と情報の送受信を制御する。
表示制御部512は、ディスプレイ210に各種情報を表示させる機能を有する。アプリケーション部513は、ファイルの作成、編集、保存、印刷等を実行可能なアプリケーションを動作させる機能を有する。より具体的には、文書作成アプリケーションや画像編集アプリケーションを想定している。
印刷設定部514は、ファイルの印刷設定を行う機能を有する。印刷設定部514は、プリンタドライバに含まれる機能である。印刷設定部514では、部数やレイアウト等の印刷設定を行うと共に、印刷するファイルをクラウドサーバ103にアップロードするか否か等の設定を受け付けることができる。
印刷データ生成部515は、印刷が指示されたファイルの印刷データを生成する機能を有する。印刷データ生成部515は、プリンタドライバに含まれる機能である。印刷データは、印刷設定部514で設定された印刷設定に応じて生成される、画像処理装置102で印刷可能なデータである。
印刷指示部516は、画像処理装置102に対して印刷指示を行う機能を有する。印刷指示部516は、プリンタドライバに含まれる機能である。印刷データ生成部515で生成された印刷データを画像処理装置102に対して送信することにより、印刷指示を行う。
接続状況確認部517は、クラウドサーバ103との接続状況を確認する機能を有する。接続状況確認部517が送受信制御部511を通じてクラウドサーバ103に通信を行い、その返答があったか否かに応じて接続可能か否かを確認する。
ULファイル生成部518は、クラウドサーバ103にアップロード(送信)するファイルを生成する機能を有する。ULファイル生成部518は、印刷するファイルから必要な部分だけを抽出した新たなファイルを生成する。
画像処理装置102は、送受信制御部521、印刷制御部522を備える。送受信制御部521は、他の装置とネットワークを通じて情報の送受信を制御する機能を有する。本実施形態では特に情報処理装置101との情報の送受信を制御する。印刷制御部522は、印刷を制御する機能を有する。印刷制御部522は、プリンタ部312を制御することで、情報処理装置101から送信された印刷データに基づいて用紙に印刷を実行する。
クラウドサーバ103は、送受信制御部531、認証制御部532、ファイル管理部533を備える。
送受信制御部531は、他の装置とネットワークを通じて情報の送受信を制御する機能を有する。本実施形態では特に情報処理装置101と携帯端末104との情報の送受信を制御する。
認証制御部532は、ユーザ認証を実行する機能を有する。クラウドサーバ103で提供するクラウドサービスを利用可能なユーザか否かを認証制御部532が判定する。
ファイル管理部533は、情報処理装置101からアップロードされたファイルを管理する機能を有する。ファイル管理部533は、情報処理装置101からアップロードされたファイルをクラウドサーバ103の外部メモリ211等に記憶し、当該ファイルを取得可能なURLを発行する。そして、携帯端末104から当該URLに対するアクセスがなされると、当該URLに対応するファイルを取得して、携帯端末104に送信(ダウンロード)する。
携帯端末104は、アプリケーション部541、送受信制御部542、表示制御部543を備える。
アプリケーション部541は、携帯端末104にインストールされたアプリケーションを動作させる機能を有する。携帯端末104にインストールされたアプリケーションは、二次元コードを読み取り、当該二次元コードに含まれるURLを取得し、当該URLにアクセスすることができるアプリケーションである。また、URLにアクセスすることで特定したファイルをクラウドサーバ103からダウンロードし、閲覧することが可能である。
送受信制御部542は、他の装置とネットワークを通じて情報の送受信を制御する機能を有する。本実施形態では特にクラウドサーバ103との情報の送受信を制御する。表示制御部512は、ディスプレイ210に各種情報を表示させる機能を有する。
次に、本発明の実施形態における一連の処理について、図6、図10、12に示すフローチャートを用いて説明する。
まず、ステップS601では、情報処理装置101のCPU201は、情報処理装置101にインストールされたアプリケーションを起動する。当該アプリケーションは、ファイルの作成、編集、印刷等を実行可能なアプリケーションである。
ステップS602では、情報処理装置101のCPU201は、ユーザからの指示に応じて画像処理装置102で印刷を実行するファイルをアプリケーション内で開く。
そして、ステップS603では、情報処理装置101のCPU201は、任意のファイルに対するユーザから印刷指示を受け付けると(印刷指示受付手段)、印刷設定や、クラウドサーバ103にアップロードしたファイルを取得可能な条件を受け付けるための印刷設定画面をディスプレイ210に表示する(取得条件受付手段)。印刷設定画面では、印刷するファイルの印刷設定を受け付けるための画面である。より具体的には、プリンタドライバが提供する画面である。本実施形態では、特に図7に示すような印刷設定画面700を表示する。
印刷設定画面700は、印刷するファイルをクラウドサーバ103にアップロードするか否か、またアップロードする場合の設定を受け付ける画面である。印刷設定画面700には、ファイルのアップロード701、アップロードファイル形式702、ダウンロード情報印字場所703、ダウンロード可能回数704(取得条件)、ダウンロード可能期間705(取得条件)、ダウンロードパスワード706(取得条件)、パスワードの印字707、アップロードページ指定708、クラウドサービス710、アカウント711、パスワード712等の設定項目を備える。
ファイルのアップロード701は、印刷指示されたファイルをクラウドサーバ103にアップロードするか否かを選択する項目である。アップロードファイル形式702は、印刷指示されたファイルのファイル形式を選択する項目である。「原稿形式」が選択されると、印刷指示されたファイルの現在のファイル形式のままアップロードし、「PDF」や「JPEG」が選択されると、印刷指示されたファイルを選択されたファイル形式に変換して、アップロードする。
ダウンロード情報印字場所703は、アップロードしたファイルをダウンロード可能な情報(格納先URL)をファイルのどこに付して印刷するのかを選択するための項目である。本実施形態では、当該情報を二次元コードに変換して付与するものとして説明を行うが、URLを示す文字列をそのまま付与してもよい。
ダウンロード可能回数704は、アップロードしたファイルをダウンロード可能な回数を設定する項目である。例えば、ダウンロード可能回数704を「10」と設定した場合には、アップロードしたファイルが10回ダウンロードされると、それ以上当該ファイルをダウンロードできなくなる。またダウンロード可能期間705は、アップロードしたファイルをダウンロード可能な期間を設定する項目である。例えば、ダウンロード可能期間705を「2013/12/03−2013/12/10」と設定した場合には、2013年12月3日から2013年12月10日の間は、アップロードしたファイルをダウンロード可能であるが、この期間以外は当該ファイルをダウンロードできなくなる。
ダウンロードパスワード706は、アップロードしたファイルをダウンロードするためのパスワードを設定する項目である。この項目にパスワードが入力されると、アップロードされたファイルをダウンロードするためにパスワードの入力が必要となる。
パスワードの印字707は、ダウンロードパスワード706で設定したパスワードを合わせて印刷するか否かを選択するための項目である。
アップロードページ指定708は、印刷指示されたファイルを構成するページのうち、クラウドサーバ103にアップロードするページの指定を受け付けるための項目である。印刷指示されたファイルに機密情報等が含まれている場合には、機密情報が含まれているページを除外することができる。
クラウドサービス710は、印刷指示されたファイルをアップロードする先のクラウドサービスを選択する項目である。また、アカウント711は、クラウドサービス710にログイン可能なアカウントを入力する項目であり、パスワード712は、アカウント711に対応するパスワードを入力する項目である。
ステップS604では、情報処理装置101のCPU201は、アップロードページ指定708で「ページ指定する」が選択され、ページ指定ボタン709が押下されたか否かを判定する。ページ指定ボタン709が押下されたと判定した場合には、ステップS605に処理を進める。ページ指定ボタン709が押下されていないと判定した場合には、ステップS608に処理を進める。
ステップS605では、情報処理装置101のCPU201は、図9に示すようなULページ指定画面900を表示する(ページ指定受付手段)。ULページ指定画面900は、アップロードするページを指定するための画面である。ULページ指定画面900には、印刷指示されたファイルを構成する各ページが表示される。ユーザは、このページを選択することでクラウドサーバ103にアップロードするページを指定できる。ページが指定されると、902に示すようなチェックマークが付与される。これにより、アップロードするページとアップロードしないページとを識別表示する。
また、ULページ指定画面900が備える指定方法切替ボタン901が押下されると、904に示すような画面に切り替わる。904に示すULページ指定画面900では、アップロードしないページの指定を受け付けることができる。アップロードしないページをユーザが選択すると、905に示すようなチェックマークが付与される。これにより、アップロードするページとアップロードしないページとを識別表示する。
更には、いずれかの画面でページが指定された状態で指定方法切替ボタン901が押下され、他方の画面に遷移すると、チェックマークが付与されているページからはチェックマークが外れ、チェックマークが付与されていないページにはチェックマークが付与される。つまり、チェックの有無が逆転する。図9の上部に示す画面では、「ページ6」だけがチェックされていないが、図9の下部に示す画面では、「ページ6」にだけチェックがなされている。このように、指定方法切替ボタン901が押下された場合であっても、ユーザから指示された内容を保持することができる。
ステップS606では、情報処理装置101のCPU201は、ULページ指定画面900のOKボタン903が押下されたか否かを判定する。OKボタン903が押下されたと判定した場合には、ステップS607に処理を進める。OKボタン903が押下されていないと判定した場合には、印刷ボタン713が押下されるまで待機する。
ステップS607では、情報処理装置101のCPU201は、ULページ指定画面900で指定された、アップロードするページのページ数をUL設定情報810(図8参照)に保存する。
UL設定情報810は、情報処理装置101のRAM203等に記憶され、印刷設定画面700で入力または選択された情報を格納するものである。UL設定情報810は、ULフラグ811、ファイル形式812、DL情報印字場所813、DL可能回数814、DL可能期間815、DLパスワード816、DLパスワード印字フラグ817、ULページ818、クラウドサービス819、アカウント820、パスワード821から構成される。
ULフラグ811は、ファイルのアップロード701で選択された情報に応じたフラグが格納される。「アップロードする」が選択されると「1」が格納され、「アップロードしない」が選択されると「0」が格納される。ファイル形式812は、アップロードファイル形式702で選択された情報が格納される。DL情報印字場所813は、ダウンロード情報印字場所703で選択された情報が格納される。
DL可能回数814は、ダウンロード可能回数704で入力された数値が格納される。DL可能期間815は、ダウンロード可能期間705で入力された年月日が格納される。本実施形態では、年月日による管理を行うものとするが、時分秒を含めてもよい。DLパスワード816は、ダウンロードパスワード706で入力されたパスワードが格納される。DLパスワード印字フラグ817は、パスワードの印字707で選択された情報に応じたフラグが格納される。「印字する」が選択されると「1」が格納され、「印字しない」が選択されると「0」が格納される。
ULページ818は、アップロードページ指定708で「ページ指定する」が選択され、ULページ指定画面900で指定されたアップロードするページが格納される。アップロードページ指定708で「ページ指定しない」が選択された場合には「NULL」が格納される。
クラウドサービス819はクラウドサービス710で選択されたクラウドサービス名が格納される。また、アカウント820は、アカウント711で入力されたアカウントが格納され、パスワード821は、パスワード712で入力されたパスワードが格納される。
このように、UL設定情報810の各項目には、印刷設定画面700を通じてユーザから入力または選択された各種情報が格納される。
ステップS608では、情報処理装置101のCPU201は、印刷設定画面700が備える印刷ボタン713が押下されたか否かを判定する。印刷ボタン713が押下されたと判定した場合には、印刷設定画面700で入力または選択された各種情報をUL設定情報810に格納し、ステップS609に処理を進める。印刷ボタン713が押下されていないと判定した場合には、ステップS604に処理を戻す。
ステップS609では、情報処理装置101のCPU201は、印刷指示されたファイルをクラウドサーバ103にアップロードする旨の指示があったか否かを判定する。より具体的には、UL設定情報810のULフラグ811が「1」であるか否かを判定する。ULフラグ811が「1」であるということは、印刷設定画面700のファイルのアップロード701で「アップロードする」が選択されたということである。よって、印刷指示されたファイルをクラウドサーバ103にアップロードする旨の指示があったと判定できる。一方、ULフラグ811が「0」であった場合には、印刷設定画面700のファイルのアップロード701で「アップロードしない」が選択されたということである。よって、印刷指示されたファイルをクラウドサーバ103にアップロードしない旨の指示があったと判定できる。印刷指示されたファイルをクラウドサーバ103にアップロードする旨の指示があったと判定した場合には、図10のステップS612に処理を進める。印刷指示されたファイルをクラウドサーバ103にアップロードしない旨の指示があったと判定した場合には、ステップS610に処理を進める。
ステップS610では、情報処理装置101のCPU201は、印刷指示されたファイルに基づいて、画像処理装置102で印刷可能な印刷データを生成する。そして、ステップS611では、情報処理装置101のCPU201は、ステップS610で生成された印刷データを画像処理装置102に送信することで、印刷指示を行う。画像処理装置102は、この印刷指示を受け取ると印刷データに基づいて用紙に印刷を実行する。印刷指示が完了したら、本一連の処理を終了する。
図10に説明を移す。ステップS612では、情報処理装置101のCPU201は、ユーザから選択されたクラウドサービスを実行するクラウドサーバ103と通信が可能(クラウドサーバ103がオンラインである)か否かを判定する。より具体的には、UL設定情報810のクラウドサービス819に格納されたクラウドサービス名に対応するクラウドサービス名801を持つレコードをクラウドサービステーブル800(図8参照)から特定し、当該特定したレコードのクラウドサービスURL802に対する通信テストを行う。この通信テストにより、通信が可能か否かを判定する。クラウドサーバ103と通信が可能であると判定した場合には、図12のステップS618に処理を進める。クラウドサーバ103と通信が可能でない(クラウドサーバ103がオフラインである)と判定した場合には、ステップS613に処理を進める。
クラウドサービステーブル800は、情報処理装置101の外部メモリ211等に記憶され、クラウドサービス名801、クラウドサービスURL802から構成される。クラウドサービス名801は、クラウドサーバ103で実行されるクラウドサービスの名称が格納されている。クラウドサービスURL802は、実行されているクラウドサービスのURLが格納されている。
ステップS613では、情報処理装置101のCPU201は、図11のオフラインメッセージ1100に示すような通知を行う。すなわち、ユーザが選択したクラウドサービスがオフラインである旨を通知する。
ステップS614では、情報処理装置101のCPU201は、指示された印刷を保留するか否かを判定する。ユーザからは印刷指示されたファイルをクラウドサーバ103にアップロードする指示がなされているので、当該ファイルをアップロードし、アップロードしたファイルをダウンロード可能な情報を含めた印刷を実行する必要がある。しかしながら、アップロード先のクラウドサーバ103と通信ができないため、ファイルをアップロードすることができない。そのため、いったん印刷を保留してクラウドサーバ103が復旧するのを待つのか、それともアップロードはあきらめて通常の印刷を実行するのかを選択させる。より具体的には、オフラインメッセージ1100が備えるはいボタン1101が押下されると印刷を保留し、いいえボタン1102が押下されると即時印刷が実行される。指示された印刷を保留すると判定した場合(はいボタン1101が押下された場合)には、ステップS617に処理を進める。指示された印刷を保留しないと判定した場合(いいえボタン1102が押下された場合)には、ステップS615に処理を進める。
ステップS615では、情報処理装置101のCPU201は、印刷指示されたファイルのアップロードを諦めて、ステップS610と同様に印刷データを生成する。すなわち、後述するステップS632で取得する格納先URLであって、クラウドサーバ103にアップロードされたファイルの格納先を示す格納先URLを含めずに、印刷データを生成する。格納先URLについては後述する。そして、ステップS616では、情報処理装置101のCPU201は、ステップS615で生成した印刷データに基づいて、画像処理装置102に対して印刷指示を実行する。すると、画像処理装置102は印刷指示を受信し、印刷データに基づいて用紙に印刷を実行する。
ステップS617では、情報処理装置101のCPU201は、印刷をいったん保留する旨の指示があったので、処理を所定時間待機する(待機手段)。待機する時間は問わない。所定時間待機した後、ステップS612に処理を戻す。そして、再度ステップS612でクラウドサーバ103と通信が可能か否かを判定する。
図12に説明を移す。ステップS618では、情報処理装置101のCPU201は、クラウドサーバ103にファイルをアップロードするために、認証情報を送信する。認証情報とは、UL設定情報810のアカウント820とパスワード821とを示す。
ステップS619では、クラウドサーバ103のCPU201は、情報処理装置101から送信された認証情報を受信する。そして、ステップS620では、クラウドサーバ103のCPU201は、ステップS619で受信した認証情報と、認証テーブル1300(図13参照)とに基づいて、ユーザ認証を実行する。より具体的には、認証情報に含まれるアカウント820とパスワード821の組み合わせが、認証テーブル1300のアカウント1301とパスワード1302に存在するか否かを確認する。存在すれば認証はOKとなるが、存在しない場合には認証はNGとなる。
認証テーブル1300は、クラウドサーバ103の外部メモリ211等に記憶され、ユーザ認証に用いられるテーブルである。認証テーブル1300は、アカウント1301、パスワード1302から構成される。認証テーブル1300は、クラウドサービスごとに存在し、認証テーブル1300に示すアカウントのユーザが、当該クラウドサービスを利用できる。つまり、本実施形態の仕組みを利用するためには、あらかじめクラウドサービスのユーザ登録等で認証テーブル1300にアカウント1301とパスワード1302を登録しておく必要がある。
ステップS621では、クラウドサーバ103のCPU201は、ステップS620で実行された認証結果を情報処理装置101に送信する。
ステップS622では、情報処理装置101のCPU201は、クラウドサーバ103から送信された認証結果を受信する。そして、ステップS623では、情報処理装置101のCPU201は、ステップS622で受信した認証結果がOKを示すか否かを判定する。認証結果がOKであると判定した場合には、ステップS625に処理を進める。認証結果がNGであると判定した場合には、ステップS624に処理を進める。
ステップS624では、情報処理装置101のCPU201は、認証結果がNGであったので、ユーザ認証が失敗した旨をユーザに通知し、本一連の処理を終了する。
ステップS625では、情報処理装置101のCPU201は、アップロードするファイルのページ指定がなされているか否かを判定する。より具体的には、UL設定情報810のULページ818にページ数が格納されているか否かに応じて判定する。ページ指定がなされていると判定した場合には、ステップS626に処理を進める。ページ指定がなされていないと判定した場合(ULページ818が「NULL」である場合)には、ステップS627に処理を進める。
ステップS626では、情報処理装置101のCPU201は、ULページ818が示すページから成るアップロード用のファイルを生成する(ファイル生成手段)。まず、ULページ818が示すページを抽出したファイルを生成し、生成したファイルをファイル形式812が示すファイル形式に変換することで、アップロード用のファイルを生成する。特定のページを抽出する仕組みやファイル形式を変換する仕組みは、従来技術を用いるものとする。
ステップS627では、情報処理装置101のCPU201は、印刷指示されたファイル、またはステップS626で生成されたアップロード用のファイルをクラウドサーバ103に送信(アップロード)する(ファイル送信手段)。印刷指示されたファイルを送信する場合には、ファイル形式812が示すファイル形式に変換した上で送信する。また、クラウドサーバ103にファイルを送信する際に、DL可能回数814、DL可能期間815、DLパスワード816といったファイルの取得条件が入力されている場合には、これらを合わせて送信する。
ステップS628では、クラウドサーバ103のCPU201は、情報処理装置101から送信されたファイルと、取得条件とを受信する(ファイル受信手段)。
ステップS629では、クラウドサーバ103のCPU201は、ステップS628で受信したファイルを所定の記憶領域に格納する(ファイル格納手段)。そして、格納したファイルを取得可能な格納先URLを発行する。格納先URL(格納先情報)は、ステップS629で格納したファイルをダウンロード(取得)可能なURLである。この格納先URLにアクセスすることで、当該格納先URLに対応するファイルをダウンロードできる。更には、格納したファイルに関する情報を格納ファイルテーブル1310(図13参照)に格納する。
格納ファイルテーブル1310は、クラウドサーバ103の外部メモリ211等に記憶され、格納先URL1311、アカウント1312、ファイルパス1313、DL可能回数1314、DL可能期間1315、DLパスワード1316から構成される。格納先URL1311は、ステップS629で発行される格納先URLが格納される。アカウント1312は、ファイルを格納したユーザのアカウント1301が格納される。ファイルパス1313は、格納したファイルのファイルパスが格納される。DL可能回数1314、DL可能期間1315、DLパスワード1316は、情報処理装置101から送信された取得条件に含まれるDL可能回数814、DL可能期間815、DLパスワード816がそれぞれ格納される。ステップS629では、格納先URL1311、アカウント1312、ファイルパス1313までが格納される。
ステップS630では、クラウドサーバ103のCPU201は、ステップS629で格納したファイルの取得条件をステップS628で受信していた場合には、この取得条件に応じてダウンロードの制限を設定する。より具体的には、格納ファイルテーブル1310のDL可能回数1314、DL可能期間1315、DLパスワード1316に、受信した取得条件に含まれるDL可能回数814、DL可能期間815、DLパスワード816をそれぞれ格納する。受信していない取得条件が存在する場合には、受信しなかった取得条件に対応する項目に「NULL」を格納しておく。
ステップS631では、クラウドサーバ103のCPU201は、ステップS629で発行された格納先URLを情報処理装置101に送信する(格納先情報送信手段)。
ステップS632では、情報処理装置101のCPU201は、クラウドサーバ103から送信された格納先URLを受信する(格納先情報受信手段)。
ステップS633では、情報処理装置101のCPU201は、印刷指示されたファイルと、ステップS632で受信した格納先URLとを含む印刷データを生成する(印刷データ生成手段)。より具体的には、格納先URLを二次元コードに変換し、印刷指示されたファイルの指定された箇所に付与する。付与する場所は、DL情報印字場所813が示す場所である。更にDLパスワード印字フラグ817が「1」であれば、DLパスワード816に格納されたパスワードも合わせて付与する。DL可能期間815も合わせて付与することが望ましい。そして、これらの情報を付与したファイルの印刷データを生成する。
ステップS634では、情報処理装置101のCPU201は、ステップS633で生成された印刷データに基づいて、画像処理装置102に印刷指示を送信する。そして、画像処理装置はこの印刷指示を受け付けると、印刷データに基づいて用紙に印刷を実行する。
格納先URLを含む二次元コードが印刷された紙文書の例を図14に示す。図14の紙文書1400は、ステップS602で開かれたファイルを構成するあるページを印刷したものである。紙文書1400は、図8のUL設定情報810の各項目に格納された情報に基づいて作成されている。つまり、ULフラグ811が「1」であるので印刷指示されたファイルをクラウドサービス819に格納されたクラウドサービスを実行しているクラウドサーバ103に送信し、格納先URLを取得している。また、DL情報印字場所813が「フッタ」であるので、ファイルを構成する各ページのフッタ部分に取得した格納先URLの二次元コードを付与している。つまり、紙文書1400のフッタ1401に示す領域である。また、DLパスワード印字フラグ817は「1」であるので、DLパスワード816も印字されている。
フッタ1401を拡大したものが、拡大イメージ1402である。格納先URLを含む二次元コードと、DLパスワード816、更にはDL可能期間815が印字されていることがわかる。紙文書1400を受け取ったユーザは、これらの情報に基づいて、紙文書1400の元となったファイルをダウンロードできる。尚、本実施形態においては、格納先URLの二次元コードを印刷するものとするが、拡大イメージ1403に示すように、格納先URLをそのまま印刷してしまってもよい。また、図14においては、二次元コードとしてQRコード(登録商標)を用いているが、これに限らない。携帯端末104が備えるアプリケーションで認識可能な情報であればよい。一次元のバーコードでもよい。
以上のように、ユーザからの印刷指示に応じて、印刷指示がなされたファイルをクラウドサーバ103に送信すると、クラウドサーバ103は当該ファイルを格納し、当該ファイルの格納先を示す格納先情報を情報処理装置101に送信する。そして、情報処理装置101は、印刷指示を受け付けたファイルと、格納先情報とを含む印刷データを生成し、当該印刷データに基づいて画像処理装置102に印刷指示を行う。ユーザは、印刷の実行を指示するだけで、所定のクラウドサーバ103にファイルがアップロードされ、当該ファイルをダウンロード可能な情報が付与された印刷データを印刷できる。そのため、ユーザがファイルをクラウドサーバ103にアップロードし、そのファイルをダウンロード可能な格納先情報をファイルに付与し、印刷をする、という一連の手間を軽減することができる。
次に、紙文書に印刷された二次元コードを読み取って、紙文書の元のファイルを取得する処理について、図15、図17に示すフローチャートを用いて説明する。
尚、本実施形態では、携帯端末104がクラウドサーバ103からファイルを取得する形態について説明を行うが、情報処理装置101が取得する形態であってもよい。
まず、ステップS1501では、携帯端末104のCPU401は、クラウドサーバ103にアップロードされたファイルをダウンロード(取得)するためのアプリケーションを起動する。そして、ステップS1502では、携帯端末104のCPU401は、起動したアプリケーションが備える二次元コードの読み取り機能によって、紙文書1400に付された二次元コードを撮影する。
ステップS1503では、携帯端末104のCPU401は、ステップS1503で撮影した二次元コードを解析し、当該二次元コードに含まれる格納先URLを取得する。尚、格納先URLが紙文書1400に印字されている場合には、情報処理装置101や携帯端末104が備えるブラウザで当該格納先URLの入力を受け付けることで、格納先URLを取得する。そのため、この場合にはステップS1501乃至ステップS1502は省略される。
ステップS1504では、携帯端末104のCPU401は、ステップS1503で取得した格納先URLに基づいて、クラウドサーバ103に対してファイルの取得(ダウンロード)要求を送信する(ファイル取得要求送信手段)。すなわち、ステップS1503で取得した格納先URLにアクセスすることになる。
ステップS1505では、クラウドサーバ103のCPU201は、携帯端末104から送信されたファイルの取得要求を受信する。
ステップS1506では、クラウドサーバ103のCPU201は、携帯端末104から要求されたファイルを取得するためのパスワードが設定されているか否かを判定する。より具体的には、携帯端末104がアクセスしてきた格納先URLに対応する格納先URL1311を持つレコードを特定し、当該レコードのDLパスワード1316が「NULL」ではなく、何かしらの文字列が格納されていれば、パスワードが設定されていると判定する。ファイルを取得するためのパスワードが設定されていると判定した場合には、ステップS1507に処理を進める。ファイルを取得するためのパスワードが設定されていない(DLパスワード1316が「NULL」である)と判定した場合には、ステップS1515に処理を進める。
ステップS1507では、クラウドサーバ103のCPU201は、携帯端末104に対してパスワードの取得要求を送信する。
ステップS1508では、携帯端末104のCPU401は、クラウドサーバ103から送信されたパスワードの取得要求を受信し、ステップS1509では、携帯端末104のCPU401は、図16に示すようなパスワード入力画面1600を表示する。パスワード入力画面1600では、格納先URLに対応するファイルを取得するために必要なパスワードの入力を要求する画面である。パスワード入力画面1600のパスワード入力欄1601に当該パスワードをユーザが入力し、OKボタン1602を押下することで、ステップS1510に処理を進める。入力するパスワードは、印刷設定画面700のダウンロードパスワード706で設定されたパスワードであるため、紙文書1400の元となったファイルを印刷指示したユーザから当該パスワードを教えてもらって入力するか、または紙文書1400に印字されているのであれば、これを入力する。
ステップS1510では、携帯端末104のCPU401は、ステップS1509で入力を受け付けたパスワードをクラウドサーバ103に送信する。
ステップS1511では、クラウドサーバ103のCPU201は、携帯端末104から送信されたパスワードを受信し、ステップS1512では、クラウドサーバ103のCPU201は、受信したパスワードがOKか否かを判定する。より具体的には、ステップS1505でアクセスを受け付けた格納先URLに対応する格納先URL1311を持つレコードを格納ファイルテーブル1310から特定し、当該レコードのDLパスワード1316と、受信したパスワードとが一致すればOKと判定する。一致しなければNGと判定する。パスワードがOKであると判定した場合には、ステップS1515に処理を進める。パスワードがNGであると判定した場合には、ステップS1513に処理を進める。
ステップS1513では、クラウドサーバ103のCPU201は、パスワードがNGである旨の結果を携帯端末104に送信する。そして、ステップS1514では、携帯端末104のCPU401は、その結果を受信してユーザに通知し、本一連の処理を終了する。
ステップS1515では、クラウドサーバ103のCPU201は、携帯端末104から要求されたファイルを取得可能な期間が設定されているか否かを判定する。より具体的には、携帯端末104がアクセスしてきた格納先URLに対応する格納先URL1311を持つレコードを特定し、当該レコードのDL可能期間1315が「NULL」ではなく、期間を示す情報が格納されていれば、ファイルを取得可能な期間が設定されていると判定する。ファイルを取得可能な期間が設定されていると判定した場合には、ステップS1516に処理を進める。ファイルを取得可能な期間が設定されていない(DL可能期間1315が「NULL」である)と判定した場合には、図17のステップS1519に処理を進める。
ステップS1516では、クラウドサーバ103のCPU201は、現在日時が、取得要求のあったファイルに対応するDL可能期間1315の期間内であるか否かを判定する(判定手段)。すなわち、携帯端末104から要求されたファイルに対応する取得条件に基づいて、当該ファイルが取得可能か否かを判定する。DL可能期間1315の期間内であると判定した場合には、図17のステップS1519に処理を進める。DL可能期間1315の期間内でないと判定した場合には、ステップS1517に処理を進める。
ステップS1517では、クラウドサーバ103のCPU201は、現在日時が取得要求のあったファイルに対応するDL可能期間1315の期間外である旨の結果を携帯端末104に送信し、ステップS1518では、携帯端末104のCPU401は、その結果を受信してユーザに通知し、本一連の処理を終了する。
図17に説明を移す。ステップS1519では、クラウドサーバ103のCPU201は、携帯端末104から要求されたファイルを取得可能な回数が設定されているか否かを判定する。より具体的には、携帯端末104がアクセスしてきた格納先URLに対応する格納先URL1311を持つレコードを特定し、当該レコードのDL可能回数1314が「NULL」ではなく、回数を示す数値が格納されていれば、ファイルを取得可能な回数が設定されていると判定する。ファイルを取得可能な回数が設定されていると判定した場合には、ステップS1520に処理を進める。ファイルを取得可能な回数が設定されていない(DL可能回数1314が「NULL」である)と判定した場合には、ステップS1523に処理を進める。
ステップS1520では、クラウドサーバ103のCPU201は、取得要求のあったファイルに対応するDL可能回数1314の値が「0」であるか否かを判定する(判定手段)。すなわち、携帯端末104から要求されたファイルに対応する取得条件に基づいて、当該ファイルが取得可能か否かを判定する。詳細は後述するが、DL可能回数1314が設定されている場合には、ファイルが1回ダウンロードされる度にDL可能回数1314の値がデクリメントされる。つまり、このDL可能回数1314が「0」である場合には、ダウンロード可能な回数を超えているので、携帯端末104から要求されたファイルを取得することができなくなる。DL可能回数1314の値が「0」であると判定した場合には、ステップS1521に処理を進める。DL可能回数1314の値が「0」でないと判定された場合には、ステップS1523に処理を進める。
ステップS1521では、クラウドサーバ103のCPU201は、DL可能回数1314が示す回数を超えてファイルの取得(ダウンロード)がなされたので、これ以上取得できない旨の結果を携帯端末104に送信する。そして、ステップS1522では、携帯端末104のCPU201は、これを受信してユーザに通知し、本一連の処理を終了する。
ステップS1523では、クラウドサーバ103のCPU201は、DL可能回数1314が示す値が「0」ではない、つまりまだファイルを取得可能な回数が残っているため、要求されたファイルを携帯端末104に送信するべく、DL可能回数1314に格納されている値をデクリメントする。
ステップS1524では、クラウドサーバ103のCPU201は、ステップS1505でアクセスを受け付けた格納先URLに対応するファイルを外部メモリ211等から取得する(ファイル取得手段)。より具体的には、当該格納先URLに対応する格納先URL1311を持つレコードを格納ファイルテーブル1310から特定し、当該レコードに対応するファイルパス1313に基づいて、要求されたファイルを取得する。
ステップS1525では、クラウドサーバ103のCPU201は、ステップS1524で取得したファイルを携帯端末104に送信する(取得ファイル送信手段)。
ステップS1526では、携帯端末104のCPU201は、クラウドサーバ103から送信されたファイルを受信し、ステップS1527では、携帯端末104のCPU201は、受信したファイルを図18に示すようなファイル閲覧画面1800に表示する。
図18に示すファイル閲覧画面1800は、クラウドサーバ103から取得したファイルを表示するための画面である。閲覧領域1801には取得したファイルをページごとに表示する。上下にスライドさせることで、他のページを表示することができる。また、前へボタン1802と次へボタン1803を備えており、これらのボタンが押下されると現在表示しているページの前のページまたは次のページを表示する。図18に示すページ1804は、図14の紙文書1400に対応するページである。ここで、破線1805に示すように、紙文書1400のフッタ1401に印刷されていた二次元コードやパスワード等が表示されていない。すなわち、印刷されるファイルとアップロードされるファイルとが別であるということである。印刷データを生成するタイミングは、ファイルをアップロードした後であるため、アップロードしたファイルには格納先情報が付与されないことになる。こうすることで、不要な情報を含めずにアップロードすることが可能となる。また、指定されたページだけを抽出したファイルを生成し、これをアップロードしているので、必要な情報だけをアップロードするファイルに含めることが可能である。
以上説明したように、本実施形態によれば、ファイルに対する印刷指示に応じて、当該ファイルをサーバ装置に送信すると共に、当該ファイルをサーバ装置から取得可能な情報を付した紙文書を生成することの可能な効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。