(57)【特許請求の範囲】
【請求項１】
コンピュータを、
複数のプリンタドライバ各々から、当該複数のプリンタドライバ各々が有する機能を取得する取得手段と、
前記取得手段で取得された前記各々の機能が、プリンタドライバで実現されるか、または、画像形成装置で実現されるかを判定する判定手段と、
前記各々の機能のうち、前記判定手段によりプリンタドライバで実現されると判定された機能を選択させる第１選択画面を表示装置に表示する表示制御手段と、
前記第１選択画面に表示された機能のうち、選択された機能が実現されるように、前記判定手段によりプリンタドライバで実現されると判定された機能を統合する統合手段と、して機能させるための画像形成制御プログラム。
【請求項２】
前記統合手段は、機能に対応するフィルタを並び替えることで、前記判定手段によりプリンタドライバで実現されると判定された機能を統合し、
前記画像形成装置で実現される機能についてのフィルタを、前記プリンタドライバで実現される機能についてのフィルタよりも、後に配置させて並び替えることを特徴とする請求項１記載の画像形成制御プログラム。
【請求項３】
前記表示制御手段は、画像形成された記録媒体の出力先となる画像形成装置、または、当該画像形成装置に対応するプリンタドライバ、を選択させる第２選択画面を前記表示装置に表示させる請求項１または２記載の画像形成制御プログラム。
【請求項４】
前記表示制御手段は、前記画像形成装置が実現する機能を有するプリンタドライバが選択されると当該機能を選択可能に表示させ、当該プリンタドライバが選択されなくなると当該機能を表示させないことを特徴とする請求項３記載の画像形成制御プログラム。
【請求項５】
前記表示制御手段は、複数のプリンタドライバを表示させ、当該複数のプリンタドライバの中から、前記取得手段が機能を取得する複数のプリンタドライバを選択させる第３選択画面を表示させることを特徴とする請求項１〜４何れか１項に記載の画像形成制御プログラム。
【請求項６】
前記統合手段は、前記表示装置に表示された前記第１選択画面で選択された機能を実現するフィルタを用いて、機能を統合することを特徴とする請求項１〜５何れか１項に記載の画像形成制御プログラム。
【請求項７】
新たなプリンタドライバがインストールされた場合、または、インストールされていたプリンタドライバがアンインストールされた場合に、
前記取得手段は、前記新たなプリンタドライバがインストールされた後、または、前記インストールされていたプリンタドライバがアンインストールされた後に、インストールされているプリンタドライバから機能を取得し、
前記判定手段は、当該取得した機能がプリンタドライバで実現されるか、または、画像形成装置で実現されるかを判定し、
前記表示制御手段は、プリンタドライバで実現されると判定された機能も追加して前記第１選択画面に表示させ、
前記統合手段は、当該第１選択画面に追加して表示された機能も統合することを特徴とする請求項１〜６何れか１項に記載の画像形成制御プログラム。
【請求項８】
前記機能統合プリンタドライバがインストールプロセス中に、前記取得手段、前記判定手段、前記表示制御手段、前記統合手段それぞれは各処理を行なうことを特徴とする請求項１〜７何れか１項記載の画像形成制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成制御プログラムに関する。
【背景技術】
【０００２】
近年、複数のプリンタドライバが有する機能を統合する技術が提案されている。例えば、特許文献１の技術では、複数のプリンタドライバから機能を取得し、その機能を統合したＵＩを作成する。そして、その統合ＵＩで設定された印刷設定情報を各プリンタドライバに送信する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
例えば、２つのプリンタドライバＡ、Ｂがそれぞれ機能ａ、ｂを有し、機能ａはプリンタドライバＡで実現され、機能ｂはプリンタドライバＢで実現される場合には、特許文献１記載の技術では、ユーザは機能ａ、ｂを同時に選択して実現することが出来なかった。このように、引用文献１記載の技術では、特定のプリンタドライバのみで実現される複数の機能をユーザは、同時に選択することが出来ないという問題があった。
【０００４】
本発明によれば、ユーザに対して、特定のプリンタドライバのみで実現される複数の機能を同時に選択させることが出来る画像形成制御プログラムを提供する。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、複数のプリンタドライバ各々から、当該複数のプリンタドライバ各々が有する機能を取得する取得手段と、前記取得手段で取得された前記各々の機能が、プリンタドライバで実現されるか、または、画像形成装置で実現されるかを判定する判定手段と、前記各々の機能のうち、前記判定手段によりプリンタドライバで実現されると判定された機能を選択させる第１選択画面を表示装置に表示する表示制御手段と、前記第１選択画面に表示された機能のうち、選択された機能が実現されるように、前記判定手段によりプリンタドライバで実現されると判定された機能を統合する統合手段と、を有することを特徴とする画像形成制御プログラムを提案する。
【発明の効果】
【０００６】
本発明の画像形成制御プログラムであれば、ユーザは特定のプリンタドライバのみで実現される複数の機能を同時に選択することが出来る。
【図面の簡単な説明】
【０００７】
【図１】パイプ＆フィルタを説明するための図。
【図２】本実施例の画像形成システムの機能構成例を示す図。
【図３】本実施例のＸＰＳドライバの機能構成例を示した図。
【図４】本実施例の機能統合プリンタドライバの機能構成例を示した図。
【図５】本実施例の機能統合プリンタドライバの処理フローを示した図。
【図６】本実施例のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓの一例を示す図。
【図７】プリンタドライバＡ、Ｂが有する機能の一例を示す図。
【図８】本実施例のプリントチケット情報の一例を示した図。
【図９】本実施例のプリントチケット情報の設定値などを示した図。
【図１０】本実施例のプリンタドライバＡ、Ｂの機能実現箇所の一例を示した図。
【図１１】本実施例の第１選択画面の一例を示した図。
【図１２】本実施例の機能と機能実現箇所との対応の一例を示した図。
【図１３】本実施例のフィルタパイプラインの構成例を示した図。
【図１４】本実施例の第２選択画面の一例を示した図。
【図１５】別の実施形態の第２選択画面の一例を示した図。
【図１６】本実施例の第３選択画面の一例を示した図。
【図１７】別の実施形態の第１選択画面などの一例を示した図。
【図１８】機能と、当該機能に対応するフィルタとの対応を示した図。
【図１９】別の実施形態の処理フローを示した図。
【図２０】別の実施形態の第１選択画面の一例を示した図。
【発明を実施するための形態】
【０００８】
［実施形態１］
まず、用語の説明を行なう。本実施例の画像形成制御プログラムは、後述するように、複数のプリンタドライバが有する機能を統合するものであることから、「機能統合プリンタドライバ」として説明する。また、本実施例の機能統合プリンタドライバで用いられるパイプ＆フィルタについて説明する。
【０００９】
図１中に示されるように、各フィルタは接続される。フィルタは、入力された画像データに対して変換を施し、その結果を出力する。フィルタから出力された画像データは次のフィルタに伝達する。サービスは、画像データの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。すなわち、本実施のプリンタドライバでは、各サービスを画像データに対する「変換」の連続として捉える。
【００１０】
また、画像形成装置とは例えば、プリンタ、ファクシミリ、複写装置、プロッタ、これらの複合機などである。また、記録媒体は、例えば、紙、糸、繊維、皮革、金属、プラスチック、ガラス、木材、セラミックスなどの媒体である。以下では、記録媒体を用紙として説明する。画像形成とは、文字や図形、パターンなどの画像を記録媒体に付与すること、液滴（インク）を記録媒体に着弾させることを意味する。以下では、画像形成を印刷として説明する。
［画像形成システム］
図２に、本実施例の画像形成システム１０００の機能構成例を示す。本実施例の画像形成システム１０００は、情報処理装置６００と、当該情報処理装置６００にネットワーク（図示せず）で接続されているＮ個（Ｎは自然数）の画像形成装置１００ｎ（ｎ＝１，...，Ｎ）と、を含む。また、情報処理装置６００は、スプーラ１６０とアプリケーション１８０とを含む。
【００１１】
スプーラ１６０は、Ｎ個のプリンタドライバ１５０ｎ（ｎ＝１，...，Ｎ）を含む。Ｎ個のプリンタドライバ１５０ｎのそれぞれは、Ｎ個の画像形成装置１００ｎ（ｎ＝１，...，Ｎ）に対応している。スプーラ１６０は、基本ソフトウェアの印刷機能を管理するソフトウェアモジュールであり、Ｎ個のプリンタドライバ１５０ｎは、スプーラ１６０の一部として動作する。また、以下の説明では、画像形成装置、プリンタドライバをまとめていう場合には、画像形成装置１００、プリンタドライバ１５０という。
【００１２】
また、情報処理装置６００には、ユーザにより、本実施例の機能統合プリンタドライバ２００がインストールされる。また、情報処理装置６００は、表示装置３００、入力装置４００、記憶装置５００と、を具備する。表示装置３００は、ＣＲＴやＬＣＤ、ＬＥＤなどで構成されるものであり、情報処理装置６００が有する機能を、ユーザが利用する際のＵＩ（User Interface）として機能するものである。入力装置４００は、キーボード、タッチパネル、マウスなどのポインティングデバイス、音声入力装置などで構成される。
【００１３】
記憶装置５００は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）などであり、実行される基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する。
【００１４】
また、アプリケーション１８０の一部は文書作成ソフトウェア、画像作成・編集・加工ソフトウェア、表計算ソフトウェア、印刷機能などを備えている。この印刷機能によって、文書データや画像データなどの印刷ジョブが機能統合プリンタドライバ２００に対して送信される。そして、機能統合プリンタドライバ２００は、アプリケーション１８０からの印刷ジョブに応じ、必要な印刷データを生成する。そして、画像形成装置１００ｎのうちの何れか１つに当該生成された印刷データを送信し、印刷させる。
【００１５】
図３にＸＰＳドライバのブロック図を示す。アプリケーション１８０は印刷対象となる画像データ（例えば、ドキュメント）を指示する。ユーザがプリンタドライバＵＩ３９０で印刷設定すると、アプリケーション１８０はプリンティングＡＰＩ７０２を呼び出すことで当該画像データに基づいて印刷を実行する。ここで、印刷設定とは、印刷枚数を設定したり、ステープル機能や両面印刷機能などの様々な機能を設定することを入力することである。プリンタドライバＵＩ３９０は、アプリケーションに印刷に付加する機能を選択および設定される表示画面であり、表示装置３００に表示される。
【００１６】
プリンティングＡＰＩ７０２は、アプリケーション１８０からの命令を受けて印刷データをスプールファイルとして、スプールフォルダ７０４に書き出す。スプールフォルダ７０４にはアプリケーション１８０からプリンタドライバ１５０に渡されるデータが格納される。そして、プリンタドライバは、スプールフォルダ７０４に基づいて画像形成装置１００に印刷させる。
【００１７】
プリンタドライバレンダリング１５０は、ＯＳのフィルタパイプラインマネージャ７０６により、フィルタパイプラン構成ファイル７０１に記載されたＭ個（Ｍは自然数）のフィルタ群（フィルタ７０８１〜７０８Ｍ）を利用して印刷処理を行う。そして、プリンタドライバレンダリング１５０は、スプールファイルを画像形成装置１００が読み取れる形式に変換する。また、プリンタドライバとはプリンタドライバＵＩとプリンタドライバレンダリング１５０の両方を含んだものである。
【００１８】
次に実施形態１の機能統合プリンタドライバ２００の処理について説明する。図４の実施形態１の機能統合プリンタドライバ２００の機能構成例を示し、図５に実施形態１の機能統合プリンタドライバ２００の処理フローを示す。本実施例の機能統合プリンタドライバ２００は、複数のプリンタドライバ１５０ｎ（ｎ＝１，...，Ｎ）が有する機能を統合し、プリンタドライバＵＩ３９０（図３参照）として、当該統合された機能を選択可能に表示装置３００に表示させる。また、図５の処理フローは、例えば、当該機能統合プリンタドライバ２００のインストール後、ユーザが初めて情報処理装置６００により印刷を行なう場合に、印刷画面を開いたときに行なわれる。
【００１９】
まず、取得手段２０２が、情報処理装置６００にインストールされているプリンタドライバ１５０１〜１５０Ｎの一覧を取得する（ステップＳ２）。以下の説明では、インストールされているプリンタドライバはプリンタドライバＡ、プリンタドライバＢの２つであるとする。
【００２０】
そして、取得手段２０２は後述するステップＳ４、Ｓ６、Ｓ８、Ｓ１０の処理により、全てのプリンタドライバが有する印刷機能（以下、単に「機能」という。）や印刷設定（以下、「設定値」という。）やＵＩ用語情報の一覧を取得する。
【００２１】
次に、取得手段２０２は、印刷能力が未取得であるプリンタドライバが残存しているか否かを判断する（ステップＳ４）。この例では、プリンタドライバＡおよびプリンタドライバＢの何れからも、印刷能力を取得していないことから（ステップＳ４のＹｅｓ）、ステップＳ６に移行する。
【００２２】
次に、取得手段２０２は、プリンタドライバＡが、ＸＰＳドライバであるかＧＤＩドライバであるかを判定する（ステップＳ６）。取得手段２０２が当該判定を行なう理由は、本実施例のフィルタの構成によって機能を実現する手法が、ＸＰＳドライバで実現可能であり、ＧＤＩドライバでは実現不可能であるからである。つまり、本実施例では、ＸＰＳドライバは、印刷能力を取得する対象のプリンタドライバとなる。
【００２３】
取得手段２０２により、ＸＰＳドライバであると判断された場合には（ステップＳ６のＹｅｓ）、ステップＳ８に移行する。また、取得手段２０２により、ＸＰＳドライバでないと判断された場合には（ステップＳ６のＮｏ）、ステップＳ４に戻り、ＸＰＳドライバではないプリンタドライバからは、印刷能力を取得しない。
【００２４】
取得手段２０２は、ステップＳ６のＸＰＳドライバであるか否かの判断は、例えば、ステップＳ２で取得したプリンタドライバの一覧の順番で行なえばよい。この例では、プリンタドライバＡ、プリンタドライバＢ何れも、ＸＰＳドライバであるとする。
【００２５】
ステップＳ６でＹｅｓと判断されると、取得手段２０２は、ＸＰＳドライバであるプリンタドライバＡから、印刷能力を取得する（ステップＳ８）。そして、取得手段２０２は、取得した印刷能力を解析することで、機能を取得する（ステップＳ１０）。
【００２６】
ここで、印刷能力が、「ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ」である場合について説明する。ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓとは、ＸＭＬ形式で記載されたプリンタドライバの機能のリストであり、当該リストには、全機能と、全機能に対する設定値がキーワードで記載されている。取得手段２０２は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを解析することで、プリンタドライバがどのような機能、設定値をサポートしているか、または、各機能や各設定値に対する用語の情報を判別する。
【００２７】
図６にＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓの一例について示す。１つのＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓタグ８０１内に、機能を示すＦｅａｔｕｒｅタグ８０２が複数存在する。更に、Ｆｅａｔｕｒｅタグ８０２内の複数のＯｐｔｉｏｎタグ８０３が機能の設定値の候補となる。ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓでは、画像形成装置をサポートしている機能及び、それらの設定項目の全てが列挙されている。
【００２８】
また、本実施例では各プリンタドライバの機能において、共通の機能については、１つの機能として取り扱う。つまり、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓにおいて、同一のキーワードの場合には同じ機能であるとし、異なるキーワードの場合には異なる機能であるとする。例えば、プリンタドライバＡが集約機能を有し、プリンタドライバＢも集約機能を有する場合に、本実施例では、プリンタドライバＡの機能とプリンタドライバＢの機能を統合すると、集約機能を１つの機能として取り扱う。このようにして、取得手段２０２は、１つのＸＰＳドライバから１以上の機能を取得する。
【００２９】
そして、取得手段２０２は、インストールされている全てのプリンタドライバの機能を取得すると（ステップＳ４のＮｏ）、ステップＳ１２に移行する。
【００３０】
このように、取得手段２０２は、ステップＳ４〜ステップＳ１０までの処理を繰り替えして、全てのインストールされたプリンタドライバ（この例では、プリンタドライバＡ、Ｂ）それぞれが有する機能を取得する。なお、取得手段２０２による、プリンタドライバが有する機能の取得の手法は上記の方法に限られない。
【００３１】
図７に、取得手段２０２が取得した機能の一覧例を示す。図７の例では、取得手段２０２は、プリンタドライバＡからは、Ｗａｔｅｒｍａｒｋ機能、集約機能、ステープル機能を取得し、プリンタドライバＢからは、集約機能、拡大縮小機能を取得したとする。また、本実施例の機能については、画像データを各機能に対応するフィルタに適用することで、実現されるとする。
【００３２】
次に、ステップＳ１２について説明する。ステップＳ１２では、判定手段２０４が、それぞれの機能が画像形成装置１００で実現されるか、プリンタドライバ１５０で実現されるか、を判定する。判定手段２０４による判定手法については様々あるが、ここでは、一例として、プリントチケット情報を用いた例について説明する。
【００３３】
プリントチケット情報とは、ＸＭＬ形式で記載されたプリンタドライバの現在設定されている設定値の一覧をいう。当該設定値とは、上述したＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに示されている値である。また、プリントチケット情報は、ＸＰＳデータにも含まれ、ＸＰＳドライバが有する各フィルタはＸＰＳデータに含まれているプリントチケット情報から各設定値を認識して、それに伴い動作を実行する。
【００３４】
図８に、プリントチケット情報の一例を示す。また、図８に示すプリントチケット情報は、図６記載のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに対応するものである。１つのプリントチケットタグ７０１内に、機能を示すＦｅａｔｕｒｅタグ７０２が複数存在する。更に、Ｆｅａｔｕｒｅタグ７０２の中に存在するＯｐｔｉｏｎタグ７０３が現在のＦｅａｔｕｒｅで示される機能の設定値となる。
【００３５】
図９に、プリントチケット情報を用いた場合の判定手段２０４による判定手法を説明するための図を示す。図９では、判定手段２０４は任意のデータに対してフィルタ処理を行い、「フィルタ処理前のプリントチケット情報の設定値（以下、「フィルタ処理前設定値」という。）」と、「フィルタ処理後のプリントチケット情報の設定値（以下、「フィルタ処理後設定値」という。）」との変遷を示している。本実施例では、判定手段２０４はフィルタ処理前設定値と、フィルタ処理後設定値と、を比較する。判定手段２０４が、「フィルタ処理前設定値」と、「フィルタ処理後設定値」とが、異なると判断すると、当該機能は、プリンタドライバ１５０で実現されると、判定する。また、判定手段２０４が、「フィルタ処理前設定値」と、「フィルタ処理後設定値」とが、同一と判断すると、当該機能は、画像形成装置１００で実現されると、判定する。
【００３６】
図９の例では、プリンタドライバＡが有するＷａｔｅｒｍａｒｋ機能において、フィルタ処理前設定値は「有効」であり、フィルタ処理後設定値は「無効」である。従って、フィルタ処理前設定値とフィルタ処理後設定値とは異なるので、判定手段２０４は、Ｗａｔｅｒｍａｒｋ機能は、プリンタドライバ１５０で実現されると判定する。
【００３７】
また、プリンタドライバＡが有する集約機能において、フィルタ処理前設定値は「２ｉｎ１」であり、フィルタ処理後設定値は「１ｉｎ１」である。従って、フィルタ処理前設定値とフィルタ処理後設定値とは異なるので、判定手段２０４は、集約機能はプリンタドライバ１５０で実現されると判定する。
【００３８】
また、プリンタドライバＡが有するステープル機能において、フィルタ処理前設定値は「左綴じ」であり、フィルタ処理後設定値は「左綴じ」である。従って、フィルタ処理前設定値とフィルタ処理後設定値とは同一となるので、判定手段２０４は、ステープル機能は画像形成装置１００で実現されると判定する。
【００３９】
また、プリンタドライバＢが有する集約機能において、フィルタ処理前設定値は「２ｉｎ１」であり、フィルタ処理後設定値は「２ｉｎ１」である。従って、フィルタ処理前設定値とフィルタ処理後設定値とは同一であるので、判定手段２０４は、集約機能は画像形成装置１００で実現されると判定する。
【００４０】
また、プリンタドライバＡが有する拡大縮小機能において、フィルタ処理前設定値は「２００％」であり、フィルタ処理後設定値は「１００％」である。従って、フィルタ処理前設定値とフィルタ処理後設定値とは異なるので、判定手段２０４は、拡大縮小機能はプリンタドライバ１５０で実現されると判定する。
【００４１】
このようにして、判定手段２０４は、各プリンタドライバから取得した全ての機能について、画像形成装置１００で実現するものか、プリンタドライバ１５０で実現するものかを判定する。図１０に、判定手段２０４の処理結果、つまり、取得した機能と、当該機能の実現箇所について示す。そして、ステップＳ１４の処理に移行する。
【００４２】
次に、表示制御手段２０６は、取得した各々の機能のうち、判定手段２０４によりプリンタドライバで実現されると判定された機能を選択させる第１選択画面３０１を表示装置３００に表示する。図１１に、第１選択画面３０１の一例を示す。図１１の例では、Ｗａｔｅｒｍａｒｋ機能についての選択箇所３０２、集約機能についての選択箇所３０４、拡大縮小機能についての選択箇所３０６とが含まれている。また、上述のように、各プリンタドライバの機能において、共通の機能については、１つの機能として取り扱う。この例では、プリンタドライバＡの集約機能と、プリンタドライバＢの集約機能についての１つの機能として扱う。
【００４３】
Ｗａｔｅｒｍａｒｋ機能についての選択箇所３０２については、ユーザがチェックボックスにチェックすることで、「有効」または「無効」を選択することが出来る。また、集約機能についての選択箇所３０４については、「しない」「２ｉｎ１」「４ｉｎ１」を選択することが出来る。また、拡大縮小機能についての選択箇所３０６については、「１００％」「５０％」「２００％」を選択することが出来る。
【００４４】
また、ユーザは設定した値でよければ、ＯＫボタン３０８を押下し、キャンセルするのであれば、キャンセルボタン３１０を押下する。
【００４５】
このように、表示制御手段２０６は、判定手段２０４により、プリンタドライバ１５０で実現されると判定された機能（この例では、Ｗａｔｅｒｍａｒｋ機能、集約機能、拡大縮小機能）についての第１選択画面３０１を生成して、表示装置３００に表示させる。
【００４６】
次に、統合手段２０８は、表示装置３００に表示された機能のうち、選択された機能が実現されるように、判定手段２０４によりプリンタドライバで実現されると判定された機能を統合する。図１２に、統合された機能の一例を示す。図１２の例では、Ｗａｔｅｒｍａｒｋ機能、集約機能、拡大縮小機能が統合されている。また、統合手段２０８は、具体的には、各機能に対応するフィルタを並び替えて機能を統合する。並び替えられたフィルタ全体を「アクティビティ」という。つまり、本実施例の機能統合プリンタドライバ２００は、プリンタドライバＡが有する機能と、プリンタドライバＢが有する機能と、を統合して、新たなアクティビティを構成するものであるという。そして、機能統合プリンタドライバ２００により、統合された全ての機能（Ｗａｔｅｒｍａｒｋ機能、集約機能、拡大縮小機能など）を実現することが出来る。
【００４７】
次に、フィルタの並び替えについて、好ましい手法について説明する。一般的に、プリンタドライバ１５０が画像データに対して機能を実現した後に、画像形成装置１００が当該画像データ（プリンタドライバ１５０により機能が実現された画像データ）に対して機能を実現させ、用紙に印刷させる。図１０に示すプリンタドライバＢにおいて、拡大縮小機能はプリンタドライバＢにより実現され、集約機能は画像形成装置１００により実現される。従って、拡大縮小機能は、集約機能よりも先に行なわれているという結果を得ることが出来る。
【００４８】
そして、統合手段２０８は、この結果に基づいて、機能に対応するフィルタを並び替えてアクティビティを構成する。つまり、統合手段２０８は、拡大縮小フィルタを集約フィルタよりも先に配置させて並び替えることが好ましい。以下では、画像形成装置１００で実現される機能を「画像形成装置実現機能」といい、プリンタドライバ１５０で実現される機能を「プリンタドライバ実現機能」という。このように、統合手段２０８は、１つのプリンタドライバ（この例では、プリンタドライバＢ）が、１以上の画像形成装置実現機能（この例では、集約機能）と、１以上のプリンタドライバ実現機能（この例では、拡大縮小機能）とを有し、かつ、当該画像形成装置実現機能が他のプリンタドライバ（この例では、プリンタドライバＡ）が有するプリンタドライバ実現機能（この例では集約機能）と同一である場合がある。この場合には、統合手段２０８は、当該１つのプリンタドライバＢが有するプリンタドライバ実現機能（この例では、拡大縮小機能）を、当該他のプリンタドライバＡが有するプリンタドライバ実現機能（集約機能）よりも先に配置させるように並び替える。
【００４９】
当該場合に相当する場合には、統合手段２０８がフィルタをこのように並び替えすることで、更に正確なアクティビティを構成することが出来る。
【００５０】
また、統合手段２０８は、フィルタパイプライン構成ファイル７１０を書き換えることで、アクティビティを構成する。図１３ＡにプリンタドライバＡが有するプリンタドライバ実現機能を示し、図１３ＢにプリンタドライバＢが有するプリンタドライバ実現機能を示し、図１３Ｃに統合プリンタドライバが有するプリンタドライバ実現機能を示す。図１３Ａ〜Ｃでは、簡易的な記載で示しているが、実際はＯＳにより定められた文法のフォーマットに従って記載される。図１３Ｃに示すように、統合手段２０８は、プリンタドライバＡが有するプリンタドライバ実現機能と、プリンタドライバＢが有するプリンタドライバ実現機能を統合して、フィルタパイプライン構成ファイル７１０を図１３Ｃに示すものに書き換える。
【００５１】
このように統合手段２０８が、プリンタドライバ実現機能に対応するフィルタを並び替えることで、適切なアクティビティを構成することが出来る。更に、ユーザは、図１１記載の第１選択画面３０１から、複数のプリンタドライバから取得したプリンタドライバ実現機能を選択して利用することが出来る。
【００５２】
図１１に示すような設定が行なわれている場合には、機能統合プリンタドライバ２００は、Ｗａｔｅｒｍａｒｋ機能、集約機能、５０％縮小されるように、画像データに対して、フィルタ処理を施す。
【００５３】
また、上述では、図５記載の処理フローは、当該機能統合プリンタドライバ２００のインストール後、ユーザが初めて情報処理装置６００により印刷を行なう場合に、印刷画面を開いたときに行なわれる、と説明した。他の実施形態として、ユーザが機能統合プリンタドライバ２００を情報処理装置６００にインストールしている途中（インストールプロセス中）に、行なうようにしてもよい。この場合には、図５記載の処理を行うことを早めることが出来る。
【００５４】
この実施形態１の機能統合プリンタドライバ２００によれば、判定手段２０４により、各プリンタドライバから取得した機能が、画像形成装置１００により実現されるのか、プリンタドライバ１５０により実現されるのかを判定する（図５のステップＳ１２）。判定手段２０４による当該判定を行なう理由は、プリンタドライバで実現される機能は、どの画像形成装置で印刷する場合でも実現可能であるが、画像形成装置で実現される機能は、その画像形成装置を利用しないと、当該機能を実現できないからである。
【００５５】
そして、表示制御手段２０８は、プリンタドライバ実現機能を選択可能となるように、第１選択画面３０１を生成して、表示装置３００に表示させる。また、統合手段２０８は、第１選択画面３０１から選択された機能（つまり、プリンタドライバ実現機能）を実現できるように、当該プリンタドライバ実現機能に対応するフィルタを並び替えてアクティビティを構成する。つまり、本実施形態１の機能統合プリンタドライバでは、インストールされているプリンタドライバに対応する全ての画像形成装置で実現できる機能（つまり、プリンタドライバ実現機能）を表示装置３００に表示させて、ユーザに選択させるものである。更に、インストールされているプリンタドライバに対応する全ての画像形成装置で実現できる機能を実現できるように、アクティビティを構成するものである。従って、ユーザは特定のプリンタドライバのみで実現される複数の機能を同時に選択することが出来る。
［実施形態２］
次に、実施形態２の機能統合プリンタドライバ２００−２について説明する。実施形態２の機能統合プリンタドライバ２００−２では、ユーザは、印刷された用紙の出力先の画像形成装置を選択することが出来る。図１４に、実施形態２の選択画面の一例を示す。
【００５６】
図１４の例では、選択箇所３０２、３０４、３０６の他に、選択箇所３１２（第２選択画面３１２）が含まれている。図１４の例では、第２選択画面３１２では、印刷された用紙を出力させる画像形成装置に対応するプリンタドライバを選択することが出来る。
【００５７】
具体的には、プリンタドライバＡ、プリンタドライバＢそれぞれの出力ポートのＩＰアドレスを記憶装置５００に記憶させておく。一方、ユーザは、第２選択画面３１２（図１４参照）により、出力先に利用するプリンタドライバとして、プリンタドライバＡまたはプリンタドライバＢを選択する。なお、現在、選択されているプリンタドライバをユーザに認識させるように、当該選択されているプリンタドライバに対して網掛けを施せばよい。また、図１４では、プリンタドライバＡが選択されていることを示している。
【００５８】
そして、送信手段２１０（図４参照）は、フィルタ処理された画像データを、第２選択画面３１２により選択されたプリンタドライバ（図１４の例では、プリンタドライバＡ）に送信する。そして、画像データを受信したプリンタイドライバは、対応する画像形成装置に送信する。画像データが送信された画像形成装置は、当該画像データに基づいて、用紙に対して印刷を行なう。
【００５９】
例えば、図１４に示すように、プリンタドライバＡが選択されている場合には、送信手段２１０は、フィルタ処理された画像データを、プリンタドライバＡに送信する。そして、プリンタドライバＡは、当該プリンタドライバＡに対応する画像形成装置に送信する。そして、当該画像形成装置は、当該送信された画像データに基づいて、用紙に対して印刷を行い出力する。
【００６０】
また、図１４の例では、ユーザに対して、第２選択画面３１２により、プリンタドライバを選択させる構成にしているが、第２選択画面３１２により、画像形成装置を選択させるようにしてもよい。この構成の場合には、第２選択画面３１２により選択された画像形成装置に対応するプリンタドライバに対して、送信手段２１０は、フィルタ処理された画像データを送信する。そして、当該画像データが送信されたプリンタドライバは、当該プリンタドライバに対応する画像形成装置に対して、当該画像データを送信する。そして、画像形成装置は、当該送信された画像データに基づいて、用紙に対して印刷を行なう。
【００６１】
また、図１４では、第１選択画面３０１内に第２選択画面３１２（プリンタドライバの選択箇所３１２）を表示させる例を説明した。変形例として、図１１に示す第１選択画面３０１と、図１４に示す第２選択画面３１２（プリンタドライバ選択画面）と、を別画面で表示させることも出来る。この場合には、第１選択画面３０１を第２選択画面３１２よりも先に表示させるようにしてもよいし、第２選択画面３１２を第１選択画面３０１よりも先に表示させるようにしてもよい。
【００６２】
この実施形態２の機能統合プリンタドライバ２００−２によれば、ユーザが印刷された用紙を出力する画像形成装置を選択することが出来る。従って、ユーザにとって、頗る使い勝手の良いものとなる。
［実施形態３］
次に実施形態３の機能統合プリンタドライバ２００−３について説明する。実施形態３では、第２選択画面３１２（実施形態２、図１４で説明）を変更した実施形態である。図１０の例では、プリンタドライバＡについては、Ｗａｔｅｒｍａｒｋ機能、集約機能については、プリンタドライバで実現されるとし、ステープル機能については、画像形成装置で実現される、と説明した。そして、実施形態２の第２選択画面３１２の場合には、プリンタドライバＡを選択した場合であっても、ユーザはステープル機能を利用するか否かを選択することが出来ない。
【００６３】
そこで、実施形態３の機能統合プリンタドライバ２００では、画像形成装置で実現される機能についても利用できるようにしたものである。図１５Ａ、Ｂに、実施形態３の第２選択画面３１２の一例を示す。図１５Ａは、ユーザがプリンタドライバＡを選択している場合を示し、図１５Ｂは、ユーザがプリンタドライバＢを選択している場合を示す。図１５の例では、第１選択画面３０１と第２選択画面３１２とが同一の選択画面として表示されている場合を示す。
【００６４】
上述のように、プリンタドライバＡについては、プリンタドライバＡに対応する画像形成装置でステープル機能が実現される。そして、図１５Ａに示すように、ユーザによりプリンタドライバＡが選択された場合には、表示制御手段２０６は、ステープル機能について、「しない」、「左綴じ」、「右綴じ」のチェックボックス３１４を、ユーザが選択可能に第２選択画面に表示させる。図１５Ａには、ステープル機能の選択箇所３１４以外に、上述したＷａｔｅｒｍａｒｋｕ機能の選択箇所３０２、集約機能の選択箇所３０４、拡大縮小率３０６の選択箇所３０６も示されている。
【００６５】
そして、図１５Ｂに示すように、ユーザにより、プリンタドライバＢが選択された場合には、表示制御手段２０６は、ステープル機能の選択箇所３１４を、第２選択画面に表示させない。
【００６６】
つまり、図１５Ａに示すような設定が行なわれている場合には、機能統合プリンタドライバ２００−３は、Ｗａｔｅｒｍａｒｋ機能、集約機能、５０％縮小されるように、画像データに対して、フィルタ処理を施す。当該フィルタ処理が施された画像データは、プリンタドライバＡに対応する画像形成装置に送信される。そして、当該画像形成装置は左綴じにステープルが行なわれ、当該ステープルされた用紙を出力する。
【００６７】
このように、実施形態３の表示制御手段２０６は、第２選択画面３１２において、画像形成装置１００が実現する機能（この例では、ステープル機能）を有するプリンタドライバ（この例ではプリンタドライバＡ）が選択されると、当該機能を選択可能に表示させる（図１５Ａ記載のステープル機能の選択箇所３１４）。また、当該プリンタドライバＡが選択されなくなると、当該ステープル機能を選択可能に表示させない（図１５Ｂ参照）。
【００６８】
従って、この実施形態３の機能統合プリンタドライバ２００−３によれば、ユーザにより出力先として選択された画像形成装置に対応するプリンタドライバで実現される機能、および、当該画像形成装置で実現される機能を利用することが出来る。
［実施形態４］
次に、実施形態４の機能統合プリンタドライバ２００−４について説明する。実施形態４の機能統合プリンタドライバ２００−４では、機能統合対象のプリンタドライバ（上述の例では、プリンタドライバＡとプリンタドライバＢ）を選択することが出来る。図１６に、実施形態４の表示制御手段２０６が、表示装置３００に表示させる第３選択画面３３０の一例を示す。図１６の例では、ユーザは、プリンタドライバＡ〜Ｄから、機能統合対象のプリンタドライバを選択することが出来る。
【００６９】
表示制御手段２０６は、インストールされている全てのプリンタドライバ１５０１〜１５０Ｎの一覧を取得し、第３選択画面３３０に選択可能に表示させる。図１６の例では、表示制御手段２０６は、全てのインストールされているプリンタドライバＡ〜Ｄを選択可能に表示している。図１６の例では、プリンタドライバＡ〜Ｄそれぞれについて、チェックボックスが表示されており、ユーザは、機能統合を所望するプリンタドライバのチェックボックスにチェックを入れることで、機能統合対象のプリンタドライバを選択することが出来る。
【００７０】
そして、取得手段２０２は、ステップＳ２において、第３選択画面３３０で選択されたプリンタドライバの一覧を取得する。それ以降の処理については、実施形態１で説明した通りなので説明を省略する。
【００７１】
この実施形態４の機能統合プリンタドライバ２００−４によれば、ユーザにとって無駄な機能が含まれずに、シンプルな第１選択画面３０１を表示できると共に、機能統合処理のコストを低下させることが出来る。
［実施形態５］
次に、実施形態５の機能統合プリンタドライバ２００−５について説明する。図１７Ａに、本実施形態５の第１選択画面３０１を示し、図１７Ｂに、本実施形態５のフィルタパイプライン構成ファイル７１０（図３参照）の一例について示す。
【００７２】
図１７Ａに示すように、ユーザが、Ｗａｔｅｒｍａｒｋ機能、及び、集約機能を選択せずに（図１７Ａの例では、Ｗａｔｅｒｍａｒｋ機能について「無効」を選択し、集約機能について「しない」を選択している）、拡大縮小機能を選択（図１７Ａの例では、縮小率５０％）した場合を示す。この場合に、統合手段２０８が、Ｗａｔｅｒｍａｒｋフィルタ、集約フィルタを選択して構成すると、処理コストが過大になる場合がある。そこで、実施形態５の統合手段２０８は、ユーザが選択しなかった機能（図１４の例では、Ｗａｔｅｒｍａｒｋ機能及び集約機能）についてのフィルタを選択せずに、ユーザが選択した機能（図１４の例では拡大縮小機能）についてのフィルタを並び替えて、アクティビティを構成する。また、図１７Ａに示すユーザが利用する機能の選択は、機能が統合される前段階で行なわれることが好ましい。
【００７３】
実施形態５の機能統合プリンタドライバ２００−５では、図１８に示すように、機能と、当該機能を実現するために用いられるフィルタと、対応付けた対応テーブルを予め記憶装置５００に記憶させておく。そして、統合手段２０８は、選択された機能と対応するフィルタを選択して、並び替えてアクティビティを構成する。
【００７４】
例えば、図１７Ａの例では、ユーザにより、拡大縮小機能が選択されており、Ｗａｔｅｒｍａｒｋ機能、集約機能が選択されていないことから、統合手段２０８は、拡大縮小機能と対応するスケーリングフィルタを選択する。そして、図１７Ｂに示すフィルタパイプライン構成ファイルのように、拡大縮小機能を選択し、アクティビティを構成する。Ｗａｔｅｒｍａｒｋ機能、集約機能が選択されていないことから、Ｗａｔｅｒｍａｒｋ機能、集約機能、それぞれに対応するＷａｔｅｒｍａｒｋフィルタ、集約フィルタを、統合手段２０８は選択しない。
【００７５】
この実施形態５の機能統合プリンタドライバ２００−５であれば、ユーザにより選択されなかった機能を実現するフィルタを用いずに、選択された機能に対応するフィルタを用いて、アクティビティを構成する。従って、画像データへのフィルタ処理の処理時間を短縮できる。
［実施形態６］
次に、実施形態６の機能統合プリンタドライバ２００−６について説明する。実施形態１〜５何れかを実施して、アクティビティを構成した後に、ユーザ等により、新たなプリンタドライバがインストールされる場合やインストールされていたプリンタドライバがアンインストール（削除）される場合がある。以下では、当該場合を「プリンタドライバが変更された場合」という。実施形態６の機能統合プリンタドライバ２００−６は、プリンタドライバが変更された場合でも、変更後のプリンタドライバが有する機能も統合することが出来る。
【００７６】
図１９に、本実施形態６の処理フローを示す。図１９の処理フローでは新たなプリンタドライバがインストールされる場合について説明する。まず、監視手段２１２が、新たなプリンタドライバがインストールされた否かを監視する（ステップＳ３２）。監視手段２１２は、新たなプリンタドライバがインストールされるまで、監視をし続ける（ステップＳ３２のＮｏ）。
【００７７】
また、監視手段２１２が、新たなプリンタドライバがインストールされたと判断すると（ステップＳ３２のＹｅｓ）、ステップＳ３４に移行する。以下で説明するステップＳ３４、Ｓ３６、Ｓ３８、Ｓ４０、Ｓ４２、Ｓ４４はそれぞれ、図５に示すＳ６、Ｓ８、Ｓ１０、Ｓ１２、Ｓ１４、Ｓ１６に対応し、ステップＳ３４、Ｓ３６、Ｓ３８、Ｓ４０、Ｓ４２、Ｓ４４の処理の詳細については省略する。
【００７８】
次に、取得手段２０２は、新たなプリンタドライバが、ＸＰＳドライバであるかＧＤＩドライバであるかを判定する（ステップＳ３４）。取得手段２０２により、ＸＰＳドライバであると判断された場合には（ステップＳ３４のＹｅｓ）、ステップＳ３６に移行する。また、取得手段２０２により、ＸＰＳドライバでないと判断された場合には（ステップＳ３４のＮｏ）、処理を終了する。
【００７９】
ステップＳ３４でＹｅｓと判断されると、取得手段２０２は、新たなプリンタドライバから、印刷能力を取得する（ステップＳ３６）。そして、取得手段２０２は、取得した印刷能力を解析することで、機能を取得する（ステップＳ３８）。
【００８０】
次に、判定手段２０４が、当該取得した機能が画像形成装置１００で実現されるか、プリンタドライバ１５０で実現されるか、を判定する（ステップＳ４０）。次に、表示制御手段２０６は、ステップＳ３８で新たに取得した機能であり、かつ、ステップＳ４０でプリンタドライバで実現されると判定された機能を、現時点までに表示されていた機能に加えて、第１選択画面３０１に表示させる（ステップＳ４２）。そして、統合手段２０８は、従来並び替えて構成されていたフィルタに、当該新たに取得した機能も追加してフィルタを並び替えることで、アクティビティを再構成する（ステップＳ４４）。
【００８１】
また、インストールされていたプリンタドライバをアンインストールされる場合についても同様の処理なので、説明を省略する。
【００８２】
この実施形態６の機能統合プリンタドライバ２００−６であれば、プリンタドライバが変更された場合でも、ユーザに意識させることなく、適切に、フィルタを並び替えてアクティビティを再構成することが出来る。
【符号の説明】
【００８３】
１００      画像形成装置
１５０      プリンタドライバ
１８０      アプリケーション
２００      プリンタドライバ
２０２      取得手段
２０４      判定手段
２０６      表示制御手段
２０８      統合手段
２１０      送信手段
２１２      監視手段
３００      プリンタ
４００      入力装置
５００      記憶装置
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開２００９−２２３８３４号公報
【図１】
0005754277.tif 000002
【図２】
0005754277.tif 000003
【図３】
0005754277.tif 000004
【図４】
0005754277.tif 000005
【図５】
0005754277.tif 000006
【図６】
0005754277.tif 000007
【図７】
0005754277.tif 000008
【図８】
0005754277.tif 000009
【図９】
0005754277.tif 000010
【図１０】
0005754277.tif 000011
【図１１】
0005754277.tif 000012
【図１２】
0005754277.tif 000013
【図１３】
0005754277.tif 000014
【図１４】
0005754277.tif 000015
【図１５】
0005754277.tif 000016
【図１６】
0005754277.tif 000017
【図１７】
0005754277.tif 000018
【図１８】
0005754277.tif 000019
【図１９】
0005754277.tif 000020
【図２０】
0005754277.tif 000021