(57)【要約】【課題】印刷サーバの処理負荷を軽減することができる画像形成システムを提供する。【解決手段】画像形成システム１００は、情報処理装置１０８、印刷サーバ１０５、及び印刷装置１０１、１０３で構成され、仮想プリンタとして機能する。画像形成システム１００は、仮想プリンタの能力情報を印刷サーバ１０５から情報処理装置１０８に送信する。情報処理装置１０８は、受信した仮想プリンタの能力情報に基づいて印刷データを生成する。仮想プリンタの能力情報は、印刷装置１０１、１０３のうち所定の利用実績の印刷装置の能力情報に基づいて生成される。【選択図】図９Ｂ
2020067893.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理を実行させるための実行データを生成する情報処理装置、前記情報処理装置から取得した実行データを保持するサーバ、及び前記実行データに基づいて前記画像形成処理を実行する複数の画像形成装置を備える画像形成システムであって、
前記複数の画像形成装置から取得した前記複数の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成する能力情報生成手段と、
前記画像形成システムの能力情報を前記情報処理装置に送信する送信手段と、
前記複数の画像形成装置の利用実績を管理する管理手段とを備え、
前記情報処理装置は、前記画像形成システムの能力情報に基づいて前記実行データを生成し、
前記能力情報生成手段は、前記複数の画像形成装置のうち所定の利用実績の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とする画像形成システム。
【請求項２】
前記能力情報生成手段は、前記複数の画像形成装置のうち利用頻度の最も高い画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とする請求項１記載の画像形成システム。
【請求項３】
前記能力情報生成手段は、前記複数の画像形成装置のうち直近で使用された画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とする請求項１記載の画像形成システム。
【請求項４】
前記管理手段は、前記複数の画像形成装置の利用実績をユーザ毎に管理することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成システム。
【請求項５】
前記画像形成装置は、給紙された用紙に画像を印刷し、
前記能力情報は、前記画像形成装置の給紙方向に関する情報を含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成システム。
【請求項６】
前記実行データに対する画像回転変換処理の要否を判別する判別手段を更に備え、
前記サーバは、前記送信手段を備え、
前記送信手段は、前記実行データに対する画像回転変換処理の実行が必要である場合、前記画像形成システムの能力情報を前記情報処理装置に送信し、前記実行データに対する画像回転変換処理の実行が不要である場合、前記画像形成システムの能力情報を前記情報処理装置に送信しないことを特徴とする請求項１乃至５のいずれか１項に記載の画像形成システム。
【請求項７】
画像形成処理を実行させるための実行データを生成する情報処理装置、前記情報処理装置から取得した実行データを保持するサーバ、及び前記実行データに基づいて前記画像形成処理を実行する複数の画像形成装置を備える画像形成システムの制御方法であって、
前記複数の画像形成装置から取得した前記複数の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成する能力情報生成ステップと、
前記画像形成システムの能力情報を前記情報処理装置に送信する送信ステップと、
前記複数の画像形成装置の利用実績を管理する管理ステップとを有し、
前記情報処理装置は、前記画像形成システムの能力情報に基づいて前記実行データを生成し、
前記能力情報生成ステップは、前記複数の画像形成装置のうち所定の利用実績の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とする画像形成システムの制御方法。
【請求項８】
画像形成処理を実行させるための実行データを生成する情報処理装置、前記情報処理装置から取得した実行データを保持するサーバ、及び前記実行データに基づいて前記画像形成処理を実行する複数の画像形成装置を備える画像形成システムの制御方法をコンピュータに実行させるプログラムであって、
前記画像形成システムの制御方法は、
前記複数の画像形成装置から取得した前記複数の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成する能力情報生成ステップと、
前記画像形成システムの能力情報を前記情報処理装置に送信する送信ステップと、
前記複数の画像形成装置の利用実績を管理する管理ステップとを有し、
前記情報処理装置は、前記画像形成システムの能力情報に基づいて前記実行データを生成し、
前記能力情報生成ステップは、前記複数の画像形成装置のうち所定の利用実績の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成システム及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
仮想プリントサービスを提供する画像形成システムが知られている。画像形成システムは、携帯端末等の情報処理装置、クラウド上の印刷サーバ、及び複数の印刷装置を備える。これら各装置は、ＩＰＰ（ＩｎｔｅｒｎｅｔＰｒｉｎｔｉｎｇ Ｐｒｏｔｏｃｏｌ）に従ってデータ通信を行う（例えば、非特許文献１参照）。仮想プリントサービスでは、情報処理装置がユーザによる印刷ジョブの投入指示を受け付けると、情報処理装置がユーザによって設定された印刷設定情報に基づいて印刷ジョブを実行するための印刷データを生成し、印刷サーバが当該印刷データを保持する。また、ユーザが、印刷サーバに登録された複数の印刷装置のうち当該ユーザの最寄りの一の印刷装置からプルプリント指示を行うと、印刷サーバは、保持された印刷データを一の印刷装置に送信し、一の印刷装置が受信した印刷データに基づいて印刷を行う。上述した仮想プリントサービスを利用することで、例えば、フリーアドレス環境のオフィスにおいて、ユーザが、使用する印刷装置の接続設定等を行うことなく、最寄りの印刷装置から印刷物を容易に得ることができる。
【０００３】
情報処理装置は、ユーザから印刷ジョブの投入指示を受け付けた際に印刷サーバから各印刷装置の給紙方向等の仕様を取得し、取得した仕様に基づいて印刷データを生成する。例えば、印刷サーバに登録された二つの印刷装置の一方の給紙方向がＬｏｎｇＥｄｇｅ方向で、他方の給紙方向がＳｈｏｒｔＥｄｇｅ方向である場合、情報処理装置は、一方の印刷装置の給紙方向（ＬｏｎｇＥｄｇｅ方向）に適した向きに画像を生成する印刷データを生成する。この印刷データのプルプリント指示を他方の印刷装置が受けた際に、印刷サーバ及び他方の印刷装置の何れかが上記印刷データに対し、仕様差を補う変換処理、具体的に、他方の印刷装置の給紙方向（ＳｈｏｒｔＥｄｇｅ方向）に適した向きに画像生成向きを変換する変換処理を施す。ここで、印刷サーバ及び印刷装置のうち印刷サーバには、複数の情報処理装置や別の印刷装置からのアクセスが集中するため、印刷サーバの処理負荷を軽減する観点で、印刷装置が仕様差を補う変換処理を実施するのが好ましい。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】５１００．１８−２０１５  ＩＰＰ Ｓｈａｒｅｄ Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ Ｅｘｔｅｎｓｉｏｎｓ、［平成３０年１０月２２日検索］（ｈｔｔｐ：／／ｆｔｐ．ｐｗｇ．ｏｒｇ／ｐｕｂ／ｐｗｇ／ｃａｎｄｉｄａｔｅｓ／ｃｓ−ｉｐｐｉｎｆｒａ１０−２０１５０６１９−５１００．１８．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷装置が上述した仕様差を補う変換処理を実施できない場合、当該変換処理を印刷サーバで行うことになり、印刷サーバの処理負荷が増えてしまうという問題が生じる。
【０００６】
本発明の目的は、印刷サーバの処理負荷を軽減することができる画像形成システム及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像形成システムは、画像形成処理を実行させるための実行データを生成する情報処理装置、前記情報処理装置から取得した実行データを保持するサーバ、及び前記実行データに基づいて前記画像形成処理を実行する複数の画像形成装置を備える画像形成システムであって、前記複数の画像形成装置から取得した前記複数の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成する能力情報生成手段と、前記画像形成システムの能力情報を前記情報処理装置に送信する送信手段と、前記複数の画像形成装置の利用実績を管理する管理手段とを備え、前記情報処理装置は、前記画像形成システムの能力情報に基づいて前記実行データを生成し、前記能力情報生成手段は、前記複数の画像形成装置のうち所定の利用実績の画像形成装置の能力情報に基づいて前記画像形成システムの能力情報を生成することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、印刷サーバの処理負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成システムの構成を概略的に示すネットワーク図である。
【図２】図１の印刷装置のハードウェア構成を概略的に示すブロック図である。
【図３】図１の印刷サーバのハードウェア構成を概略的に示すブロック図である。
【図４】図１の情報処理装置のハードウェア構成を概略的に示すブロック図である。
【図５】図１の印刷装置のソフトウェア構成を概略的に示すブロック図である。
【図６】図１の印刷サーバのソフトウェア構成を概略的に示すブロック図である。
【図７】図１の情報処理装置のソフトウェア構成を概略的に示すブロック図である。
【図８】図１の情報処理装置が転送するＰＤＦ形式の原稿データの一例を示す図である。
【図９Ａ】図１の画像形成システムによって実行される印刷制御処理の手順を示すシーケンス図である。
【図９Ｂ】図１の画像形成システムによって実行される印刷制御処理の手順を示すシーケンス図である。
【図１０】図１の印刷装置の能力情報の一例を示す図である。
【図１１】図１の情報処理装置及び印刷サーバの間で送受信されるデータの一例を示す図である。
【図１２】図６の印刷履歴保存部によって管理される印刷履歴ＤＢについて説明するための図である。
【図１３】図１の情報処理装置及び印刷サーバの間で送受信されるデータの一例を示す図である。
【図１４】図１の印刷サーバによって実行される印刷データ送信処理の手順を示すフローチャートである。
【図１５】図１４のステップＳ１４０８の能力情報更新処理の手順を示すフローチャートである。
【図１６】本実施の形態における可能プリンタの給紙方向の設定について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１１】
図１は、本発明の実施の形態に係る画像形成システム１００の構成を概略的に示すネットワーク図である。図１において、画像形成システム１００は、画像形成装置としての印刷装置１０１、１０３、印刷サーバ１０５、及び情報処理装置１０８を備える。画像形成システム１００は、仮想プリントサービスを提供する仮想プリンタとして機能する。印刷装置１０１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０２を構成する外部装置とデータ通信を行う。印刷装置１０３は、ＬＡＮ１０４を構成する外部装置とデータ通信を行う。印刷装置１０１、１０３は、クラウド上の印刷サーバ１０５とルータ１０６、１０７を介して接続されている。印刷装置１０１、１０３は、印刷サーバ１０５が通信を行う際に指定するＩＰアドレスをルータ１０６、１０７によって割り当てられる。情報処理装置１０８は、例えば、タブレット端末やスマートフォンといった携帯端末、及びＰＣである。情報処理装置１０８は、アクセスポイント１０９を介してＬＡＮ１１０と接続され、ルータ１１１及びインターネット１１２を介して印刷サーバ１０５と接続される。
【００１２】
画像形成システム１００では、情報処理装置１０８がユーザによる印刷ジョブの投入指示を受け付けると、情報処理装置１０８が設定された印刷設定情報に基づいて印刷ジョブを実行するための印刷データ（実行データ）を生成する。情報処理装置１０８は、生成した印刷データを印刷サーバ１０５に送信し、印刷サーバ１０５が該印刷データを保持する。また、ユーザが、印刷装置１０１、１０３のうち当該ユーザの最寄りの印刷装置１０１からプルプリント指示を行うと、印刷サーバ１０５は、保持された印刷データを印刷装置１０１に送信し、印刷装置１０１が受信した印刷データに基づいて画像形成処理を行う。なお、本実施の形態では、画像形成システム１００の一例として上記構成について説明するが、画像形成システム１００の構成はこれに限られない。画像形成システム１００は、情報処理装置及び印刷装置を各１台以上備え、全ての情報処理装置及び印刷装置が印刷サーバ１０５を介して通信可能に接続されていれば良い。また、ＬＡＮ１０２、１０４、１１０は無線及び有線の何れであっても良い。
【００１３】
次に、印刷装置１０１、１０３の構成について説明する。なお、本実施の形態では、印刷装置１０１、１０３は同様の構成であり、以下では、一例として、印刷装置１０１を用いてその構成を説明する。
【００１４】
図２は、図１の印刷装置１０１のハードウェア構成を概略的に示すブロック図である。印刷装置１０１は、用紙に画像を印刷する印刷機能を備える。印刷装置１０１は、クラウド上の印刷サーバ１０５から受信した印刷データに基づいて印刷処理を行う。なお、本実施の形態では、印刷装置１０１が、印刷機能の他に、スキャン機能やＦＡＸ機能を備えるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であっても良い。
【００１５】
図２において、印刷装置１０１は、制御部２００、操作部２０７、印刷部２０９、及び後処理部２１１を備える。制御部２００は、操作部２０７、印刷部２０９、及び後処理部２１１と接続されている。また、制御部２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ストレージ２０４、画像処理部２０５、操作部Ｉ／Ｆ２０６、印刷部Ｉ／Ｆ２０８、後処理部Ｉ／Ｆ２１０、及び通信部Ｉ／Ｆ２１２を備える。ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ストレージ２０４、画像処理部２０５、操作部Ｉ／Ｆ２０６、印刷部Ｉ／Ｆ２０８、後処理部Ｉ／Ｆ２１０、及び通信部Ｉ／Ｆ２１２はシステムバス２１３を介して互いに接続されている。なお、ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００１６】
制御部２００は、印刷装置１０１全体の動作を制御する。ＣＰＵ２０１は、ＲＯＭ２０２やストレージ２０４に記憶されたプログラムをＲＡＭ２０３に展開し、展開されたプログラムを実行することで、印刷制御や読取制御等の各種制御を行う。ＲＯＭ２０２は、ＣＰＵ２０１が実行する制御プログラムやブートプログラム等を格納する。ＲＡＭ２０３は、ＣＰＵ２０１の主記憶メモリである。ＲＡＭ２０３は、ＣＰＵ２０１の作業領域として、また、制御プログラムを展開するための一時記憶領域として用いられる。ストレージ２０４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイスである。ストレージ２０４は、印刷データ、画像データ、プログラム、及び設定情報を記憶する。なお、本実施の形態では、１つのＣＰＵ２０１が１つのＲＡＭ２０３を用いて各処理を実行することとするが、他の様態であっても構わない。例えば、印刷装置１０１は、複数のＣＰＵ、ＲＡＭ、ＲＯＭ、及びストレージを協働させて、各処理を実行しても良い。また、印刷装置１０１は、ＡＳＩＣやＦＰＧＡ等のハードウェア回路を用いて一部の処理を実行しても良い。なお、ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【００１７】
画像処理部２０５は、印刷サーバ１０５から受信した印刷データを展開して画像データを生成するＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）機能を備える。また、画像処理部２０５は、画像データに対して解像度変換処理や補正処理を施す。なお、本実施の形態では、画像処理部２０５は、ＡＳＩＣやＦＰＧＡ等のハードウェア回路で実現されることを想定しているが、これに限られない。例えば、印刷装置１０１が、画像処理向けのプロセッサ（不図示）を更に備え、当該プロセッサが画像処理プログラムを実行することにより、画像処理や、印刷データへの展開処理を実現しても良い。
【００１８】
操作部Ｉ／Ｆ２０６は、操作部２０７を制御部２００に接続するためのインターフェースである。操作部２０７は、タッチパネル機能を備える表示部（不図示）や複数のハードキー（不図示）で構成されている。操作部２０７は、例えば、表示部に印刷装置１０１の設定情報等を表示し、また、ユーザによる指示を受け付ける。印刷部Ｉ／Ｆ２０８は、印刷部２０９を制御部２００に接続するためのインターフェースである。印刷装置１０１が印刷サーバ１０５から印刷データを受信した際に、当該印刷データが制御部２００から印刷部２０９に転送される。印刷部２０９は、制御部２００から受信した印刷データに基づいて用紙に画像を印刷する。なお、印刷部２０９の印刷方式は、電子写真方式及びインクジェット方式の何れであっても良く、また、熱転写方式等の他の印刷方式であっても良い。
【００１９】
後処理部Ｉ／Ｆ２１０は、後処理部２１１を制御部２００に接続するためのインターフェースである。後処理部２１１は、印刷部２０９によって印刷された用紙に対し、制御部２００から受信した制御コマンドに基づいて後処理を施す。通信部Ｉ／Ｆ２１２は、ＬＡＮ１０２を介して印刷サーバ１０５等とデータ通信を行う。例えば、通信部Ｉ／Ｆ２１２は、印刷サーバ１０５へ画像データを送信し、また、印刷サーバ１０５から印刷データを受信する。
【００２０】
図３は、図１の印刷サーバ１０５のハードウェア構成を概略的に示すブロック図である。図３において、印刷サーバ１０５は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ストレージ３０４、及び通信部Ｉ／Ｆ３０５を備える。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ストレージ３０４、及び通信部Ｉ／Ｆ３０５はシステムバス３０６を介して互いに接続されている。ＣＰＵ３０１は、ＲＯＭ３０２やストレージ３０４に記憶されたプログラムをＲＡＭ３０３に展開し、展開されたプログラムを実行することで、印刷データの転送等の各種制御を行う。ＲＯＭ３０２は、ＣＰＵ３０１が実行する制御プログラムやブートプログラム等を格納する。ＲＡＭ３０３は、ＣＰＵ３０１の主記憶メモリである。ＲＡＭ３０３は、ＣＰＵ３０１の作業領域として、また、制御プログラムを展開するための一時記憶領域として用いられる。ストレージ３０４は、ＨＤＤやＳＳＤ等の記憶デバイスである。ストレージ３０４は、ＯＳ、クラウド上で保持される印刷データ、及び各種クラウドサービスの設定情報等を記憶する。
【００２１】
図４は、図１の情報処理装置１０８のハードウェア構成を概略的に示すブロック図である。図４において、情報処理装置１０８は、制御部４００及びタッチパネル４０６を備える。制御部４００は、タッチパネル４０６と接続されている。また、制御部４００は、ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、ストレージ４０４、操作部Ｉ／Ｆ４０５、Ｂｌｕｅｔｏｏｔｈ(登録商標）４０７、及びＷｉｆｉ  Ｅｔｈｅｒｎｅｔ４０９を備える。ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、ストレージ４０４、操作部Ｉ／Ｆ４０５、Ｂｌｕｅｔｏｏｔｈ４０７、及びＷｉｆｉ  Ｅｔｈｅｒｎｅｔ４０９は、システムバス４１０を介して互いに接続されている。
【００２２】
制御部４００は、情報処理装置１０８全体の動作を制御する。ＣＰＵ４０１は、ＲＯＭ４０２やストレージ４０４に記憶されたプログラムをＲＡＭ４０３に展開し、展開されたプログラムを実行することで、印刷設定画面の制御や印刷データの生成等の各種制御を行う。ＲＯＭ４０２は、ＣＰＵ４０１が実行する制御プログラムやブートプログラム等を格納する。ＲＡＭ４０３は、ＣＰＵ４０１の主記憶メモリである。ＲＡＭ４０３は、ＣＰＵ４０１の作業領域として、また、制御プログラムを展開するための一時記憶領域として用いられる。ストレージ４０４は、ＨＤＤやＳＳＤ等の記憶デバイスである。ストレージ４０４は、ＯＳ、印刷アプリケーション、ＯＳ印刷フレームワーク、ＯＳ印刷フレームワークが生成する印刷データ、及び各種設定情報を記憶する。操作部Ｉ／Ｆ４０５は、タッチパネル４０６を制御部４００に接続するためのインターフェースである。タッチパネル４０６は、各アプリケーションの設定画面や印刷設定画面等を表示し、また、ユーザによるタッチ操作をＣＰＵ４０１上で動作するアプリケーションへ通知する。Ｂｌｕｅｔｏｏｔｈ４０７は、近距離無線通信機能を備えるマウスやキーボード等の近距離無線デバイス４０８と近距離無線通信を行う。Ｗｉｆｉ  Ｅｔｈｅｒｎｅｔ４０９は、ＬＡＮ１１０を構成する外部装置と、アクセスポイント１０９を介して無線通信を行う。
【００２３】
図５は、図１の印刷装置１０１のソフトウェア構成を概略的に示すブロック図である。図５において、印刷装置１０１は、モジュールとして、ＩＰＰ−Ｐｒｏｘｙ制御部５０１、プリンタ能力通知部５０２、ジョブ設定検証部５０３、印刷ジョブ生成部５０４、ジョブ制御部５０５、及びジョブ属性保存部５０６を備える。また、印刷装置１０１は、モジュールとして、データ受信制御部５０７、ＰＤＬ解析部５０８、ページ制御部５０９、ページ保存部５１０、ページ属性保存部５１１、ＲＩＰ制御部５１２、及び印刷制御部５１３を備える。さらに、印刷装置１０１は、モジュールとして、エンジン制御部５１４及びＵＩ制御部５１５を備える。上述した各モジュールの処理は、ＣＰＵ２０１がＲＡＭ２０３に展開したプログラムを実行することによって行われる。
【００２４】
ＩＰＰ−Ｐｒｏｘｙ制御部５０１は、プリンタ能力通知部５０２及びジョブ設定検証部５０３で構成される。プリンタ能力通知部５０２は、印刷装置１０１の能力に関する問い合わせを印刷サーバ１０５から受けると、印刷サーバ１０５に印刷装置１０１の能力情報を通知する。印刷装置１０１の能力情報は、例えば、部数対応の可否情報、対応フォーマットに関する情報、及び給紙方向に関する情報である。
【００２５】
また、ＩＰＰ−Ｐｒｏｘｙ制御部５０１は、ＩＰＰによる通信に関する制御を行う。例えば、印刷サーバ１０５からＩＰＰ属性で指定された印刷データを受信した場合、ＩＰＰ−Ｐｒｏｘｙ制御部５０１は、印刷ジョブ生成部５０４を経由してジョブ制御部５０５に上記印刷データを出力する。ジョブ設定検証部５０３は、印刷データの属性情報を検証し、検証結果をジョブ属性保存部５０６に書き込む。ジョブ属性保存部５０６には、検証結果として、例えば、印刷部数、フィニッシングに関する情報、及びＰＤＬフォーマット情報が書き込まれる。
【００２６】
さらに、ＩＰＰ−Ｐｒｏｘｙ制御部５０１は、印刷データに基づいて生成される描画データをデータ受信制御部５０７に出力する。データ受信制御部５０７は、印刷ジョブ生成部５０４が受信した印刷データのバッファ領域であり、印刷ジョブ毎に描画データをストレージ２０４に一時的に保存する。
【００２７】
ＰＤＬ解析部５０８は、ＰＷＧ−Ｒａｓｔｅｒフォーマットに対応する。ＰＤＬ解析部５０８は、ジョブ制御部５０５から受けた指示に応じてデータ受信制御部５０７から描画データを取得し、取得した描画データの解析処理を行って、描画データを構成する各ページのページデータを生成する。ページ制御部５０９は、ＰＤＬ解析部５０８が生成したページデータに含まれる画像情報をページ保存部５１０に保存し、また、当該ページデータに含まれるページ属性情報をページ属性保存部５１１に保存する。ページ制御部５０９は、ＰＤＬ解析部５０８によるページ解析処理、ＲＩＰ制御部５１２によるＲＩＰ処理、及び印刷制御部５１３による印刷制御処理を制御する。
【００２８】
印刷制御部５１３は、ページ保存部５１０から取得したＲＩＰ処理済み画像データをＲＧＢに色分解してエンジン制御部５１４に転送する。エンジン制御部５１４は、印刷制御部５１３からページ単位でＲＧＢ別の画像データを取得し、印刷部２０９を制御して各ページの印刷処理を行う。ＵＩ制御部５１５は、処理中の印刷ジョブの状態に関する情報をジョブ制御部５０５から取得し、印刷ジョブの処理状況を操作部２０７に表示する。
【００２９】
図６は、図１の印刷サーバ１０５のソフトウェア構成を概略的に示すブロック図である。図６において、印刷サーバ１０５は、モジュールとして、仮想プリンタ管理部６０１、クライアント情報取得部６０２、プリンタ情報取得部６０４、仮想プリンタ禁則生成部６０６、及び仮想プリンタ能力生成部６０７（能力情報生成手段）を備える。また、印刷サーバ１０５は、モジュールとして、イベント通知制御部６０８、印刷履歴保存部６０９、ジョブ管理部６１０、ホストジョブ制御部６１１、ホストジョブ生成部６１２、ホストデータ受信制御部６１３、及びホストジョブ保存部６１４を備える。さらに、印刷サーバ１０５は、モジュールとして、印刷ジョブ制御部６１５、ジョブ変換部６１６、ＰＤＬ解析部６１７、ジョブ属性解析部６１８、ＰＤＬ生成部６１９、ページ属性解析部６２０、ページ属性変換部６２１、ジョブ属性変換部６２２、ＩＰＰ情報生成部６２３、及び変換ジョブ保存部６２４を備える。上述した各モジュールの処理は、ＣＰＵ３０１がＲＡＭ３０３に展開したプログラムを実行することによって行われる。
【００３０】
仮想プリンタ管理部６０１は、クライアント情報取得部６０２、プリンタ情報取得部６０４、仮想プリンタ禁則生成部６０６、仮想プリンタ能力生成部６０７、イベント通知制御部６０８、及び印刷履歴保存部６０９で構成される。
【００３１】
クライアント情報取得部６０２は、ＩＰＰに従って受信したクライアント情報をクライアントＤＢ６０３に保存する。プリンタ情報取得部６０４は、ＩＰＰに従って受信した各印刷装置１０１、１０３の能力情報をプリンタＤＢ６０５に保存する。仮想プリンタ禁則生成部６０６は、各印刷装置１０１、１０３から取得した禁則情報とクライアントがサポートする機能とを組み合わせて印刷サーバ１０５の禁則情報を生成する。仮想プリンタ能力生成部６０７は、禁則情報だけでなく、各印刷装置１０１、１０３の能力情報を組み合わせて仮想プリンタの能力情報を生成する。例えば、仮想プリンタ能力生成部６０７は、プリンタＤＢ６０５に保存された各印刷装置１０１、１０３の能力情報と、印刷履歴保存部６０９によって管理される印刷履歴ＤＢとに基づいて仮想プリンタの能力情報を生成する。イベント通知制御部６０８は、例えば、仮想プリンタ能力生成部６０７が仮想プリンタの能力情報を更新した際に情報処理装置１０８へその旨を通知する。通知を受けた情報処理装置１０８は、印刷サーバ１０５に対して、仮想プリンタの能力情報を再要求する。印刷履歴保存部６０９は、印刷履歴ＤＢを管理する。印刷履歴ＤＢには、仮想プリンタにおいて使用された印刷装置、用紙サイズ、及び給紙向き等に関する各情報がユーザ毎に記録されている。
【００３２】
ジョブ管理部６１０は、ホストジョブ制御部６１１、ホストジョブ保存部６１４、及び印刷ジョブ制御部６１５で構成される。ホストジョブ制御部６１１は、ホストジョブ生成部６１２及びホストデータ受信制御部６１３で構成される。ホストジョブ制御部６１１は、情報処理装置１０８から受信した印刷データの管理処理を行う。ホストジョブ生成部６１２は、ホストデータ受信制御部６１３と連携して、ＩＰＰに従って情報処理装置１０８から受信した印刷データを、ＩＰＰ印刷設定データとＰＤＬ言語で記述されたＰＤＬデータに分離する。また、ホストジョブ生成部６１２は、分離したＰＤＬデータをホストジョブ保存部６１４に保存する。
【００３３】
印刷ジョブ制御部６１５は、ジョブ変換部６１６で構成される。ジョブ変換部６１６は、ＰＤＬ解析部６１７、ジョブ属性解析部６１８、ＰＤＬ生成部６１９、ページ属性解析部６２０、ページ属性変換部６２１、ジョブ属性変換部６２２、ＩＰＰ情報生成部６２３、及び変換ジョブ保存部６２４で構成される。
【００３４】
印刷ジョブ制御部６１５は、保持された印刷データを、印刷サーバ１０５に登録された印刷装置１０１、１０３の何れかに実行させる。具体的に、印刷ジョブ制御部６１５は、ＩＰＰに従って、例えば、印刷装置１０１から印刷データ要求を受信すると、印刷装置１０１が処理可能なデータ形式と、ホストジョブ保存部６１４に保存された印刷データのデータ形式とを比較する。比較した結果、互いのデータ形式が異なる場合、ジョブ変換部６１６によるデータ形式の変換が必要であると判別される。この場合、ＰＤＬ解析部６１７が、ジョブ属性解析部６１８から取得したＩＰＰのジョブ属性及びドキュメント属性に基づいてページデータの解析を行う。次いで、ＰＤＬ生成部６１９が、当該ページデータを印刷装置１０１に適したデータ形式へ変換する。新たなデータ形式のページ属性は、元データのページ属性と変換後データのページ属性とを組み合わせて作成される。元データのページ属性は、ページ属性解析部６２０によって取得される。変換後データのページ属性は、ページ属性変換部６２１が新旧のページ属性を組み合わせて作成する。また、変換後データのジョブ属性は、ジョブ属性変換部６２２が旧ジョブ属性と新たなページ属性とを組み合わせて作成される。次いで、ＩＰＰ情報生成部６２３が、作成したジョブ属性及びページ属性をＩＰＰ形式のジョブ属性及びドキュメント属性に変換する。また、ＰＤＬ生成部６１９は、変換したページデータを変換ジョブ保存部６２４に保存する。ＩＰＰのジョブ属性、ＩＰＰのドキュメント属性、及び変換後のＰＤＬデータを含む印刷データが、変換ジョブ保存部６２４に保存されると、上記印刷データ要求の応答として、印刷装置１０１に上記印刷データが送信される。
【００３５】
図７は、図１の情報処理装置１０８のソフトウェア構成を概略的に示すブロック図である。図７において、情報処理装置１０８は、モジュールとして、印刷アプリケーション７０１、ＯＳ印刷フレームワーク７０２、ＩＰＰクライアント制御部７０３、プリンタ情報管理部７０４、印刷ジョブ生成部７０５、及びジョブ属性生成部７０６を備える。また、情報処理装置１０８は、モジュールとして、ページ生成部７０７、ＰＤＬ生成部７０８、プリントスプーラー７０９、印刷画面制御部７１０、ＯＳ描画エンジン７１１、及びデータ通信制御部７１２を備える。上述した各モジュールの処理は、ＣＰＵ４０１がＲＡＭ４０３に展開したプログラムを実行することによって行われる。
【００３６】
印刷アプリケーション７０１は、ユーザが情報処理装置１０８にインストールしたアプリケーションである。印刷アプリケーション７０１は、仮想プリントサービスを実現するためのアプリケーションである。ＯＳ印刷フレームワーク７０２は、ＩＰＰクライアント制御部７０３及びプリントスプーラー７０９で構成される。ＩＰＰクライアント制御部７０３は、プリンタ情報管理部７０４及び印刷ジョブ生成部７０５で構成される。プリンタ情報管理部７０４は、データ通信制御部７１２を通じて印刷サーバ１０５に問い合わせを行い、印刷サーバ１０５から取得した仮想プリンタの能力情報を保持する。印刷ジョブ生成部７０５は、ジョブ属性生成部７０６、ページ生成部７０７、及びＰＤＬ生成部７０８で構成される。印刷ジョブ生成部７０５は、ユーザから受け付けた指示に基づいて印刷データを生成する。ジョブ属性生成部７０６は、ユーザが設定した印刷設定情報に基づいて印刷データを構成するジョブ属性とドキュメント属性とを生成する。ページ生成部７０７は、ＰＤＬ生成部７０８と連携して、印刷アプリケーション７０１がＯＳ描画エンジン７１１を介して生成した描画データを、仮想プリンタがサポートするＰＤＬデータに変換し、変換後のＰＤＬデータを印刷サーバ１０５へ送信する。この時、ページ生成部７０７は、仮想プリンタがサポートするＰＤＬ形式及び画像生成向きに関する情報を、プリンタ情報管理部７０４から取得し、取得した情報に基づいてＰＤＬデータの変換を行う。プリントスプーラー７０９は、当該ＰＤＬデータで構成される印刷データを保持する。
【００３７】
印刷画面制御部７１０は、印刷アプリケーション７０１による呼び出しに応じて印刷設定画面を情報処理装置１０８の表示部（不図示）に表示する。ユーザは、印刷設定画面から印刷設定情報を設定して印刷ジョブの投入指示を行う。印刷設定画面には、仮想プリンタが提供可能な印刷機能に関する設定項目が表示される。ＯＳ描画エンジン７１１は、印刷アプリケーション７０１の要求に従い、印刷ページデータをＯＳ標準の描画フォーマットで描画する。また、ＯＳ描画エンジン７１１は、当該印刷ページデータをページ生成部７０７に出力する。データ通信制御部７１２は、登録された印刷装置１０１、１０３を管理するための通信を行う。また、データ通信制御部７１２は、印刷サーバ１０５とデータ通信を行う。例えば、データ通信制御部７１２は、保持された印刷データをプリントスプーラー７０９から取得し、取得した印刷データを印刷サーバ１０５へ送信する。本実施の形態では、例えば、印刷サーバ１０５へ登録された印刷装置１０１、１０３がＰＷＧ−Ｒａｓｔｅｒフォーマットのみサポートする場合、印刷サーバ１０５は、ＰＷＧ−Ｒａｓｔｅｒを示す情報を含む能力情報を情報処理装置１０８に通知する。この通知を受けた情報処理装置１０８は、ＰＤＬ生成部７０８により、印刷サーバ１０５から指定された画像向きに最適化してＰＷＧ−Ｒａｓｔｅｒ形式のデータを生成する。
【００３８】
画像形成システム１００において、印刷データの送信先となる印刷装置１０１がＰＤＦ形式をサポートする場合、印刷サーバ１０５は、ＰＤＦ形式の図８（ａ）の原稿データ８０１をそのまま印刷装置１０１に転送する。なお、原稿データ８０１は、ポートレート画像Ｐ１、Ｐ３、及びランドスケープ画像Ｐ２、Ｐ４で構成される。
【００３９】
印刷データの送信先となる印刷装置１０１がＰＤＦ形式をサポートしない場合、印刷サーバ１０５は、原稿データ８０１をＰＷＧ−Ｒａｓｔｅｒ形式のデータに変換した図８（ｂ）の原稿データ８０２を印刷装置１０１に送信する。印刷装置１０１は、受信した原稿データ８０２に対し、当該印刷装置１０１の給紙方向に適した向きに画像が生成されるように画像回転変換処理を施す。例えば、印刷装置１０１は、ＳｈｏｒｔＥｄｇｅＦｅｅｄの給紙方向に適した向きに画像が生成されるように、図８（ｃ）に示すように、ランドスケープ画像Ｐ２、Ｐ４の向きをポートレート画像Ｐ１、Ｐ３の向きに揃える。また、印刷装置１０１は、ＬｏｎｇＥｄｇｅＦｅｅｄの給紙方向に適した向きに画像が生成されるように、図８（ｄ）に示すように、ポートレート画像Ｐ１、Ｐ３の向きをランドスケープ画像Ｐ２、Ｐ４の向きに揃える。
【００４０】
ここで、印刷装置１０１が画像回転変換処理を実施できない場合、印刷サーバ１０５が、原稿データ８０２に対し、画像回転処理を施す必要がある。しかし、印刷サーバ１０５には、複数の情報処理装置や別の印刷装置からのアクセスが集中するため、印刷サーバ１０５が画像回転処理を実施すると、印刷サーバ１０５の処理負荷が増えてしまうという問題が生じる。
【００４１】
これに対応して、本実施の形態では、仮想プリンタの能力情報が印刷サーバ１０５から情報処理装置１０８に送信される。情報処理装置１０８は、受信した仮想プリンタの能力情報に基づいて印刷データを生成し、印刷装置１０１、１０３のうち所定の利用実績の印刷装置の能力情報に基づいて仮想プリンタの能力情報が生成される。
【００４２】
図９Ａ及び図９Ｂは、図１の画像形成システム１００によって実行される印刷制御処理の手順を示すシーケンス図である。
【００４３】
図９ＡにおけるステップＳ９００は、仮想プリンタを構成する装置（以下、「仮想プリンタ構成装置」という。）として情報処理装置１０８を登録する処理である。ステップＳ９００では、ステップＳ９０１〜ステップＳ９０８の処理が行われる。具体的に、管理者が、印刷サーバ１０５に仮想プリンタの作成要求を行う（ステップＳ９０１）。また、管理者は、仮想プリンタへの登録を許可する印刷装置の基準要件を印刷サーバ１０５に設定する（ステップＳ９０２）。ステップＳ９０２では、基準要件として、両面印刷に対応する印刷装置であること等の要件が設定される。次いで、管理者は、仮想プリントサービスの利用を許可するユーザのアカウント（以下、「ユーザアカウント」という。）の発行要求を印刷サーバ１０５に行う（ステップＳ９０３）。ステップＳ９０３では、管理者は、当該ユーザが用いる情報処理装置１０８に関する情報を印刷サーバ１０５に設定する。ユーザアカウントの発行要求を受けた印刷サーバ１０５は、発行したユーザアカウント及び登録キー情報を情報処理装置１０８に送信する（ステップＳ９０４）。登録キー情報は、印刷サーバ１０５に仮想プリンタ構成装置を登録する際に必要となるキー情報である。
【００４４】
情報処理装置１０８は、受信した登録キー情報に基づいて仮想プリンタの登録処理を行う（ステップＳ９０５）。また、情報処理装置１０８は、仮想プリンタのステータス通知を受けるために、印刷サーバ１０５にイベント通知要求を行う（ステップＳ９０６）。さらに、情報処理装置１０８は、ユーザに対して上記登録キー情報を通知する（ステップＳ９０７）。具体的に、情報処理装置１０８は、上記登録キー情報を情報処理装置１０８の表示部に表示する。
【００４５】
情報処理装置１０８からイベント通知要求を受けた印刷サーバ１０５は、仮想プリンタ管理部６０１により、仮想プリンタのイベント通知対象として情報処理装置１０８をクライアントＤＢ６０３に登録する（ステップＳ９０８）。これにより、情報処理装置１０８は、仮想プリンタにおいてユーザによる印刷設定情報の設定指示や印刷ジョブの投入指示等を受け付ける指示受け付け部として機能する。
【００４６】
図９ＡにおけるステップＳ９０９は、仮想プリンタ構成装置として印刷装置を登録する処理である。以下では、一例として、印刷装置１０１を登録する場合について説明するが、同様の処理を行って、他の印刷装置を仮想プリンタ構成装置として登録可能である。
【００４７】
ステップＳ９０９では、ステップＳ９１０〜ステップＳ９２０の処理が行われる。具体的に、ユーザが、ステップＳ９０７で通知された登録キー情報を印刷装置１０１の操作部２０７に入力して仮想プリンタの登録手続きを行う（ステップＳ９１０）。登録キー情報を入力された印刷装置１０１は、ＩＰＰ−Ｐｒｏｘｙ制御部５０１により、印刷サーバ１０５に登録要求を行う（ステップＳ９１１）。登録要求を受けた印刷サーバ１０５は、印刷装置１０１に対して、能力情報の送信要求を行う（ステップＳ９１２）。能力情報の送信要求を受けた印刷装置１０１は、印刷装置１０１の能力情報を印刷サーバ１０５に送信する（ステップＳ９１３）。印刷装置１０１は、印刷装置１０１の能力情報として、例えば、図１０（ａ）の給紙関連情報１００１を印刷サーバ１０５に送信する。給紙関連情報１００１には、印刷装置１０１の給紙方向、及び画像回転変換処理の実施可否情報が用紙サイズ毎に設定されている。なお、本実施の形態では、仮想プリンタ構成装置として印刷装置１０３を登録する場合、印刷装置１０３は、印刷装置１０３の能力情報として、例えば、図１０（ｂ）に示す給紙関連情報１００２を印刷サーバ１０５に送信する。給紙関連情報１００２には、印刷装置１０３の給紙方向、及び画像回転変換処理の実施可否情報が用紙サイズ毎に設定されている。
【００４８】
印刷装置１０１の能力情報を受信した印刷サーバ１０５は、印刷装置１０１の登録可否を判別する（ステップＳ９１４）。ステップＳ９１４では、具体的に、印刷サーバ１０５は、受信した印刷装置１０１の能力情報に基づいて印刷装置１０１がステップＳ９０２で設定された基準要件を満たすか否かを判別する。次いで、印刷サーバ１０５は、ステップＳ９１４の判別結果に基づいて登録応答を印刷装置１０１に通知する（ステップＳ９１５）。ステップＳ９１５では、例えば、印刷装置１０１が基準要件を満たさない場合、印刷サーバ１０５は、登録を失敗した旨を印刷装置１０１に通知する。一方、印刷装置１０１が基準要件を満たす場合、印刷サーバ１０５は、登録を許可する旨を印刷装置１０１に通知する。また、印刷サーバ１０５は、印刷装置１０１の能力情報に基づいて仮想プリンタの能力情報を作成する（ステップＳ９１６）。その後、印刷サーバ１０５は、クライアントＤＢ６０３に登録されている情報処理装置１０８へ仮想プリンタの能力情報の更新通知を送信する（ステップＳ９１７）。
【００４９】
更新通知を受信した情報処理装置１０８は、印刷サーバ１０５に対し、仮想プリンタの能力情報の送信要求を行う（ステップＳ９１８）。情報処理装置１０８は、仮想プリンタの能力情報の送信要求として、例えば、図１１（ａ）のデータ１１０１を印刷サーバ１０５に送信する。データ１１０１は、例えば、仮想プリンタの給紙方向に関する情報を要求するコマンド１１０２を含む。仮想プリンタの能力情報の送信要求を受けた印刷サーバ１０５は、情報処理装置１０８に対し、仮想プリンタの能力情報を送信する（ステップＳ９１９）。ステップＳ９１９では、印刷サーバ１０５は、仮想プリンタの能力情報を含む図１１（ｂ）のデータ１１０３を情報処理装置１０８に送信する。データ１１０３は、例えば、仮想プリンタの給紙方向に関するコマンド１１０４を含む。図１０（ｂ）の例では、Ａ４、Ａ５サイズの給紙方向が、ＬｏｎｇＥｄｇｅＦｅｅｄであり、その他の用紙サイズの給紙方向が、ＳｈｏｒｔＥｄｇｅＦｅｅｄであることが示されている。仮想プリンタの能力情報を受信した情報処理装置１０８は、プリンタ情報管理部７０４によって保持された仮想プリンタの能力情報を更新する（ステップＳ９２０）。これにより、印刷装置１０１は、仮想プリンタにおいて印刷を行う印刷部として機能する。
【００５０】
図９ＢにおけるステップＳ９２１は、仮想プリンタへ印刷ジョブが投入されてからプルプリントが行われるまでの処理である。ステップＳ９２１では、ステップＳ９２２〜ステップＳ９３５の処理が行われる。具体的に、ユーザが、情報処理装置１０８にインストールされた印刷アプリケーション７０１を起動することで表示される印刷設定画面（不図示）で印刷設定情報を設定して印刷ジョブの投入指示を行う（ステップＳ９２２）。情報処理装置１０８は、この投入指示に対応する印刷ジョブを実行するための印刷データを生成し、当該印刷データを印刷サーバ１０５に送信する（ステップＳ９２３）。印刷サーバ１０５は、受信した印刷データを保持する（ステップＳ９２４）。次いで、ユーザが、近傍に設置されている印刷装置１０１にログインし（ステップＳ９２５）、印刷装置１０１の操作部２０７からプルプリント指示を行う（ステップＳ９２６）。
【００５１】
プルプリント指示を受けた印刷装置１０１は、印刷サーバ１０５に対して、ジョブリスト要求を行う（ステップＳ９２７）。ジョブリスト要求を受けた印刷サーバ１０５は、ジョブリスト要求に対応するジョブを検索する（ステップＳ９２８）。具体的に、印刷サーバ１０５は、上記ユーザから投入されたジョブであり且つ保持されている印刷データに対応するジョブを検索する。次いで、印刷サーバ１０５は、検索したジョブの一覧情報であるジョブリストを印刷装置１０１に送信する（ステップＳ９２９）。印刷装置１０１は、受信したジョブリストを操作部２０７に表示する。ジョブリストの中から或る印刷ジョブがユーザに選択されると（ステップＳ９３０）、選択された印刷ジョブに対応する印刷データの送信要求を印刷サーバ１０５に行う（ステップＳ９３１）。
【００５２】
印刷サーバ１０５は、受けた送信要求に対応する印刷データに対し、印刷装置１０１に合わせた変換を行う（ステップＳ９３２）。例えば、上記印刷データのデータ形式が、印刷装置１０１がサポートするデータ形式でない場合、印刷サーバ１０５は、上記印刷データのデータ形式を印刷装置１０１がサポートするデータ形式に変換する。印刷サーバ１０５は、変換した印刷データを印刷装置１０１に送信する（ステップＳ９３３）。印刷装置１０１は、受信した印刷データに基づいて印刷処理を行い（ステップＳ９３４）、印刷処理を完了すると、この旨を示す完了通知を印刷サーバ１０５に送信する（ステップＳ９３５）。
【００５３】
図９ＢにおけるステップＳ９３６は、印刷処理の実行後に仮想プリンタの能力情報を更新する処理である。ステップＳ９３６では、ステップＳ９３７〜ステップＳ９４２の処理が行われる。
【００５４】
印刷サーバ１０５は、ステップＳ９３２の処理を実行した後、印刷履歴保存部６０９によって管理される印刷履歴ＤＢを更新する（ステップＳ９３７）。印刷履歴ＤＢには、図１２（ａ）の印刷実績情報１２０１及び図１２（ｂ）のプリンタ利用実績情報１２０２が含まれる。印刷実績情報１２０１では、仮想プリンタにおける印刷条件毎の実績回数や直前の利用状況に関する情報が管理されている。印刷条件は、印刷装置の種別、用紙サイズ、用紙の種類、給紙方向、及び利用ユーザを含む。プリンタ利用実績情報１２０２では、仮想プリンタの利用条件毎の実績回数や直前の利用状況に関する情報が管理されている。利用条件は、印刷装置の種別、及び利用ユーザを含む。ステップＳ９３７では、印刷サーバ１０５は、これらの情報を更新する。次いで、印刷サーバ１０５は、更新した印刷履歴ＤＢに基づいて仮想プリンタの能力情報を更新する（ステップＳ９３８）。例えば、印刷サーバ１０５は、仮想プリンタの能力情報に含まれる仮想プリンタの給紙方向を直近の印刷で用いられた印刷装置の給紙方向に更新する。その後、印刷サーバ１０５は、イベント通知制御部６０８により、クライアントＤＢ６０３に登録された情報処理装置１０８に対して、仮想プリンタの能力情報の更新通知を送信する（ステップＳ９３９）。更新通知を受けた情報処理装置１０８は、印刷サーバ１０５に対して、仮想プリンタの能力情報の送信要求を行う（ステップＳ９４０）。情報処理装置１０８は、仮想プリンタの能力情報の送信要求として、例えば、図１３（ａ）のデータ１１０１を印刷サーバ１０５に送信する。データ１３０１は、例えば、仮想プリンタの給紙方向に関する情報を要求するコマンド１３０２を含む。
【００５５】
印刷サーバ１０５は、受信した送信要求に対応する仮想プリンタの能力情報を情報処理装置１０８に送信する（ステップＳ９４１）。ステップＳ９４１では、印刷サーバ１０５は、仮想プリンタの能力情報を含む図１３（ｂ）のデータ１３０３を情報処理装置１０８に送信する。データ１３０３は、例えば、仮想プリンタの給紙方向に関するコマンド１３０４を含む。仮想プリンタの能力情報を受信した情報処理装置１０８は、プリンタ情報管理部７０４によって保持された仮想プリンタの能力情報を更新する（ステップＳ９４２）。その後、情報処理装置１０８は、例えば、同じユーザから別の印刷ジョブの投入指示を受け付けた際に、更新した仮想プリンタの能力情報に基づいて、例えば、直近の印刷で用いられた印刷装置の給紙方向に適した向きに画像が生成される印刷データを生成する。
【００５６】
図１４は、図１の印刷サーバ１０５によって実行される印刷データ送信処理の手順を示すフローチャートである。図１４の処理は、ＣＰＵ３０１がＲＯＭ３０２に格納されたプログラムを実行することによって行われる。
【００５７】
図１４において、ＣＰＵ３０１は、仮想プリンタの印刷部、例えば、印刷装置１０１からジョブリスト要求を受信すると（ステップＳ１４０１）（例えば、ステップＳ９２７を参照。）、ジョブリスト要求に対応するジョブリストを印刷装置１０１に送信する（例えば、ステップＳ９２９を参照。）。その後、ジョブリストの中からユーザに選択された印刷ジョブに対応する印刷データの送信要求を印刷装置１０１から受信すると（ステップＳ１４０２）（例えば、ステップＳ９３１を参照。）、ＣＰＵ３０１は、上記印刷データに対し、フォーマット変換の要否を判別する（ステップＳ１４０３）。ステップＳ１４０３では、例えば、上記印刷データのデータ形式が、印刷装置１０１がサポートするデータ形式である場合、ＣＰＵ３０１は、フォーマット変換が不要であると判別する。一方、上記印刷データのデータ形式が、印刷装置１０１がサポートするデータ形式でない場合、ＣＰＵ３０１は、フォーマット変換が必要であると判別する。
【００５８】
ステップＳ１４０３の判別の結果、フォーマット変換が不要であるとき、ＣＰＵ３０１は、後述するステップＳ１４０５の処理を行う。ステップＳ１４０３の判別の結果、フォーマット変換が必要であるとき、ＣＰＵ３０１は、ジョブ変換部６１６により、印刷データに対してフォーマット変換を行う（ステップＳ１４０４）（例えば、ステップＳ９３２を参照。）。次いで、ＣＰＵ３０１は、上記印刷データに対し、画像生成向きを変換する画像回転変換処理の要否を判別する（ステップＳ１４０５）。ステップＳ１４０５では、例えば、印刷装置１０１が画像生成向きを回転させる画像回転機能を搭載している場合、又は上記印刷データに設定された画像生成向きが、印刷装置１０１の給紙方向に適した向きである場合、ＣＰＵ３０１は、画像回転変換処理が不要であると判別する。一方、印刷装置１０１が上記回転機能を未搭載であり、且つ上記印刷データに設定された画像生成向きが、印刷装置１０１の給紙方向に適した向きでない場合、ＣＰＵ３０１は、画像回転変換処理が必要であると判別する。
【００５９】
ステップＳ１４０５の判別の結果、画像回転変換処理が必要であるとき、ＣＰＵ３０１は、上記印刷データに対し、画像回転変換処理を施す（ステップＳ１４０６）（例えば、ステップＳ９３２を参照。）。次いで、ＣＰＵ３０１は、印刷履歴保存部６０９によって管理される印刷履歴ＤＢを更新する（ステップＳ１４０７）（例えば、ステップＳ９３７を参照）。次いで、ＣＰＵ３０１は、後述する図１１の能力情報更新処理を実行し（ステップＳ１４０８）、仮想プリンタの能力情報を更新し、仮想プリンタの能力情報の更新通知を情報処理装置１０８に送信する。また、ＣＰＵ３０１は、情報処理装置１０８から仮想プリンタの能力情報の送信要求を受信すると、仮想プリンタの能力情報を情報処理装置１０８に送信する（例えば、ステップＳ９４０、Ｓ９４１を参照。）。すなわち、本実施の形態では、画像回転変換処理が必要である場合に、ＣＰＵ３０１は、仮想プリンタの能力情報を情報処理装置１０８に送信する。次いで、ＣＰＵ３０１は、印刷装置１０１へ印刷データを送信し（ステップＳ１４０９）、本処理を終了する。
【００６０】
ステップＳ１４０５の判別の結果、画像回転変換処理が不要であるとき、ＣＰＵ３０１は、印刷履歴保存部６０９によって管理される印刷履歴ＤＢを更新し（ステップＳ１４１０）、ステップＳ１４０９以降の処理を行う。
【００６１】
図１５は、図１４のステップＳ１４０８の能力情報更新処理の手順を示すフローチャートである。図１５の処理では、仮想プリンタの能力情報に含まれる仮想プリンタの用紙サイズ毎の給紙方向が更新される。図１５の処理では、利用回数優先モード及び直近印刷優先モードの何れかが管理者によって予め設定されていることとする。利用回数優先モードに設定された場合、印刷サーバ１０５は、仮想プリンタの能力情報に含まれる仮想プリンタの給紙方向を印刷履歴ＤＢに基づいて更新する。一方、直近印刷優先モードに設定された場合、印刷サーバ１０５は、仮想プリンタの能力情報に含まれる仮想プリンタの給紙方向を直近の印刷で用いられた印刷装置の給紙方向に更新する。
【００６２】
図１５において、ＣＰＵ３０１は、仮想プリンタ能力生成部６０７により、仮想プリンタ構成装置のうち画像回転機能を未搭載の印刷装置がサポートする全ての用紙サイズを抽出する（ステップＳ１５０１）（例えば、図１６（ａ）のテーブル１６０１を参照。）。次いで、ＣＰＵ３０１は、抽出された用紙サイズのうち、仮想プリンタ構成装置の中の特定の印刷装置のみが給紙可能な用紙サイズの給紙方向を設定する（ステップＳ１５０２）。例えば、ＣＰＵ３０１は、抽出された用紙サイズのうち、上記特定の印刷装置のみが給紙可能な「Ａ３」、「Ａ６」、「はがき」、及び「封筒」の給紙方向を、特定の印刷装置の能力情報に基づいて設定する（例えば、図１６（ｂ）のテーブル１６０２を参照）。次いで、ＣＰＵ３０１は、利用回数優先モード及び直近印刷優先モードの何れが設定されているかを判別する（ステップＳ１５０３）。
【００６３】
ステップＳ１５０３の判別の結果、利用回数優先モードが設定されているとき、ＣＰＵ３０１は、抽出された用紙サイズの中の給紙方向が設定されていない用紙サイズに関し、印刷履歴ＤＢに基づいて各給紙方向の累積出力回数を集計する（ステップＳ１５０４）。ステップＳ１５０４では、例えば、給紙方向が設定されていない「Ａ４」に関し、印刷実績情報１２０１に含まれる実績回数に基づいてＬｏｎｇＥｄｇｅＦｅｅｄ及びＳｈｏｒｔＥｄｇｅＦｅｅｄの各累積出力回数を集計する。印刷実績情報１２０１例では、「Ａ４」に関するＬｏｎｇＥｄｇｅＦｅｅｄの累積出力回数は「３０」となり、「Ａ４」に関するＳｈｏｒｔＥｄｇｅＦｅｅｄの累積出力回数は「３６０」となる。すなわち、この例では、「Ａ４」に関する累積出力回数は、ＬｏｎｇＥｄｇｅＦｅｅｄより、ＳｈｏｒｔＥｄｇｅＦｅｅｄの方が多い。次いで、ＣＰＵ３０１は、給紙方向が設定されていない用紙サイズの給紙方向を印刷履歴ＤＢに基づいて設定する（ステップＳ１５０５）。ステップＳ１５０５では、例えば、給紙方向が設定されていない「Ａ４」の給紙方向として、累積出力回数が最も多いＳｈｏｒｔＥｄｇｅＦｅｅｄが設定される（例えば、図１６（ｃ）のテーブル１６０３を参照。）。また、印刷実績の無い「Ａ５」の給紙方向は、プリンタ利用実績情報１２０２の実績回数が最も多い印刷装置１０３の能力情報に基づいて設定される。次いで、ＣＰＵ３０１は、仮想プリンタの能力情報の更新の要否を判別する（ステップＳ１５０６）。
【００６４】
ステップＳ１５０６の判別の結果、仮想プリンタの能力情報の更新が必要であるとき、ＣＰＵ３０１は、仮想プリンタの能力情報を更新する（ステップＳ１５０７）（例えば、ステップＳ９３８を参照）。次いで、ＣＰＵ３０１は、クライアントＤＢ６０３に登録された情報処理装置１０８に対して、仮想プリンタの能力情報の更新通知を行い（ステップＳ１５０８）（例えば、ステップＳ９３９を参照）、本処理を終了する。
【００６５】
ステップＳ１５０３の判別の結果、直近印刷優先モードが設定されているとき、ＣＰＵ３０１は、給紙方向が設定されていない用紙サイズに関し、直近の印刷で用いられた印刷装置の給紙方向を設定する（ステップＳ１５０９）（例えば、図１６（ｄ）のテーブル１６０４を参照。）。次いで、ＣＰＵ３０１は、ステップＳ１５０６以降の処理を行う。
【００６６】
上述した実施の形態によれば、仮想プリンタの能力情報が印刷サーバ１０５から情報処理装置１０８に送信される。情報処理装置は、受信した仮想プリンタの能力情報に基づいて印刷データを生成し、印刷装置１０１、１０３のうち所定の利用実績の印刷装置の能力情報に基づいて仮想プリンタの能力情報が生成される。すなわち、ユーザの利用傾向が反映された仮想プリンタの能力情報に基づいて印刷データが生成される。これにより、ユーザの利用傾向に沿った印刷データを生成することができ、印刷サーバ１０５による印刷データに対する画像回転変換処理の実施が必要となる状況を減らすことができる。その結果、印刷サーバ１０５の処理負荷を軽減することができる。
【００６７】
また、上述した実施の形態では、印刷装置１０１、１０３のうち利用頻度の最も高い印刷装置の能力情報に基づいて仮想プリンタの能力情報が生成される。これにより、ユーザが同じ印刷装置を複数回使用する場合に、印刷サーバ１０５による印刷データに対する画像回転変換処理の実行が必要となる状況を減らすことができる。
【００６８】
さらに、上述した実施の形態では、印刷装置１０１、１０３のうち直近で用いられた印刷装置の能力情報に基づいて仮想プリンタの能力情報が生成される。これにより、ユーザが直近で使用した印刷装置を再度使用する場合に、印刷サーバ１０５による印刷データに対する画像回転変換処理の実行が必要となる状況を減らすことができる。
【００６９】
上述した実施の形態では、印刷装置１０１、１０３の利用実績がユーザ毎に管理される。これにより、ユーザ毎に利用傾向に沿った印刷データを生成することができ、もって、如何なるユーザが仮想プリンタを利用しても、印刷サーバ１０５の処理負荷を軽減することができる。
【００７０】
また、上述した実施の形態では、能力情報は、印刷装置１０１、１０３の給紙方向に関する情報を含む。これにより、印刷サーバ１０５の処理負荷を増やすことなく、ユーザの利用傾向に合致した適切な向きに画像形成を行う印刷データを生成することができる。
【００７１】
また、上述した実施の形態では、印刷データに対する画像回転変換処理の実行が必要である場合、仮想プリンタの能力情報が印刷サーバ１０５から情報処理装置１０８に送信される。また、印刷データに対する画像回転変換処理の実行が不要である場合、仮想プリンタの能力情報が印刷サーバ１０５から情報処理装置１０８に送信されない。これにより、印刷サーバ１０５による仮想プリンタの能力情報の不要な送信に起因する印刷サーバ１０５の処理負荷の増大を抑制することができる。
【００７２】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７３】
１００  画像形成システム
１０１、１０３  印刷装置
１０５  印刷サーバ
１０８  情報処理装置
３０１  ＣＰＵ
３０５  通信部Ｉ／Ｆ
６０７  仮想プリンタ能力生成部
６０９  印刷履歴保存部
１００１、１００２  給紙関連情報
１２０１  印刷実績情報
１２０２  プリンタ利用実績情報
【図１】
2020067893.tif 000003
【図２】
2020067893.tif 000004
【図３】
2020067893.tif 000005
【図４】
2020067893.tif 000006
【図５】
2020067893.tif 000007
【図６】
2020067893.tif 000008
【図７】
2020067893.tif 000009
【図８】
2020067893.tif 000010
【図９Ａ】
2020067893.tif 000011
【図９Ｂ】
2020067893.tif 000012
【図１０】
2020067893.tif 000013
【図１１】
2020067893.tif 000014
【図１２】
2020067893.tif 000015
【図１３】
2020067893.tif 000016
【図１４】
2020067893.tif 000017
【図１５】
2020067893.tif 000018
【図１６】
2020067893.tif 000019