(57)【特許請求の範囲】
【請求項１】
複数の出力装置と接続される情報処理装置であって、
出力データの出力要求を受け付ける受付部と、
前記複数の出力装置の内のいずれかの出力装置を前記出力データの出力先として決定するための条件と、前記条件の利用可能な期間を示す有効期間と、を対応付けた複数の対応情報を参照して、前記出力要求を受け付けた前記出力データの出力時点が含まれている有効期間を有する対応情報において当該有効期間に対応付けられた条件を選択する選択部と、
選択された前記条件と、前記出力データとに基づいて、前記出力データの出力先となる前記出力装置を決定する出力先決定部と、
決定された前記出力装置に対して、前記出力データを振り分ける出力データ振分部と、を備える情報処理装置。
【請求項２】
前記出力時点は、前記出力データの出力日時であって、
前記出力データから、前記出力データの特定の位置に記載された前記出力日時を取得する取得部をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記出力時点は、前記出力データの前記出力要求を受け付けた日時であって、
前記出力要求を受け付けた場合、前記出力要求を受け付けた日時を出力日時として取得する取得部をさらに備える、請求項１に記載の情報処理装置。
【請求項４】
前記条件は、前記出力データに所定の文字列が含まれていることであって、
前記出力先決定部は、前記出力データに前記所定の文字列が含まれている場合、前記条件に対応する前記出力装置を出力先として決定する、請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記出力データから、前記出力データに含まれている前記所定の文字列を抽出する抽出部をさらに備える、請求項４に記載の情報処理装置。
【請求項６】
前記複数の対応情報は、既に設定されている前記条件に、既定の条件である旨を対応付けた対応情報を含み、
前記選択部は、前記出力時点がいずれの前記条件に対応する前記有効期間にも含まれていない場合、前記既定の条件を選択する、請求項１に記載の情報処理装置。
【請求項７】
複数の出力装置と、前記複数の出力装置と接続される情報処理装置とを含む出力システムであって、
出力データの出力要求を受け付ける受付部と、
前記複数の出力装置の内のいずれかの出力装置を前記出力データの出力先として決定するための条件と、前記条件の利用可能な期間を示す有効期間と、を対応付けた複数の対応情報を参照して、前記出力要求を受け付けた前記出力データの出力時点が含まれている有効期間を有する対応情報において当該有効期間に対応付けられた条件を選択する選択部と、
選択された前記条件と、前記出力データとに基づいて、前記出力データの出力先となる前記出力装置を決定する出力先決定部と、
決定された前記出力装置に対して、前記出力データを振り分ける出力データ振分部と、を備える出力システム。
【請求項８】
複数の出力装置と接続される情報処理装置に、
出力データの出力要求を受け付ける受付ステップと、
前記複数の出力装置の内のいずれかの出力装置を前記出力データの出力先として決定するための条件と、前記条件の利用可能な期間を示す有効期間と、を対応付けた複数の対応情報を参照して、前記出力要求を受け付けた前記出力データの出力時点が含まれている有効期間を有する対応情報において当該有効期間に対応付けられた条件を選択する選択ステップと、
選択された前記条件と、前記出力データとに基づいて、前記出力データの出力先となる前記出力装置を決定する出力先決定ステップと、
決定された前記出力装置に対して、前記出力データを振り分ける出力データ振分ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、出力システム、およびプログラムに関する。
【背景技術】
【０００２】
従来、印刷データなどの出力データから抽出した情報等に従って出力先を決定し、決定された出力先の画像形成装置で印刷を実行する技術が知られている。
【０００３】
例えば特許文献１には、印刷データを複数のプリンタのうちの何れかに振り分けるために、全てのユーザと複数のプリンタとの対応関係を予め規定した振り分けの条件を登録しておき、印刷ジョブから抽出したユーザ情報と、予め登録された振り分けの条件とに基づいて、印刷ジョブの送信先のプリンタを決定する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、振り分けの条件の有効期間がないため、振り分けの条件を変更する場合は、手動で切り替えなければならなかった。例えば、医療の現場で出力データの出力先を振り分ける場合、法令の変更により、ある日付から振り分けの条件を変更したい場合がある。そのような場合、振り分けの条件を変更したい時にユーザが手動で切り替える必要があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、出力データの出力先を振り分ける場合、出力データの出力先を決定するための条件をユーザが手動で切り替えることなく、所望の条件に切り替える情報処理装置、出力システム、およびプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、複数の出力装置と接続される情報処理装置であって、出力データの出力要求を受け付ける受付部と、前記複数の出力装置の内のいずれかの出力装置を前記出力データの出力先として決定するための条件と、前記条件の利用可能な期間を示す有効期間と、を対応付けた複数の対応情報を参照して、前記出力要求を受け付けた前記出力データの出力時点が含まれている有効期間を有する対応情報において当該有効期間に対応付けられた条件を選択する選択部と、選択された前記条件と、前記出力データとに基づいて、前記出力データの出力先となる前記出力装置を決定する出力先決定部と、決定された前記出力装置に対して、前記出力データを振り分ける出力データ振分部と、を備える。
【発明の効果】
【０００７】
本発明によれば、出力データの出力先を振り分ける場合、出力先を決定するための条件をユーザが手動で切り替えることなく、所望の条件に切り替えることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態の印刷システムの概略構成の一例を示す図である。
【図２】図２は、実施形態のクライアント端末のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態のクライアント端末が有する機能の一例を示す図である。
【図４】図４は、実施形態の印刷フロープラグインが有する機能の一例を示す図である。
【図５】図５は、選択情報の一例を示す図である。
【図６−１】図６−１は、シナリオの一例を示す図である。
【図６−２】図６−２は、シナリオの一例を示す図である。
【図７】図７は、シナリオの選択処理の流れを示すフローチャートである。
【図８】図８は、シナリオ処理の具体的な流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、出力システム、およびプログラムの実施形態を詳細に説明する。以下では、出力システムの一例として印刷システムを例に挙げて説明するが、これに限られるものではない。本発明が適用される出力システムとしては、出力データの印刷、投影、表示、転送などの出力を行うシステムであればよい。
【００１０】
図１は、実施形態の印刷システムの概略構成の一例を示す図である。図１に示すように、印刷システム１００は、クライアント端末１０と、共有の出力装置２０Ａと、共有の出力装置２０Ｂと、共有の出力装置２０Ｄと、共有の出力装置２０Ｅと、を備え、これらは、ＬＡＮなどのネットワーク３０を介して接続される。
【００１１】
また、印刷システム１００は、クライアント端末１０と接続されたローカルの出力装置２０Ｃと、ローカルの出力装置２０Ｆとを有する。以下の説明では、共有の出力装置２０Ａ、共有の出力装置２０Ｂ、共有の出力装置２０Ｄ、共有の出力装置２０Ｅ、ローカルの出力装置２０Ｃ、およびローカルの出力装置２０Ｆを互いに区別しない場合は、単に「出力装置２０」と称する場合がある。また、以下では、印刷システム１００は、病院内に構築される場合を想定して説明するが、これに限定されるものではない。
【００１２】
クライアント端末１０は、ユーザ（この例では病院内の看護師や事務員等）が利用するＰＣ（Personal  Computer）等の情報処理装置である。なお、クライアント端末１０は、据置型の形態に限らず、例えば携帯型の形態（例えばスマートフォンやタブレットなどの形態）であってもよい。この例では、クライアント端末１０は、請求項の「情報処理装置」に対応している。より具体的な内容については後述する。説明の便宜上、図１では、印刷システム１００は、１台のクライアント端末１０を有する形態を例示しているが、これに限らず、印刷システム１００に含まれるクライアント端末１０の台数は任意である。例えば病院内の複数のユーザが、クライアント端末１０を１台ずつ所持する形態であってもよい。
【００１３】
出力装置２０は、例えばプリンタなどの、記録紙上に画像を形成する画像形成装置である。共有の出力装置２０Ａ、２０Ｂ、２０Ｄ、および２０Ｅは、ネットワーク３０を介してクライアント端末１０に接続される画像形成装置である。ローカルの出力装置２０Ｃおよび２０Ｆは、ケーブル等の有線通信やBluetooth（登録商標）等の無線通信でクライアント端末１０に直接接続される画像形成装置である。出力装置２０は、プリンタ、コピー機、複合機（ＭＦＰ）、レーザプリンタ（ＬＰ）などの画像形成装置の他、プロジェクタやモニタなどの表示出力を実行する投影装置や表示装置等、オーディオなどの音声データを出力する音声出力装置であってもよい。また、印刷システム１００に含まれる出力装置２０の台数は任意である。
【００１４】
図２は、実施形態のクライアント端末のハードウェア構成の一例を示す図である。図２に示すように、クライアント端末１０は、ＣＰＵ５０１、ＲＯＭ５０２、ＨＤＤ５０３、ＲＡＭ５０４、入力装置５０５、表示装置５０６、外部Ｉ／Ｆ５０７、通信Ｉ／Ｆ５０８などを備え、それぞれがバスＢで相互に接続されている。
【００１５】
ＣＰＵ５０１は、ＲＯＭ５０２やＨＤＤ５０３などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、クライアント端末１０全体の制御や各種の機能を実現する演算装置である。
【００１６】
ＲＯＭ５０２は、電源を切っても（クライアント端末１０に対する電力供給が遮断されても）プログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０２には、クライアント端末１０の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００１７】
ＨＤＤ５０３は、プログラムやデータを格納する不揮発性の記憶装置の一例である。ＨＤＤ５０３には、クライアント端末１０全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア（以下、単に「アプリケーション」と称する）などがある。なお、クライアント端末１０は、ＨＤＤ５０３に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００１８】
ＲＡＭ５０４は、プログラムやデータを一時保存する揮発性の記憶装置の一例であり、ＣＰＵ５０１が実行する処理の作業領域（ワークエリア）として機能する。
【００１９】
入力装置５０５は、ユーザが各種の操作信号を入力するのに用いられるデバイスであり、例えばキーボードやマウス、タッチパネルなどで構成され得る。表示装置５０６は、各種の情報（例えばクライアント端末１０による処理の結果等）を表示するデバイスであり、例えば液晶型のディスプレイ装置で構成され得る。なお、例えばタッチパネルなどのように、入力装置５０５と表示装置５０６とが一体で構成される形態であってもよい。また、入力装置５０５および表示装置５０６は必要なときに接続して利用する形態であってもよい。
【００２０】
外部Ｉ／Ｆ５０７は、外部装置とのインターフェースである。図２の例では、外部装置の一例として、記録媒体５１０を挙げているが、これに限られるものではない。クライアント端末１０は、外部Ｉ／Ｆ５０７を介して、記録媒体５１０からのデータの読み出しまたは記録媒体５１０に対するデータの書き込みを行うことができる。記録媒体５１０の一例として、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどが挙げられる。
【００２１】
通信Ｉ／Ｆ５０８は、クライアント端末１０をネットワーク３０に接続するためのインターフェースである。これにより、クライアント端末１０は通信Ｉ／Ｆ５０８を介して、ネットワーク３０に接続することができる。
【００２２】
図３は、実施形態のクライアント端末が有する機能の一例を示す図である。クライアント端末１０のＣＰＵ５０１がプログラムを実行することにより、要求受付部４０、仮想プリンタドライバ５０、実プリンタドライバ６０、プラグイン７０、プラットフォームＡＰＩ８０、プラットフォーム９０を実現する。図３に示す記憶部９５は、例えばＲＯＭ５０２やＨＤＤ５０３等で実現可能である。
【００２３】
要求受付部４０は、クライアント端末１０に予めインストールされた、文書を作成するためのアプリケーションにより提供される機能であり、ユーザからの印刷要求（出力要求）を受け付けると、文書の印刷データ（出力データの一例）を作成して仮想プリンタドライバ５０へ渡す。また、本実施形態では、印刷データを作成する際、印刷データの特定の位置に、印刷データの印刷日時として、作成した日時を埋め込む。例えば、印刷データの特定の位置である左上の所定領域に、「２０１５／１０／２１／１６：０５」などの印刷日時を埋め込む。
【００２４】
仮想プリンタドライバ５０は、要求受付部４０から渡された印刷データを、機種依存しない中間印刷データに変換して出力するドライバである。中間印刷データは、出力装置２０の機種に依存しない印刷データである。中間印刷データの一例として、ＸＰＳ（XML  Paper  Specification）などが挙げられる。なお、中間印刷データも印刷データの一態様であり、出力データの一例であると考えることができる。
【００２５】
実プリンタドライバ６０は、中間印刷データを、出力装置２０が印刷できる形式の実印刷データに変換して出力するドライバである。実印刷データの一例として、ＲＡＷ形式のデータなどが挙げられる。
【００２６】
プラグイン７０は、プラットフォーム９０上で動作するアプリケーションである。図３の例では、プラグイン７０は、プラグイン１、プラグイン２、印刷フロープラグイン１１０を含むが、本実施形態では少なくとも印刷フロープラグイン１１０が含まれていればよい。印刷フロープラグイン１１０は、仮想プリンタドライバ５０から渡された中間印刷データの出力先となる出力装置２０を決定し、実プリンタドライバ６０を利用して、その出力先として決定した出力装置２０から実印刷データを出力させる制御を行う。印刷フロープラグイン１１０の具体的な内容については後述する。
【００２７】
プラットフォームＡＰＩ８０は、プラグイン７０がプラットフォーム９０の機能を利用するためのインターフェースである。プラットフォームＡＰＩ８０は、プラグイン７０からの要求をプラットフォーム９０が受信するために設けられたインタフェース（予め定義されたインタフェース）であり、例えば関数やクラス等により構成される。
【００２８】
プラットフォーム９０は、表示制御部９１、設定部９２、通信部９３を含む。表示制御部９１は、例えば設定画面等を表示する。設定部９２は、プラグイン７０の設定を行う。通信部９３は、外部とのデータ通信を行う。記憶部９５は、設定等の各種のデータを記憶する。
【００２９】
次に、印刷フロープラグイン１１０の具体的な内容を説明する。図４は、実施形態の印刷フロープラグインが有する機能の一例を示す図である。図４に示すように、印刷フロープラグイン１１０は、取得部１１１と、抽出部１１２と、選択部１１３と、出力先決定部１１４と、出力データ振分部１１５とを有する。
【００３０】
取得部１１１は、印刷データの印刷要求を受け付けた場合、印刷データの印刷日時（出力日時）を取得する。具体的には、例えば、取得部１１１は、印刷データから、印刷データの特定の位置に記載された印刷日時を抽出する。本実施形態では、取得部１１１は、仮想プリンタドライバ５０から渡された中間印刷データから、要求受付部４０によって特定の位置に埋め込まれた印刷日時を抽出する。この場合、出力データに記載された日時が印刷日時となる。
【００３１】
また、他の方法により、印刷日時を取得する構成としてもよい。例えば、取得部１１１は、印刷データの印刷要求を受け付けた場合、印刷要求を受け付けた日時を印刷日時として取得する。この場合、印刷要求を受け付けた日時が印刷日時となる。
【００３２】
抽出部１１２は、印刷データから、印刷データの文章中や所定の位置に記載されているキーワード（所定の文字列）を検出して抽出する。ここで、条件とは、出力装置を印刷データの出力先として決定するための条件であって、本実施形態の条件とは、印刷データに予め定められたキーワードが含まれていることである。つまり、印刷データに予め定められたキーワードが含まれている場合、条件が成立していることになる。本実施形態では、例えば、キーワードとして、「外科」「内科」「消化器科」などの文字列が挙げられている。
【００３３】
選択部１１３は、選択情報を参照して、取得した印刷日時に基づくシナリオを選択して、選択したシナリオを出力先としての出力装置を決定するためのシナリオとして設定する。ここで、選択情報とは、印刷日時に対応するシナリオを選択するために用いる情報である。また、シナリオとは、印刷データの印刷要求を受け付けた場合に、当該印刷データの出力先として出力装置を決定するために用いる情報であって、印刷データの振り分けの条件を示している。この選択情報とシナリオとが対応情報に相当する。以下に、選択情報およびシナリオの詳細について説明する。
【００３４】
まず、選択情報について説明する。図５は、選択情報の一例を示す図である。図５に示す選択情報は、３つのシナリオ（シナリオＡ、Ｂ、Ｃ）と１対１に対応する３つの単位情報から構成されている。選択情報の各単位情報は、当該単位情報を識別するＩＤと、有効期間と、既定のシナリオか否か、シナリオとを対応付けた情報である。有効期間とは、対応するシナリオの利用可能な期間を示している。既定のシナリオか否かとは、選択情報に登録された複数のシナリオのうち、そのときに既に設定されているシナリオか否かを示している。図５では、シナリオＡが既定のシナリオである場合を示し、「○」で既定のシナリオである旨が示されている。
【００３５】
シナリオＡに対応する単位情報に着目すると、シナリオＡに対応する単位情報に含まれるＩＤは「１」であり、シナリオＡの利用できる有効期間は「２０１５／４／１〜２０１６／３／３１」である。そして、シナリオＡは既定のシナリオとなっている。
【００３６】
同様に、シナリオＢに対応する単位情報に着目すると、シナリオＢに対応する単位情報に含まれるＩＤは「２」であり、シナリオＢの利用できる有効期間は「２０１６／４／１〜２０１７／３／３１」である。そして、シナリオＢは既定のシナリオではない。
【００３７】
同様に、シナリオＣに対応する単位情報に着目すると、シナリオＣに対応する単位情報に含まれるＩＤは「３」であり、シナリオＣの利用できる有効期間は「２０１７／４／１〜２０１８／３／３１」である。そして、シナリオＣは既定のシナリオではない。
【００３８】
なお、図５の選択情報では、３つのシナリオに対応する単位情報が登録されているが、シナリオの数に制限はない。
【００３９】
図４に戻り、選択部１１３は、選択した選択情報を参照して、取得部１１１によって取得した印刷日時が有効期間に含まれているシナリオを選択して、出力先を決定するために用いるシナリオとして設定する。例えば、選択部１１３は、取得部１１１によって取得した印刷日時が「２０１５／１０／２１／１６：０５」であった場合、図５の選択情報から印刷日時が有効期間に含まれているシナリオＡを選択する。
【００４０】
また、選択部１１３は、取得部１１１によって取得した印刷日時がいずれのシナリオに対応する有効期間にも含まれていない場合、既定のシナリオを選択する。例えば、選択部１１３は、取得部１１１によって取得した印刷日時が「２０１５／３／３１／１２：００」であった場合、図５の選択情報のいずれの有効期間にも含まれていないため、既定のシナリオであるシナリオＡを選択する。この場合は、当該既定のシナリオ（シナリオＡ）が既に設定されていることになる。
【００４１】
次に、シナリオについて説明する。図６−１、図６−２は、シナリオの一例を示す図である。図６−１、６−２に示すシナリオは、出力装置ごとに、出力装置を印刷データの出力先として決定するための条件を対応付けている。
【００４２】
図６−１に示すシナリオＡには、３台の出力装置（図１に示す出力装置２０Ａ、出力装置２０Ｂ、および出力装置２０Ｃ）と１対１に対応する３つの単位情報から構成されている。シナリオ各単位情報は、該単位情報を識別するＩＤと、ルールと、キーワードと、アクションとを対応付けた情報である。キーワードとは、出力装置を印刷データの出力先として決定するための条件を成立させるための文字列であって、例えば、印刷データの文章中に記載されている。アクションとは、印刷データの出力先を示している。ルールは、キーワードとアクションとの関係を示している。
【００４３】
出力装置２０Ａに対応する単位情報に着目すると、出力装置２０Ａに対応する単位情報のＩＤは「１」を示している。そして、該単位情報の条件（ルールの成立する条件）は、キーワードが「外科」であることを示している。また、該単位情報のアクションは、出力先を「出力装置２０Ａ」にすることを示している。そして、該単位情報のルールは、「外科」を検出したら出力装置２０Ａへ出力することを示している。
【００４４】
同様に、出力装置２０Ｂに対応する単位情報に着目すると、出力装置２０Ｂに対応する単位情報のＩＤは「２」を示している。そして、該単位情報の条件（ルールの成立する条件）は、キーワードが「内科」であることを示している。また、該単位情報のアクションは、出力先を「出力装置２０Ｂ」にすることを示している。そして、該単位情報のルールは、「内科」を検出したら出力装置２０Ｂへ出力することを示している。
【００４５】
同様に、出力装置２０Ｃに対応する単位情報に着目すると、出力装置２０Ｃに対応する単位情報のＩＤは「３」を示している。そして、該単位情報の条件（ルールの成立する条件）は、キーワードが「消化器科」であることを示している。また、該単位情報のアクションは、出力先を「出力装置２０Ｃ」にすることを示している。そして、該単位情報のルールは、「消化器科」を検出したら出力装置２０Ｃへ出力することを示している。
【００４６】
また、図６−２に示すシナリオＢも、シナリオＡと同様の構成となっており、３台の出力装置（図１に示す出力装置２０Ｄ、出力装置２０Ｅ、および出力装置２０Ｆ）と１対１に対応する３つの単位情報から構成されている。詳細は、シナリオＡと同様であるため省略する。
【００４７】
このように、日時よって実行するシナリオを変更したい場合は、予め複数のシナリオに対してそれぞれ有効期間を定めておき、印刷日時に応じてシナリオを切り替えて、当該シナリオにより印刷データを出力先する出力装置を決定し、決定した出力装置に印刷データを振り分ける。なお、上記の選択情報およびシナリオの格納場所は任意であり、例えば記憶部９５に記憶されていてもよいし、印刷フロープラグイン１１０が保持してもよい。さらに、選択情報およびシナリオを、ネットワーク３０を介した外部装置に記憶しておき、印刷要求を受け付けた際に印刷日時とキーワードとを当該外部装置に送信して、決定されたシナリオを取得する構成としてもよい。
【００４８】
出力先決定部１１４は、選択部１１３によって選択されたシナリオと、印刷データとに基づいて、印刷データの出力先となる出力装置を決定する。具体的には、出力先決定部１１４は、印刷データに条件が成立するためのキーワードが含まれている場合、選択部１１３によって選択されたシナリオを参照して、抽出部１１２により抽出されたキーワードに対応する出力装置を出力先として決定する。本実施の形態では、例えば、抽出されたキーワードが「外科」であり、選択されたシナリオがシナリオＡ（図６−１）であった場合、出力先決定部１１４は、仮想プリンタドライバ５０から渡された中間印刷データの出力先として「外科」に対応する出力装置２０Ａを決定する。
【００４９】
出力データ振分部１１５は、出力先決定部１１４によって決定された出力装置２０に対して、出力データを振り分ける。この例では、出力データ振分部１１５は、出力先決定部１１４によって出力先として決定された出力装置２０に対して、仮想プリンタドライバ５０から渡された中間印刷データを振り分ける。そして、実プリンタドライバ６０を利用して、その出力先として決定された出力装置２０から印刷データを出力させる制御を行う。
【００５０】
次に、シナリオの選択処理について説明する。図７は、シナリオの選択処理の流れを示すフローチャートである。
【００５１】
図７に示すように、まず、要求受付部４０によって印刷要求を受け付けると、取得部１１１は、仮想プリンタドライバ５０から渡された中間印刷データから、要求受付部４０によって印刷データに埋め込まれた印刷日時を取得する（ステップＳ１）。なお、図７では、印刷データに埋め込まれた日時を抽出することで印刷日時を取得しているが、上述したように、印刷要求を受けた日時を印刷日時として取得してもよい。
【００５２】
そして、抽出部１１２は、中間印刷データから、当該中間印刷データの文章中や所定の位置に記載されたキーワードを検出して抽出する（ステップＳ２）。選択部１１３は、選択情報を参照して、取得した印刷日時が有効期間内に含まれているシナリオがあるか否かを判断する（ステップＳ３）。印刷日時が有効期間内に含まれているシナリオがあった場合（ステップＳ３：Ｙｅｓ）、選択情報から該当するシナリオを選択して、出力先を決定するために用いるシナリオとして設定する（ステップＳ４）。
【００５３】
一方、印刷日時が有効期間内に含まれているシナリオがなかった場合（ステップＳ３：Ｎｏ）、既定のシナリオを選択する（ステップＳ５）。この場合、既定のシナリオは既に設定されていることになる。そして、選択されたシナリオによって、中間印刷データを出力先に振り分けるためのシナリオ処理を実行する（ステップＳ６）。
【００５４】
次に、シナリオ処理の具体的な流れを説明する。図８は、シナリオ処理の具体的な流れを示すフローチャートである。印刷フロープラグイン１１０の出力先決定部１１４は、選択部１１３によって選択されたシナリオによって印刷データの出力先を決定する。図８では、図６−１に示すシナリオＡが選択された場合のシナリオ処理について説明する。
【００５５】
図８に示すように、出力先決定部１１４は、抽出されたキーワードがＩＤ「１」に示すキーワードか否か、すなわち、ＩＤ「１」に対応する条件が成立するか否かを判断する（ステップＳ１１）。具体的には、シナリオＡの場合、出力先決定部１１４は、抽出部１１２によって抽出されたキーワードが、出力装置２０Ａを出力先として決定するためのキーワード「外科」に合致しているか否かを判断する。
【００５６】
ステップＳ１１の結果が肯定の場合（ステップＳ１１：Ｙｅｓ）、印刷フロープラグイン１１０は、ＩＤ「１」に対応するアクションを実行する（ステップＳ１２）。具体的には、シナリオＡの場合、出力先決定部１１４は、仮想プリンタドライバ５０から渡された中間印刷データの出力先として出力装置２０Ａを決定する。そして、出力データ振分部１１５は、出力装置２０Ａに対して中間印刷データを振り分け、実プリンタドライバ６０を利用して、出力装置２０Ａから実印刷データを出力させる制御を行う。
【００５７】
上述のステップＳ１１の結果が否定の場合（ステップＳ１１：Ｎｏ）、出力先決定部１１４は、抽出されたキーワードがＩＤ「２」に示すキーワードか否か、すなわち、ＩＤ「２」に対応する条件が成立するか否かを判断する（ステップＳ１３）。具体的には、シナリオＡの場合、出力先決定部１１４は、抽出部１１２によって抽出されたキーワードが、出力装置２０Ｂを出力先として決定するためのキーワード「内科」に合致しているか否かを判断する。
【００５８】
ステップＳ１３の結果が肯定の場合（ステップＳ１３：Ｙｅｓ）、印刷フロープラグイン１１０は、ＩＤ「２」に対応するアクションを実行する（ステップＳ１４）。具体的には、シナリオＡの場合、出力先決定部１１４は、仮想プリンタドライバ５０から渡された中間印刷データの出力先として出力装置２０Ｂを決定する。そして、出力データ振分部１１５は、出力装置２０Ｂに対して中間印刷データを振り分け、実プリンタドライバ６０を利用して、出力装置２０Ｂから実印刷データを出力させる制御を行う。
【００５９】
上述のステップＳ１３の結果が否定の場合（ステップＳ１３：Ｎｏ）、出力先決定部１１４は、抽出されたキーワードがＩＤ「３」に示すキーワードか否か、すなわち、ＩＤ「３」に対応する条件に成立するか否かを判断する（ステップＳ１５）。具体的には、シナリオＡの場合、出力先決定部１１４は、抽出部１１２によって抽出されたキーワードが、出力装置２０Ｃを出力先として決定するためのキーワード「消化器科」に合致しているか否かを判断する。
【００６０】
ステップＳ１５の結果が肯定の場合（ステップＳ１５：Ｙｅｓ）、印刷フロープラグイン１１０は、ＩＤ「３」に対応するアクションを実行する（ステップＳ１６）。具体的には、シナリオＡの場合、出力先決定部１１４は、仮想プリンタドライバ５０から渡された中間印刷データの出力先として出力装置２０Ｃを決定する。そして、出力データ振分部１１５は、出力装置２０Ｃに対して中間印刷データを振り分け、実プリンタドライバ６０を利用して、出力装置２０Ｃから実印刷データを出力させる制御を行う。
【００６１】
以上のように、本実施形態の印刷システムでは、印刷要求を受け付けた際に取得部１１１により取得した印刷日時に基づいて、選択情報から有効期間内のシナリオを選択し、選択されたシナリオと、印刷データから抽出したキーワードとに基づいて、印刷データ（出力データ）の出力先となる出力装置２０を決定する。つまり、本実施形態の印刷システムでは、複数のシナリオに対して予め有効期間を設定しておき、印刷要求を受け付けた際に取得した印刷日時が有効期間に含まれているシナリオを選択して印刷データの出力先を決定する。これにより、印刷データの出力先を振り分ける場合、出力データの出力先を決定するためのシナリオをユーザが手動で切り替えることなく、所望のシナリオに切り替えて印刷データを印刷することができる。
【００６２】
また、本実施の形態では、取得部１１１によって印刷日時を取得して、取得した印刷日時が有効期間に含まれているシナリオを選択しているが、日時以外でもよい。すなわち、時間を問わない印刷日を取得して、当該印刷日が有効期間に含まれているシナリオを選択する構成としてもよい。また、シナリオに有効期限として時間のみを設定し、日時を問わず印刷時刻を取得して、取得した印刷時刻が有効期限に含まれているシナリオを選択する構成としてもよい。この場合、例えば、朝と夕方とに利用する出力装置を替えて印刷データを振り分けることができる。なお、印刷日時、印刷日、印刷時刻等を含めて印刷時点とする。
【００６３】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００６４】
本実施形態のクライアント端末１０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００６５】
また、本実施形態のクライアント端末１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のクライアント端末１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施形態のクライアント端末１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００６６】
本実施の形態のクライアント端末１０で実行されるプログラムは、上述した各部（取得部、選択部、抽出部、出力先決定部、出力データ振分部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。また、例えば、上述した各部の機能のうちの一部または全部が専用のハードウェア回路で実現されてもよい。
【符号の説明】
【００６７】
１０  クライアント端末
２０  出力装置
３０  ネットワーク
４０  要求受付部
５０  仮想プリンタドライバ
６０  実プリンタドライバ
７０  プラグイン
８０  プラットフォームＡＰＩ
９０  プラットフォーム
９１  表示制御部
９２  設定部
９３  通信部
９５  記憶部
１１０  印刷フロープラグイン
１１１  取得部
１１２  抽出部
１１３  選択部
１１４  出力先決定部
１１５  出力データ振分部
【先行技術文献】
【特許文献】
【００６８】
【特許文献１】特開２０１３−００８３５３号公報
【図１】
0006558224.tif 000002
【図２】
0006558224.tif 000003
【図３】
0006558224.tif 000004
【図４】
0006558224.tif 000005
【図５】
0006558224.tif 000006
【図６−１】
0006558224.tif 000007
【図６−２】
0006558224.tif 000008
【図７】
0006558224.tif 000009
【図８】
0006558224.tif 000010