(57)【要約】【課題】印刷ジョブを特定の機種の印刷装置に依存しない中間形式のデータで情報処理装置に留め置きするプリントシステムであっても、印刷ジョブのより詳細な情報を出力前に正確にユーザに提示すること。【解決手段】プリントサーバ１０１のジョブ管理サービス４０２は、印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶しておき、画像形成装置１０２からの要求に応じて、画像形成装置１０２に対応するプリンタドライバをインストールし、該プリンタドライバに、前記中間形式のデータから画像形成装置１０２で実際に印刷される際の体裁を認識できるデータを生成させ、プリントサーバ１０１の内部の記憶領域に出力させ、該出力データから体裁情報を取得して画像形成装置１０２に送信する。画像形成装置１０２のパネル・アプリケーション４０４は、プリントサーバ１０１から受信した印刷対象データの体裁情報を表示する。【選択図】図４
2012181694.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能な情報処理装置であって、
印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、
印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、
前記インストール手段によりインストールされたプリンタドライバに、前記中間形式のデータから前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させる処理手段と、
前記処理手段による出力データから体裁情報を取得して前記印刷装置に送信する送信手段と、を有し、
前記印刷装置では、前記印刷対象となるデータの前記体裁情報の表示が行われることを特徴とする情報処理装置。
【請求項２】
印刷装置からの要求に応じて、前記プリンタドライバを用いて、前記中間形式のデータから、前記印刷装置に依存するデータを生成して前記印刷装置に出力する印刷処理手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記体裁情報は、前記印刷装置で実際に出力される用紙枚数の情報を含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記体裁情報は、前記印刷装置で実際に出力されるモノクロページ数の情報、及びカラーページ数の情報を含むことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記処理手段は、前記プリンタドライバに、前記印刷対象となるデータの各ページのデータを疑似データに置換した上で、前記印刷装置で実際に印刷される際の体裁が認識できるデータを生成させることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記疑似データは、前記印刷対象となるデータの各ページのデータのカラー情報に対応するデータであることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記中間形式は、ＥＭＦＳＰＯＯＬ形式(Enhanced Metafile Spool Format)であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記処理手段は、前記プリンタドライバに、ＰＤＬ(Page Description Language)データを生成させることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記記憶手段は、前記中間形式のデータに対応する印刷設定情報をも記憶するものであり、
前記処理手段は、前記プリンタドライバに、前記中間形式のデータ及び前記中間形式のデータに対応する印刷設定情報から、前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させるものであり、
前記印刷装置から印刷設定の変更指示を受信した場合、前記変更指示に応じて前記中間形式のデータに対応する印刷設定情報を変更し、前記処理手段による当該印刷設定情報の変更に伴い再生成され、出力されたデータから取得される体裁情報を、前記送信手段に再送信させるように制御する制御手段を有することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
情報処理装置と印刷装置とを含むプリントシステムであって、
前記情報処理装置は、
印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、
前記印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、
前記インストール手段によりインストールされたプリンタドライバに、前記中間形式のデータから前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させる処理手段と、
前記処理手段による出力データから体裁情報を取得して前記印刷装置に送信する送信手段と、を有し、
前記印刷装置は、
前記情報処理装置に対して、前記印刷すべきデータに関する情報の要求を行う要求手段と、
前記情報処理装置から受信される前記印刷対象となるデータの前記体裁情報を表示する表示手段と、を有する、
ことを特徴とするプリントシステム。
【請求項１１】
印刷装置と通信可能な情報処理装置における制御方法であって、
印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶手段に記憶する記憶ステップと、
印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストールステップと、
前記プリンタドライバに、前記中間形式のデータから前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させる処理ステップと、
前記処理ステップによる出力データから体裁情報を取得して前記印刷装置に送信する送信ステップと、を有し、
前記印刷装置では、前記印刷対象となるデータの前記体裁情報の表示が行われることを特徴とする制御方法。
【請求項１２】
情報処理装置と印刷装置とを含むプリントシステムにおける制御方法であって、
前記情報処理装置のコントローラが、
印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶手段に記憶する記憶ステップと、
印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストールステップと、
前記プリンタドライバに、前記中間形式のデータから前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させる処理ステップと、
前記処理ステップによる出力データから体裁情報を取得して前記印刷装置に送信する送信ステップと、を実行し、
前記印刷装置のコントローラが、
前記情報処理装置に対して、前記印刷すべきデータに関する情報の要求を行う要求ステップと、
前記情報処理装置から受信される前記印刷対象となるデータの前記体裁情報を表示する表示ステップと、を実行する、
ことを特徴とする制御方法。
【請求項１３】
請求項１乃至９のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プルプリントの制御に関する。
【背景技術】
【０００２】
従来、ユーザが印刷装置からサーバ上に一時蓄積されたＰＤＬ(Page Description Language)データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能にする所謂「プルプリント」の印刷システムが提案されている（例えば、特許文献１参照）。
【０００３】
この印刷システムにより、ユーザはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷データ出力を可能としている。その際、サーバ上に一時蓄積されたＰＤＬデータの解析を行うことで、ユーザは所望の印刷装置上で印刷設定の確認を行うことが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０３３８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のプルプリントシステムでは、対象となる印刷装置の機種及びＰＤＬ種類に対応した解析用のプログラムを用いて、ＰＤＬデータを解析し印刷設定情報をユーザに提示することはできた。
【０００６】
例えば、４ページデータの印刷設定を２ｉｎ１に設定して、従来のプルプリントシステムで印刷することを想定する。ここで、ＰＤＬデータを解析することなく、従来のシステムで得られる情報は「４ページ・２ｉｎ１」という程度の情報にとどまる。このため、従来のプルプリントシステムでは、ＰＤＬデータを解析することなく、レンダリング後の総ページ数、カラーページ数、モノクロページ数といった、実際に印刷装置で印刷される体裁を表すような詳細な情報を得ることができなかった。具体的には、レンダリングの結果が「総ページ数：２ページ、カラーページ数：１ページ、モノクロページ数：１ページ」となる等の詳細な情報を得ることができなかった。
【０００７】
このような詳細な情報を得るためには、印刷装置のパネル・アプリケーションで出力結果の情報を導出する必要があるが、その導出方法は、各ＰＤＬ・各モデルによって異なる。このため、ＰＤＬやモデル数の組み合わせを全て考慮して、印刷装置のパネル・アプリケーションで出力結果の情報を導出するための構成（解析プログラム）を事前に印刷装置に実装するのは、現実的ではなかった。
【０００８】
また、プリントサーバのサービスで出力結果の情報を導出する場合でも、印刷装置から要求を受けるたびに、プリントサーバがこの処理を行うと、プリントサーバに大きな負荷がかかってしまい、パフォーマンスに影響を与える恐れがあった。
【０００９】
本発明は、上記の問題点を解決するためになされたものである。本発明は、印刷ジョブを特定の機種の印刷装置に依存しない中間形式のデータで情報処理装置に留め置きするプリントシステムを想定し、その目的は、印刷ジョブのより詳細な情報を出力前に正確にユーザに提示することができる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、印刷装置と通信可能な情報処理装置であって、印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶する記憶手段と、印刷装置からの要求に応じて、当該印刷装置に対応するプリンタドライバのインストールを行うインストール手段と、前記インストール手段によりインストールされたプリンタドライバに、前記中間形式のデータから前記印刷装置で実際に印刷される際の体裁を認識できるデータを生成させ、前記情報処理装置の内部の記憶領域に出力させる処理手段と、前記処理手段による出力データから体裁情報を取得して前記印刷装置に送信する送信手段と、を有し、前記印刷装置では、前記印刷対象となるデータの前記体裁情報の表示が行われることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、印刷ジョブを特定の機種の印刷装置に依存しない中間形式のデータで情報処理装置に留め置きするプリントシステムであっても、印刷ジョブのより詳細な情報を出力前に正確にユーザに提示することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例を示すプリントシステムの構成の一例を示すシステム構成図である。
【図２】図１に示したクライアントＰＣ１００、プリントサーバ１０１、ログインサービスＰＣ１０３、ディレクトリサービスサーバ１０４に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【図３】図１に示した画像形成装置１０２のコントローラユニットのハードウェア構成の一例を示すブロック図である。
【図４】本実施形態のプリントシステムの全体の流れを説明する模式図である。
【図５】図１に示したクライアントＰＣ１００上で動作するクライアント・アプリケーション４００の印刷画面の一例を示す模式図である。
【図６】本発明のプリントシステムにおける第１の制御処理手順の一例を示すフローチャートである。
【図７】本発明のプリントシステムにおける第２の制御処理手順の一例を示すフローチャートである。
【図８】図７のステップＳＢ７０２で呼び出される論理プリンタ作成処理のフローチャートである。
【図９】図７のステップＳＢ７０７で呼び出されるＥＭＦＳＰＯＯＬ形式印刷ジョブの加工処理のフローチャートである。
【図１０】本発明のプリントシステムにおける中間形式印刷ジョブの加工処理の一例を示す図である。
【図１１】本発明のプリントシステムにおける第３の制御処理手順の一例を示すフローチャートである。
【図１２】本発明のプリントシステムにおける第４の制御処理手順の一例を示すフローチャートである。
【図１３】画像形成装置１０２の操作部３０８に表示される画面の一例を示す図である。
【図１４】画像形成装置１０２の操作部３０８に表示される画面の一例を示す図である。
【図１５】画像形成装置１０２の操作部３０８に表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明の一実施例を示すプリントシステムの構成の一例を示すシステム構成図である。
図１の「事業所Ａ」に示すように、本実施形態のプリントシステムは、１又は複数のクライアントＰＣ１００（例えば、ユーザ毎）、１又は複数のプリントサーバ１０１（例えば、階毎に設置）、１又は複数の画像形成装置（印刷装置）１０２（例えば、階毎に設置）、１又は複数のログインサービスＰＣ１０３（例えば、階毎に設置）、ディレクトリサービスサーバ１０４がローカルエリアネットワーク（ＬＡＮ）１０５を介して通信可能に接続される構成となっている。
【００１５】
クライアントＰＣ１００には、仮想プリンタドライバがインストールされている。この仮想プリンタドライバは、クライアント・アプリケーションから受け取ったデータに基づいて特定の機種の画像形成装置に依存しない中間形式の印刷ジョブを生成し、プリントサーバ１０１へ送信する。
【００１６】
なお、中間形式の印刷ジョブとは、フォーマットに関する仕様が公開されていて、かつ再編集が容易な形式の印刷データを意味する。例えば、ＥＭＦＳＰＯＯＬ形式(Enhanced Metafile Spool Format)、ＰＤＦ(Portable Document Format)、ＸＰＳ(XML Paper Specification)などがある。本実施形態においては、ＥＭＦＳＰＯＯＬ形式を使って説明するが、ＸＰＳやＰＤＦなど他の中間形式の印刷データであってもかまわない。
【００１７】
プリントサーバ１０１は、クライアントＰＣ１００等から受信した該印刷ジョブを所定の格納場所に格納する。また、プリントサーバ１０１は、ジョブ管理データベース（以後、ジョブ管理ＤＢと呼ぶ）を備え、ジョブ管理ＤＢにより印刷設定に関わるメタデータおよび印刷ジョブを記憶管理する。
【００１８】
また、プリントサーバ１０１は、ジョブ管理ＤＢに記録管理している該印刷ジョブの描画データを加工し、メタデータと加工済のＥＭＦＳＰＯＯＬ形式の印刷ジョブを利用してＰＤＬ(Page Description Language)データを生成し、生成されたＰＤＬデータを解析する。プリントサーバ１０１は、メタデータと解析結果から印刷ジョブ一覧データを生成し、画像形成装置１０２へ転送制御する。
【００１９】
さらに、プリントサーバ１０１は、画像形成装置１０２から上記印刷ジョブ一覧に含まれる印刷ジョブに関する印刷設定の変更情報を受信した場合、該受信した印刷設定の変更情報に基づいて、ジョブ管理ＤＢ４０３（図４）に記録管理しているメタデータを更新し、再度、ＰＤＬデータを生成して解析する。そして、プリントサーバ１０１は、メタデータと解析結果から印刷設定情報を生成し、対象ジョブの印刷設定情報を画像形成装置１０２へ転送する。
【００２０】
また、プリントサーバ１０１は、画像形成装置１０２から上記印刷ジョブ一覧に含まれる印刷ジョブに関する印刷指示を受信すると、上記所定の格納場所に保存している印刷ジョブとメタデータを利用し、プリンタドライバで印刷処理を実行する。
【００２１】
ログインサービスＰＣ１０３は、画像形成装置１０２のログインサービスとして、ディレクトリサービスサーバ１０４で記憶管理されているクライアントＰＣ１００のログインユーザ名、パスワード（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）のログインユーザ名、パスワード）に基づく認証処理（ＳＳＯと称する。Single Sign-ONの略）を行うものである。例えば、ログインサービスＰＣ１０３は、キヤノン社のセキュリティエージェント(Security Agent)を搭載したパーソナルコンピュータである。
【００２２】
ディレクトリサービスサーバ１０４は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性（クライアントＰＣ１００のログインユーザ名、パスワード（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）のログインユーザ名、パスワード）を含む）、アクセス権等の情報を一元記憶管理するものである。例えば、ディレクトリサービスサーバ１０４は、アクティブディレクトリ(Active Directory)機能を搭載したサーバである。
【００２３】
また、本実施形態のプリントシステムは、上述した構成の「事業所Ａ」と、１又は複数のクライアントＰＣ１００，１又は複数のプリントサーバ１０１，１又は複数の画像形成装置１０２がＬＡＮ１０５を介して接続される構成の１又は複数の「事業所Ｂ」とが、ＷＡＮ１０６を介して接続される構成であってもよい。
【００２４】
以下、図２を用いて、図１に示したクライアントＰＣ１００、プリントサーバ１０１、ログインサービスＰＣ１０３、ディレクトリサービスサーバ１０４に適用可能な情報処理装置のハードウェア構成について説明する。
【００２５】
図２は、図１に示したクライアントＰＣ１００、プリントサーバ１０１、ログインサービスＰＣ１０３、ディレクトリサービスサーバ１０４に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００２６】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２７】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２８】
２０５は入力コントローラで、キーボード２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、モニター２１０への表示を制御する。一般に、モニター２１０は液晶ディスプレイやＣＲＴ等の表示器である。これらは必要に応じて管理者等が使用するものである。
【００２９】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）、ＳＳＤ(Solid State Drive)、ＳＤメモリーカード等の外部メモリ２１１へのアクセスを制御する。
【００３０】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ１０５）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、通信Ｉ／Ｆコントローラ２０８は、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３１】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、モニター２１０上での表示を可能としている。また、ＣＰＵ２０１は、モニター２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３２】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３３】
以下、図３を用いて、図１に示した画像形成装置１０２を制御するコントローラユニットのハードウェア構成について説明する。
図３は、図１に示した画像形成装置１０２のコントローラユニットのハードウェア構成の一例を示すブロック図である。
図３において、３１６はコントローラユニットで、画像入力装置として機能するスキャナ部３１４や、画像出力装置として機能するプリンタ部３１２と接続する一方、ＬＡＮ（例えば、図１に示したＬＡＮ１０５）や公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行う。
【００３４】
コントローラユニット３１６において、３０１はＣＰＵで、システム全体を制御するプロセッサである。３０２はＲＡＭで、ＣＰＵ３０１が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【００３５】
３０３はＲＯＭで、システムのブートプログラムや各種制御プログラムが格納されている。３０４はハードディスクドライブ（ＨＤＤ）で、システムを制御するための各種プログラム，画像データ等を格納する。なお、コントローラユニット３１６は、ＨＤＤ３０４の代わりにＳＳＤ等のその他の記憶装置を備える構成であってもよい。
【００３６】
３０７は操作部インタフェース（操作部Ｉ／Ｆ）で、操作部（ＵＩ）３０８とのインタフェース部であり、操作部３０８に表示する画像データを操作部３０８に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０８から本システム使用者が入力した情報（例えば、ユーザ情報等）をＣＰＵ３０１に伝える役割をする。なお、操作部３０８は、タッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００３７】
３０５はネットワークインタフェース（Ｎｅｔｗｏｒｋ Ｉ／Ｆ）で、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。３０６はモデム（ＭＯＤＥＭ）で、公衆回線に接続し、ＦＡＸの送受信等のデータの入出力を行う。
【００３８】
３１８は外部インタフェース（外部Ｉ／Ｆ）で、ＵＳＢ、ＩＥＥＥ１３９４，プリンタポート，ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部である。外部Ｉ／Ｆ３１８は、本実施形態においては認証で必要となるＩＣカードの読み取り用のカードリーダ３１９が外部Ｉ／Ｆ部３１８に接続されている。ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス３０９上に配置される。
【００３９】
３２０はイメージバスインタフェース(ＩＭＡＧＥ ＢＵＳ Ｉ／Ｆ）であり、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。
【００４０】
画像バス３１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。
３１０はラスターイメージプロセッサ（ＲＩＰ）で、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。３１１はプリンタインタフェース（プリンタＩ／Ｆ）で、プリンタ部３１２とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。３１３はスキャナインタフェース（スキャナＩ／Ｆ）で、スキャナ部３１４とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。
【００４１】
３１７は画像処理部で、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００４２】
スキャナ部３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサーで走査することで、ラスターイメージデータとして電気信号に変換する。原稿用紙をスキャナ部３１４の原稿フィーダのトレイにセットし、装置使用者が操作部３０８から読み取り起動指示することにより、ＣＰＵ３０１がスキャナ部３１４に指示を与える。この指示により、スキャナ部３１４はフィーダにより原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００４３】
プリンタ部３１２は、ラスターイメージデータを用紙上の画像に変換する部分である。プリント方式は、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、プリンタ部３１２はどの方式を用いるものでも構わない。プリンタ部３１２のプリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。なお、プリンタ部３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【００４４】
操作部３０８は、ＬＣＤ表示部を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。
【００４５】
また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部３０８のストップキーは、稼働中の動作を止める働きをする。また、操作部３０８のＩＤキーは、使用者のユーザＩＤを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【００４６】
カードリーダ３１９は、ＣＰＵ３０１からの制御により、ＩＣカード（例えば、ソニー社のフェリカ（ＦｅｌｉＣａ）（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ３１８を介してＣＰＵ３０１へ通知する。
【００４７】
以上のような構成によって、画像形成装置１０２は、スキャナ部３１４から読み込んだ画像データをＬＡＮ１０５上に送信したり、ＬＡＮ１０５から受信した印刷データをプリンタ部３１２により印刷出力することができる。また、スキャナ部３１４から読み込んだ画像データをモデム３０６により、公衆回線上にＦＡＸ送信したり、公衆回線からＦＡＸ受信した画像データをプリンタ部３１２により出力することできる。
【００４８】
以下、図４を用いて、本実施形態のプリントシステムにおける詳細情報表示のための全体の流れについて説明する。
その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。
本実施形態のプルプリントを実現するための仮想プリンタドライバをプリントサーバ１０１に共有プリンタとしてインストールしておく。プリンタドライバは、アプリケーションから指示された印字や描画命令の出力に基づいて印刷データを生成するだけでなく、プリンタドライバやプリンタが持つ機能を制御するための印刷設定を行う機能（ユーザインタフェース）と、その印刷設定をインストールされた論理プリンタ毎に外部メモリに記憶する機能等を有する。また、この印刷設定は、米国Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）の場合、ＤＥＶＭＯＤＥ構造体（以降、ＤＥＶＭＯＤＥと呼ぶ）に格納される。このＤＥＶＭＯＤＥとは、プリンタが使用可能な機能，レイアウト設定，仕上げ設定，給・排紙設定，印字品質設定等の論理プリンタに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Ｍｉｃｒｏｓｏｆｔ社が規定したものであり、インストールされた論理プリンタ毎に外部メモリに記憶される。各クライアントＰＣ１００へは、仮想プリンタドライバを前記プリントサーバ１０１からポイント＆プリント等でダウンロードしてインストールして、該仮想プリンタドライバの論理プリンタを追加しておく。
【００４９】
以下、本実施形態のプルプリントの全体の流れについて説明する。
図４は、本実施形態のプリントシステムの全体の流れを説明する模式図である。
図４に示すように、まずユーザは、クライアントＰＣ１００にログインし、該クライアントＰＣ１００で実行されるクライアント・アプリケーション４００から仮想プリンタドライバ４０１に対応する論理プリンタへの印刷指示を行う（１−１）。この印刷指示に応じて、クライアントＰＣ１００のクライアント・アプリケーション４００は、グラフィックエンジンを介して、仮想プリンタドライバ４０１にデータを送信する。
【００５０】
クライアントＰＣ１００の仮想プリンタドライバ４０１は、該クライアント・アプリケーションからグラフィックエンジンを介して受け取ったデータに基づいて画像形成装置に依存しないＥＭＦＳＰＯＯＬ形式印刷ジョブを生成する。さらに、仮想プリンタドライバ４０１の印刷設定（ＤＥＶＭＯＤＥ等）やクライアントＰＣのユーザ情報等を含むメタデータを作成する。そして、クライアントＰＣ１００は、生成したＥＭＦＳＰＯＯＬ形式の印刷ジョブと印刷設定情報を含むメタデータをプリントサーバ１０１に送信する（１−２）。
【００５１】
プリントサーバ１０１のジョブ管理サービス４０２は、クライアントＰＣ１００からＥＭＦＳＰＯＯＬ形式の印刷ジョブとメタデータを受信する。そして、プリントサーバ１０１のジョブ管理サービス４０２は、プリントサーバ１０１上の所定の格納場所にＥＭＦＳＰＯＯＬ形式の印刷ジョブを保存し、さらにメタデータおよびＥＭＦＳＰＯＯＬ形式印刷ジョブのファイル名をジョブ管理ＤＢ４０３（プリントサーバ１０１の外部メモリ上に構築される）に登録する（１−３）。このとき、プリントサーバ１０１は、上記所定の格納場所に印刷ジョブを保存するだけで、印刷ジョブの画像形成装置への送信は行わない。
【００５２】
画像形成装置１０２は、カードリーダ３１９により読み取り可能なＩＣカードを検知すると、該ＩＣカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として不出図の認証サーバに送信する。個人認証情報は、認証に用いられる情報であり該ＩＣカードの製造番号でも良い。認証サーバは、画像形成装置１０２より個人認証情報を受信すると、該個人認証情報の認証処理を認証サーバの外部メモリ上に記憶されるＩＣカード認証用テーブルに基づいて行い、認証結果を画像形成装置１０２に返信する。なお、認証処理に成功した場合には、認証結果として、クライアントＰＣ１００のユーザ識別子を送信するものとする。
【００５３】
画像形成装置１０２上のパネル・アプリケーション４０４は、認証に成功した旨の認証結果（クライアントＰＣ１００のログインユーザ識別子）を受信する。本実施形態では、ユーザ識別子としてユーザ名を使用する。もちろん、ユーザを識別する手段としてＩＣカードの製造番号などでもかまわない。そして、パネル・アプリケーション４０４は、プリントサーバ１０１上のジョブ管理サービス４０２へ対し印刷ジョブ一覧を要求すると同時に画像形成装置１０２のモデル名・ユーザ名を送信する（２−１）。
【００５４】
ジョブ管理サービス４０２は、パネル・アプリケーション４０４から送信されたモデル名を使用して、そのモデルに適したプリンタドライバ４０６をインストールする（２−２）。また、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から送信されたユーザ識別子を用いて、ジョブ管理ＤＢ４０３から対象とされるメタデータおよびＥＭＦＳＰＯＯＬ形式印刷ジョブを参照し（２−３）、ＥＭＦＳＰＯＯＬ形式印刷ジョブの描画データを加工する（２―４）。描画データの加工とは、ＥＭＦＳＰＯＯＬ形式の印刷ジョブのＧＤＩコマンドを論理ページごとに削除し、任意のＧＤＩコマンドを追加する処理のことを言う。描画データの加工については後述する。
【００５５】
さらに、ジョブ管理サービス４０２は、加工したＥＭＦＳＰＯＯＬ形式印刷ジョブと参照したメタデータをプリンタドライバ４０６に送信し、ローカルポート印刷を行う（２−５）。ここでローカルポート印刷とは、プリンタドライバが作成したＰＤＬデータをファイル形式で装置内部の記憶領域に保存（出力）することをいう。さらに、ジョブ管理サービス４０２は、保存されたＰＤＬデータ（ローカルポート印刷の出力データ）を取得して（２−６）解析し、該ユーザ識別子に対応する印刷ジョブ一覧を生成し始める（２−７）。
【００５６】
ジョブ管理サービス４０２は、該ユーザ識別子に対応する印刷ジョブをジョブ管理ＤＢ４０３のレコードを全て参照するまで２−３〜２−７の処理を繰り返して印刷ジョブ一覧を生成する。そして、ジョブ管理サービス４０２は、印刷ジョブ一覧の生成が完了次第、パネル・アプリケーション４０４へ印刷ジョブ一覧を返信する（２−８）。
【００５７】
パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷ジョブ一覧を受信すると、該印刷データ一覧を操作部３０８のＵＩ上に表示する。そして、ユーザにより印刷ジョブが選択され、印刷設定変更がなされると、パネル・アプリケーション４０４は、印刷設定変更情報をジョブ管理サービス４０２に送信する（３−１）。
【００５８】
ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷設定変更情報を受信すると、ジョブ管理ＤＢ４０３から対象とされるメタデータおよびＥＭＦＳＰＯＯＬ形式印刷ジョブを参照し（３−２）、前記印刷設定変更情報をもとにメタデータを更新する。
【００５９】
さらに、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式印刷ジョブの描画データを加工する（３―３）。
そして、ジョブ管理サービス４０２は、加工したＥＭＦＳＰＯＯＬ形式印刷ジョブと更新したメタデータをプリンタドライバ４０６に送信し、ローカルポート印刷を行って、ＰＤＬデータをファイル形式で装置内部の記憶領域に保存（出力）させる（３−４）。そして、ジョブ管理サービス４０２は、保存されたＰＤＬデータ（ローカルポート印刷の出力データ）を取得して（３−５）、解析し（３−６）、該印刷ジョブの印刷設定変更結果に反映してパネル・アプリケーション４０４に送信する（３−７）。
【００６０】
そして、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷設定変更結果を受信すると、該印刷データ一覧を操作部３０８のＵＩ上に表示する。
そして、パネル・アプリケーション４０４において、ユーザにより印刷ジョブが選択され印刷指示がなされると、ジョブ管理サービス４０２は、出力指示を受信し（４−１）、対象ジョブをジョブ管理ＤＢから参照する(４−２)。
【００６１】
さらに、ジョブ管理サービス４０２は、ジョブ管理ＤＢ４０３のメタデータ及びＥＭＦＳＰＯＯＬ形式印刷ジョブを、出力ポートが画像形成装置１０２のアドレスに設定された論理プリンタで印刷し（４−３）、画像形成装置１０２で出力させる（４−４）。
【００６２】
以上、プリントシステム全体の流れを説明した。以降、フローチャートを使って詳細に説明する。なお、図４に示したクライアント・アプリケーション４００、及び仮想プリンタドライバ４０１は、クライアントＰＣ１００のＣＰＵが外部メモリにコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。また、ジョブ管理サービス４０２、及びプリンタドライバ４０６は、プリントサーバ１０１のＣＰＵが外部メモリにコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。また、画像形成装置１０２上のパネル・アプリケーション４０４は、画像形成装置１０２のＣＰＵ３０１がＨＤＤ３０４にコンピュータ読み取り可能に記録されたプログラムを実行することにより実現される。
【００６３】
以下、図５を参照して、図１に示したクライアントＰＣ１００上で動作するクライアント・アプリケーション４００上での印刷指示について説明する。
図５は、図１に示したクライアントＰＣ１００上で動作するクライアント・アプリケーション４００の印刷画面の一例を示す模式図であり、クライアントＰＣ１００のＣＰＵの制御によりクライアントＰＣ１００のモニターに表示される。
【００６４】
図５において、５１０は論理プリンタ選択部で、クライアントＰＣ１００に設定されている論理プリンタから、印刷を行う論理プリンタを選択するためのものである。このプリンタ選択部５１０において、「プルプリント」５０１は、本実施形態のプルプリント設定された仮想プリンタドライバ（図４の４０１）に対応する論理プリンタとする。さらに、「Ｃｘｘｘｘ ｉｘ３２５０」５０２，「Ｃｘｘｘｘ ｉｘ５０５１」５０３は、通常のプリンタドライバに対応する論理プリンタとする。
【００６５】
プリンタ選択部５１０で、いずれかの論理プリンタが選択され、ＯＫボタン５０５がポインティングデバイス等で指示されると、クライアント・アプリケーション４００は、印刷のためのデータを、プリンタ選択部５１０で選択された論理プリンタに対応するプリンタドライバにグラフィックエンジンを介して送信する。
【００６６】
以下、図６を参照して、プリンタ選択部５１０で「プルプリント」５０１が選択されて印刷指示がなされた場合のプリンタドライバの動作について説明する。
図６は、本発明のプリントシステムにおける第１の制御処理手順の一例を示すフローチャートであり、図４に示した１−１〜１−３の処理手順に対応する。なお、ステップＳＡ６００〜ＳＡ６０２は、図４に示した仮想プリンタドライバ４０１による印刷ジョブ投入処理に対応する。即ち、これらの処理は、図１に示したクライアントＰＣ１００のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。また、ステップＳＢ６００〜ＳＢ６０６は、図４に示したジョブ管理サービス４０２によるＥＭＦＳＰＯＯＬ形式の印刷ジョブおよびメタデータ登録処理、ＥＭＦＳＰＯＯＬ形式の印刷ジョブ保存処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００６７】
まず、仮想プリンタドライバ４０１による印刷ジョブ投入処理を説明する。
ステップＳＡ６００において、仮想プリンタドライバ４０１の処理が開始する。ステップＳＡ６０１において、仮想プリンタドライバ４０１は、クライアント・アプリケーション４００から仮想プリンタドライバ４０１に入力されたデータを、ＥＭＦＳＰＯＯＬ形式印刷ジョブとして出力する。この処理は図４の１−１に相当する。米国Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）の場合、プリンタドライバへの入力はＤＤＩ(Device Driver Interface)と呼ばれるＯＳ(Operating System)による関数呼び出しによって実施される。仮想プリンタドライバ４０１は、ＤＤＩの呼び出しと同時に渡されるパラメーターを解釈して、ＥＭＦＳＰＯＯＬ形式印刷ジョブを生成し、ＯＳが管理するスプーラへ生成したジョブを出力する。一般に、プリンタドライバの役割は、出力対象の画像形成装置に依存した印刷ジョブを生成し出力することであるが、本実施形態においては、画像形成装置１０２に依存しない中間形式の印刷ジョブを生成し、出力することが重要である。これによって、画像形成装置１０２の構成が変更されたとしても、本発明のプリントシステムにおいて仮想プリンタドライバ４０１の構成に変更は生じない。つまり、画像形成装置固有の機能をプルプリントシステムで使用することが容易に実現できる。さらに、仮想プリンタドライバ４０１は、印刷設定情報を含むメタデータを送信している。本実施形態では、メタデータをＥＭＦＳＰＯＯＬ形式の印刷ジョブに付加してジョブ管理サービス４０２に送信しているが、これらを別のデータとして、分けて送信しても構わない。
【００６８】
ここで、メタデータについて詳しく説明する。
メタデータは、印刷設定情報を持つデータ群となっている。具体的に言うと、メタデータは、ＤＥＶＭＯＤＥや集約情報、論理ページ数、物理ページ数、印刷データのカラー判定結果、クライアントＰＣ１０１のユーザ名・ドメイン名・コンピュータ名等の情報を保持している。そのため、ジョブ管理サービス４０２は、メタデータの情報を受信することで、クライアントの情報を知ることができる。ただし、上記のメタデータを全て導出するためには、各ＰＤＬ・各モデルにおいて用紙やページの考え方が異なっているため、各プリンタドライバの内部実装の導出方法をジョブ管理サービス４０２もしくはパネル・アプリケーション４０４に実装しなければならない。これは、実装には負荷が大きく現実的ではない。そのため、本発明ではこの問題を解決するために、仮想プリンタドライバ４０１とプリンタドライバ４０６を通じて得た解析データを使用して、メタデータを更新する手法を提案している。最後に、仮想プリンタドライバ４０１は、ステップＳＡ６０２で処理を終了する。
【００６９】
次に、ジョブ管理サービス４０２によるメタデータ登録処理及び印刷ジョブ保存処理を説明する。
ステップＳＢ６００において、ジョブ管理サービス４０２は、プリントサーバ１０１上で処理を開始する。ステップＳＢ６０１において、ジョブ管理サービス４０２は、印刷ジョブを保存するファイルパスを決定する。本実施形態では、ジョブ管理サービス４０２は、ＧＵＩＤ(Global Unique Identifier)を生成し、該ＧＵＩＤを、受信する印刷ジョブのジョブ識別子として使用する。このジョブ識別子としてのＧＵＩＤ(Global Unique Identifier)を、受信する印刷ジョブを保存するファイルパスの決定に利用してもよい。
【００７０】
次に、ステップＳＢ６０２において、ジョブ管理サービス４０２は、仮想プリンタドライバ４０１から送信されたメタデータおよびＥＭＦＳＰＯＯＬ形式の印刷ジョブを受信する。
【００７１】
ステップＳＢ６０３において、ジョブ管理サービス４０２は、受信したＥＭＦＳＰＯＯＬ形式の印刷ジョブをステップＳＢ６０１で決定したファイル名で保存する。
ステップＳＢ６０４において、ジョブ管理サービス４０２は、現在の日付・時刻を生成する。これをもって印刷ジョブ投入時刻とする。
ステップＳＢ６０５において、ジョブ管理サービス４０２は、上記ＳＢ６０１で決定したファイル名とメタデータとステップＳＢ６０４で生成した日付・時刻を、新規レコードとして図４のジョブ管理ＤＢ４０３に登録する。
【００７２】
最後に、ジョブ管理サービス４０２は、ステップＳＢ６０６で処理を終了する。
図７は、本発明のプリントシステムにおける第２の制御処理手順の一例を示すフローチャートであり、図４に示した２−１〜２−８の処理手順に対応する。なお、ステップＳＣ７００〜ＳＣ７１０は、図４に示したパネル・アプリケーション４０４による印刷ジョブ一覧表示処理に対応する。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。また、ステップＳＢ７００〜ＳＢ７１３は、図４に示したジョブ管理サービス４０２によるジョブ加工・解析および印刷ジョブ一覧生成に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００７３】
まず、パネル・アプリケーション４０４による印刷ジョブ一覧表示処理を説明する。
ステップＳＣ７００において、パネル・アプリケーション４０４の処理が開始する。ステップＳＣ７０１において、パネル・アプリケーション４０４は、ログイン表示画面（図１３（ａ））を操作部３０８の表示部に表示するように制御する。
【００７４】
図１３（ａ）は、画像形成装置１０２の操作部３０８に表示されるログイン表示画面の一例を示す図である。
そして、ステップＳＣ７０２において、パネル・アプリケーション４０４は、ＩＣカード等によるユーザ認証を行う。本実施形態において、ユーザ認証は重要なプロセスではないので、ここでは、認証カードの検出方法やＩＣカードの識別ＩＤ取得方法や認証サーバによる認証処理といった詳細説明を省略する。
【００７５】
ステップＳＣ７０３において、パネル・アプリケーション４０４は、認証結果を判定する。そして、認証エラーである旨の認証結果が得られた場合（ＳＣ７０３でＮｏ）、パネル・アプリケーション４０４は、ステップＳＣ７０４において、エラー表示画面（図１３（ｂ））を操作部３０８の表示部に表示するように制御する。
【００７６】
図１３（ｂ）は、画像形成装置１０２の操作部３０８に表示されるエラー表示画面の一例を示す図である。
該エラー表示画面にてＯＫボタンの押下を受け付けると、パネル・アプリケーション４０４は、ステップＳＣ７０１に処理を戻し、再度、ログイン表示画面を表示制御する。
一方、ステップＳＣ７０３にて認証が成功したと判定した場合（ＳＣ７０３でＹｅｓ）、パネル・アプリケーション４０４は、ステップＳＣ７０５へ処理を進める。
ステップＳＣ７０５では、パネル・アプリケーション４０４は、認証に成功したユーザ名を取得する。
ステップＳＣ７０６において、パネル・アプリケーション４０４は、ユーザ名と対応するサーバのＩＰアドレスを取得する。本実施形態において、ユーザ毎のプリントサーバのアドレス解決方法は重要なプロセスではないため、ここでは各ユーザで使用するプリントサーバは一意に決まっているものとし、詳細な説明を省略する。実現方法としては、ユーザ認証後にユーザ名と対象プリントサーバアドレスの対応が登録されているＤＢ等を参照してアドレス解決を行う方法がある。また、画像形成装置内のＨＤＤ３０４にユーザ名と対象プリントサーバのアドレスの対応表などが保存され、ユーザ認証後に対応表からユーザが使用しているプリントサーバのアドレスを取得する方法でも構わない。
【００７７】
次に、ステップＳＣ７０７において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２に印刷ジョブ一覧要求コマンドを送信する。このときユーザ名および画像形成装置１０２のモデル名も送信する。
【００７８】
そして、ステップＳＣ７０８において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷ジョブ一覧を受信する。この印刷ジョブ一覧は、印刷ジョブ毎に、ＧＵＩＤ、ジョブ名、部数、両面、カラーモード、ページ集約、日付・時刻、ページ数、カラーページ数、モノクロページ数などの項目の情報を含む。本実施形態では、これらの印刷ジョブ一覧データは、ＸＭＬ形式のような拡張が容易なデータ形式を使用する。さらに、印刷ジョブ一覧に使用する項目を上記しているが、必要に応じて増減しても構わない。
次に、ステップＳＣ７０９に進み、パネル・アプリケーション４０４は、印刷ジョブ一覧表示画面（図１４（ａ））を操作部３０８の表示部に表示するように制御する。
【００７９】
図１４（ａ）は、画像形成装置１０２の操作部３０８に表示される印刷ジョブ一覧表示画面の一例を示す図である。
図１４（ａ）の印刷ジョブ一覧表示画面を表示すると、パネル・アプリケーション４０４は、ステップＳＣ７１０で処理を終了する。
【００８０】
次にジョブ管理サービス４０２によるジョブ加工・解析および印刷ジョブ一覧生成を説明する。
ステップＳＢ７００において、ジョブ管理サービス４０２の処理が開始する。ステップＳＢ７０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷ジョブ一覧要求を受信する。このときユーザ名および画像形成装置１０２のモデル名も受信する。上記印刷ジョブ一覧要求等は、上記ＳＣ７０７で送信されたものである。
【００８１】
ステップＳＢ７０２において、ジョブ管理サービス４０２は、上記ＳＢ７０１で受信した画像形成装置１０２のモデル名に適応したプリンタドライバをインストールする。本処理に関しては後述する図８にて詳細に説明する。
【００８２】
次に、ステップＳＢ７０３において、ジョブ管理サービス４０２は、図４のジョブ管理ＤＢ４０３から上記ＳＢ７０１で得たユーザ名と一致するレコードを探索する。
そして、ステップＳＢ７０４において、ジョブ管理サービス４０２は、上記ＳＢ７０３で探索したレコードから１つのレコードを取り出す処理を行う。
次に、ステップＳＢ７０５において、ジョブ管理サービス４０２は、上記ＳＢ７０４にてレコードを取り出せたかどうかを判定する。そして、取り出せたと判定した場合（ＳＢ７０５でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ７０６へ処理を進める。
【００８３】
ステップＳＢ７０６では、ジョブ管理サービス４０２は、上記ＳＢ７０４で取り出したレコード（現在のレコード）の情報を利用してＥＭＦＳＰＯＯＬ形式印刷ジョブを取得する。
【００８４】
ステップＳＢ７０７において、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式の印刷ジョブを加工する。本処理については後述する図９にて詳細に説明する。
次に、ステップＳＢ７０８において、ジョブ管理サービス４０２は、現在のレコードからメタデータのＤＥＶＭＯＤＥを取得する。
次に、ステップＳＢ７０９において、ジョブ管理サービス４０２は、上記ＳＢ７０７で加工した加工済み印刷ジョブおよび上記ＳＢ７０８で取得したＤＥＶＭＯＤＥを使用し、プリンタドライバ４０６を用いてローカルポート印刷を行う。この際、プリンタドライバ４０６は、上記ＳＢ７０２で作成した出力ポートがローカルポートに設定された論理プリンタを使用する。即ち、ＳＢ７０９では、ジョブ管理サービス４０２は、プリンタドライバ４０６を用いて、加工済み印刷ジョブと印刷設定情報から、画像形成装置１０２で実際に印刷される際の体裁をプリントサーバ１０１上で認識するためのＰＤＬデータを生成し、プリントサーバ１０１のローカルの記憶領域に出力する。
【００８５】
次に、ステップＳＢ７１０において、ジョブ管理サービス４０２は、上記ＳＢ７０９のローカルポート印刷によりファイルとして保存されたＰＤＬデータを解析し、ＰＤＬデータから体裁情報（画像形成装置１０２で実際に印刷される際の体裁を示す情報）等を取得してメタデータを更新する。なお、更新されたメタデータは、後述する印刷ジョブ一覧の生成に用いるためにＲＡＭ内に記憶しておく。
【００８６】
次に、ステップＳＢ７１１において、ジョブ管理サービス４０２は、上記ＳＢ７０７で作成されたＰＤＬデータを削除し、上記ＳＢ７０４に処理を戻し、次のレコードの取り出し処理を行う。
【００８７】
そして、ステップＳＢ７０５において、ジョブ管理サービス４０２は、レコードが取り出せなかったと判定した場合（ＳＢ７０５でＮｏ）、全レコードを取り出し終えたと判断し、ステップＳＢ７１２へ処理を進める。
【００８８】
ステップＳＢ７１２では、ジョブ管理サービス４０２は、上記ＳＢ７０４〜ＳＢ７１１で更新されたメタデータ等を用いて印刷ジョブ一覧（図１４（ａ））を生成し、パネル・アプリケーション４０４へ印刷ジョブ一覧を返信する。この印刷ジョブ一覧は、各印刷ジョブの体裁情報を含むものであり、ステップＳＣ７０８において画像形成装置１０２のパネル・アプリケーションにより受信される。そして、ジョブ管理サービス４０２は、ステップＳＢ７１３で処理を終了する。
【００８９】
図８は、図７のステップＳＢ７０２で呼び出される論理プリンタ作成処理のフローチャートである。なお、ステップＳＢ８００〜ＳＢ８０８は、図４に示したジョブ管理サービス４０２による論理プリンタ作成処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００９０】
ステップＳＢ８００において、ジョブ管理サービス４０２による論理プリンタ作成処理を開始する。ステップＳＢ８０１において、ジョブ管理サービス４０２は、画像形成装置１０２（図７のＳＢ７０１でユーザ名・モデル名を受信した画像形成装置）のＩＰアドレスを取得する。この画像形成装置１０２のＩＰアドレスは、ジョブ管理サービス４０２とパネル・アプリケーション４０４とのデータ送受信のコネクションが確立した際に、ジョブ管理サービス４０２が入手してＲＡＭ内に格納しておくものとする。
【００９１】
ステップＳＢ８０２において、ジョブ管理サービス４０２は、上記画像形成装置１０２のモデル名（例えば図７のＳＢ７０１で受信）をサポートしたプリンタドライバがプリントサーバ１０１上にインストールされているかどうか判定する。そして、インストールされていないと判定した場合（ＳＢ８０２でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ８０３へ処理を進める。
【００９２】
ステップＳＢ８０３では、ジョブ管理サービス４０２は、図１の画像形成装置１０２のモデル名をサポートしたプリンタドライバをプリントサーバ１０１上にインストールする。そして、ステップＳＢ８０４へ処理を進める。
【００９３】
一方、ステップＳＢ８０２でインストール済みと判定した場合（ＳＢ８０２でＹｅｓ）、ジョブ管理サービス４０２は、そのままステップＳＢ８０４へ処理を進める。なお、この段階でインストール済みとなったプリンタドライバは、図４のプリンタドライバ４０６に相当する。
【００９４】
ステップＳＢ８０４では、ジョブ管理サービス４０２は、ローカルポート印刷用の論理プリンタがプリントサーバ１０１上に存在するかどうか判定する。なお、ローカルポート印刷用の論理プリンタとは、上記インストール済みのプリンタドライバから構成され、かつ、出力ポートが規定ファイルパスとなるように設定された論理プリンタを示す。
【００９５】
そして、ローカルポート印刷用の論理プリンタが存在しないと判定した場合（ＳＢ８０４でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ８０５へ処理を進める。
ステップＳＢ８０５では、ジョブ管理サービス４０２は、上記インストール済みのプリンタドライバを使って、出力ポートを規定ファイルパスに設定した論理プリンタを作成する。ここで、出力ポートのファイル名は、例えば独自のローカルポートモニター等を作成し、このローカルポートモニターによりユーザごとのフォルダに保持しているジョブを順番に保存していくことも可能である。このような設定にしておくと、ジョブごとに論理プリンタを作成することはなくユーザごとに論理プリンタを作成することになる。もちろん、ＧＵＩＤのようなジョブ識別子を利用してファイル名を決めてもよいし、任意のファイル名としてもよい。
【００９６】
上記ＳＢ８０５の処理を完了すると、ジョブ管理サービス４０２は、ステップＳＢ８０６へ処理を進める。
一方、ローカルポート印刷用の論理プリンタが存在すると判定した場合（ＳＢ８０４でＹｅｓ）、ジョブ管理サービス４０２は、そのままステップＳＢ８０６へ処理を進める。
ステップＳＢ８０６では、ジョブ管理サービス４０２は、画像形成装置印刷用の論理プリンタがプリントサーバ１０１上に存在するかどうか判定する。なお、画像形成装置印刷用の論理プリンタとは、上記インストール済みのプリンタドライバから構成され、かつ、上記ＳＢ８０１で得たＩＰアドレスが出力ポートに設定された論理プリンタを示す。
【００９７】
そして、画像形成装置印刷用の論理プリンタが存在しないと判定した場合（ＳＢ８０６でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ８０７へ処理を進める。
ステップＳＢ８０７では、ジョブ管理サービス４０２は、上記インストール済みのプリンタドライバを使って、上記ＳＢ８０１で得たＩＰアドレスを出力ポートに設定した論理プリンタを作成する。そして、ステップＳＢ８０８へ進め、処理を終了する。
【００９８】
一方、画像形成装置印刷用の論理プリンタが存在すると判定した場合（ＳＢ８０６でＹｅｓ）、ジョブ管理サービス４０２は、そのままステップＳＢ８０８へ進め、処理を終了する。
【００９９】
図９は、図７のステップＳＢ７０７で呼び出されるＥＭＦＳＰＯＯＬ形式印刷ジョブの加工処理のフローチャートである。なお、ステップＳＢ９００〜ＳＢ９０７は、図４に示したジョブ管理サービス４０２によるＥＭＦＳＰＯＯＬ形式印刷ジョブの加工処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１００】
図７のステップＳＢ７０９において、印刷指示されたオリジナル文書をそのままローカルポート印刷すると、印刷データの容量に応じてパフォーマンスが著しく落ちてしまう。さらに、ローカルポート印刷を頻繁に行うため、本処理のパフォーマンスの劣化はシステム全体に影響を及ぼしてしまう。そのため本処理で、ＥＭＦＳＰＯＯＬ形式の印刷ジョブを加工し、ローカルポート印刷のパフォーマンスを向上させる。本処理で必要な情報は、印刷後の印刷設定情報のため、描画データはオリジナルの文書である必要がない。ただし、最終的に印刷に使用されるデータではオリジナル文書が必要となるため、本実施形態では印刷設定情報を取得するためだけにローカルポート印刷を行うこととする。
【０１０１】
ＥＭＦＳＰＯＯＬ形式データは、一連のＧＤＩコマンド(例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）のグラフィックＡＰＩ)として記録されたもので、プリンタドライバ４０６は、このＧＤＩコマンドをＰＤＬコマンドに変換することになる。そのため、ＥＭＦＳＰＯＯＬ形式データの段階では、レンダリングを行っていないため、ＧＤＩコマンドの追加・削除が非常に容易に可能である。本実施形態では、1ページ間の描画命令コマンドを全て削除し、オリジナル文書のページのカラー情報を用いて１ドット追加するＧＤＩコマンドを挿入する。このような加工済みＥＭＦＳＰＯＯＬ形式印刷ジョブとメタデータを利用してプリンタドライバ４０６で印刷を行うと、最小限の描画がされたＰＤＬデータが生成され、このＰＤＬデータを解析することによって、最終出力物の印刷設定情報を取得することが可能となる。
【０１０２】
以下、図９を用いて、ＥＭＦＳＰＯＯＬ形式の加工処理について説明する。
ステップＳＢ９００において、ジョブ管理サービスの加工処理を開始する。ステップＳＢ９０１において、ジョブ管理サービス４０２は、全てのページの加工が終了したかを判定する。そして、まだ全てのページの加工が終わっていないと判定した場合（ＳＢ９０１でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ９０２に処理を進める。ＳＢ９０２〜ＳＢ９０６の処理は全てページ単位で行われる。
【０１０３】
ステップＳＢ９０２において、ジョブ管理サービス４０２は、現在のページからカラー情報を取得する。ＥＭＦＳＰＯＯＬ形式データでは前述したとおり、描画コマンドをそのまま保持しているため、カラー情報を取得することも容易となっている。
【０１０４】
ステップＳＢ９０３において、ジョブ管理サービス４０２は、描画データをページ単位で削除する。即ち、現在のページ内の描画データを全て削除する。
次に、ステップＳＢ９０４において、ジョブ管理サービス４０２は、上記ＳＢ９０２で取得したカラー情報から現在のページがモノクロページであったかカラーページであったかを判定する。この判定処理では、ジョブ管理サービス４０２は、ページ内にカラー（黒色以外の色）で描画を行うコマンドが含まれている場合には、そのページをカラーベージと判定し、一方、カラー（黒色以外の色）で描画を行うコマンドが含まれていない場合には、そのページをモノクロページと判定する。
【０１０５】
現在のページがカラーページであると判定した場合（ＳＢ９０４でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ９０５に処理を進め、黒色以外の任意の色（カラー）で１ドットの描画を行う描画コマンドを現在のページに追加する。
【０１０６】
一方、現在のページがモノクロページである（カラーページでない）と判定した場合（ＳＢ９０４でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ９０６に処理を進め、黒色で１ドットの描画を行う描画コマンドを現在のページに追加する。
【０１０７】
そして、ジョブ管理サービス４０２は、上記ＳＢ９０５又はＳＢ９０６の処理を完了すると、ＳＢ９０１に処理を戻し、次のページの処理を行う。
そして、全てのページの加工が終わったと判定した場合（ＳＢ９０１でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ９０７へ進め、加工処理を終了する。
【０１０８】
ここで、図１０に示す具体例を用いて説明する。
図１０は、本発明のプリントシステムにおける中間形式印刷ジョブの加工処理の一例を示す図である。
例えば図１０の１００１のようなオリジナル文書（モノクロ３ページ、カラー１ページ）を加工する場合について説明する。まず、オリジナル文書を図１０の１０１０のような印刷設定にし、仮想プリンタドライバ４０１で印刷すると、ページ数４のＥＭＦＳＰＯＯＬ形式印刷ジョブが生成される。
【０１０９】
ここで、本実施例の加工処理を行うと、図１０の１００２のような、それぞれのページから得たカラー情報が１ドット追加されたＥＭＦＳＰＯＯＬ形式印刷ジョブが生成される。この加工済みＥＭＦＳＰＯＯＬ形式印刷ジョブを、図１０の１０１０に示す印刷設定１０１０ａでローカルポート印刷すると、図１０の１００３のようなＰＤＬデータが作成される。このＰＤＬデータを解析すると、図１０の１０１１に示す印刷設定１０１１ａのように、集約情報２ｉｎ１の設定が適用されていることが分かり、ページ数が２ページとなっていることが分かる。さらに、ＰＤＬデータの各ページのカラー情報を鑑みると、カラーページ数が１ページ、モノクロページ数が１ページといった、印刷するまでは知りえなかったカラー／モノクロのページ数を容易に取得することが可能となる。例えば、ジョブ管理サービス４０２は、ページ内にカラー（黒色以外の色）で描画を行うコマンドが含まれている場合には、そのページをカラーベージと判定し、一方、カラー（黒色以外の色）で描画を行うコマンドが含まれていない場合には、そのページをモノクロページと判定し、ＰＤＬデータのカラーページ数、モノクロページ数をカウントする。ジョブ管理サービス４０２は、これらの処理を、図７のＳＢ７１０で行う。なお、ジョブ管理サービス４０２は、両面／片面の情報、及びＰＤＬデータから解析した情報等から、画像形成装置１０２で実際に出力した際の用紙枚数を算出するようにしてもよい。
【０１１０】
本実施形態では追加するコマンドを１ドットとしたが、これはパフォーマンスを向上するための最低限の印字となっており、異なる描画コマンドでもよいし、オリジナル文書から抽出したコマンドでも構わない。さらに、追加する描画コマンドの位置も自由に設定することが可能である。本実施形態では、左上基準に描画を行うＰＤＬの場合を想定したが、左上に描画コマンドを追加しても印字領域外と判断され、解析できない場合もある。そこで、描画コマンドを用紙の中心に設定し、すべてのＰＤＬやモデルで解析可能な形式に加工してもよい。このように、ＥＭＦＳＰＯＯＬ形式の加工を行うことで、柔軟に対応が可能である。
【０１１１】
以上示したように、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式の各ページのデータを各ページのカラー情報に対応する疑似データ（１ドットの描画コマンド）に置換した上で、ローカル印刷を行ってＰＤＬデータを生成する。これにより、プリントサーバが処理するデータ量を軽減して、プリントサーバのパフォーマンスの低下を軽減することができる。
【０１１２】
図１１は、本発明のプリントシステムにおける第３の制御処理手順の一例を示すフローチャートであり、図４に示した３−１〜３−７の処理手順に対応する。ステップＳＣ１１００〜ＳＣ１１１１は、図４に示したパネル・アプリケーション４０４の処理に対応する。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。ステップＳＢ１１００〜ＳＢ１１１０は、図４に示したジョブ管理サービス４０２処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１１３】
まず、パネル・アプリケーション４０４による印刷設定変更について説明する。
パネル・アプリケーション４０４は、図７のステップＳＣ７０９で画像形成装置１０２の操作部３０８の表示部に表示された印刷ジョブ一覧表示画面（図１４（ａ））上で、印刷ジョブの選択と印刷設定変更ボタン１３３０の押下を検知すると、ステップＳＣ１１００において、処理を開始する。
【０１１４】
ステップＳＣ１１０１において、パネル・アプリケーション４０４は、選択された印刷ジョブの印刷設定を表示する印刷設定変更画面（図１４（ｂ））を操作部３０８の表示部に表示するように制御する。
【０１１５】
次に、ステップＳＣ１１０２において、印刷設定変更画面（図１４（ｂ））からパネル・アプリケーション４０４は、印刷設定変更入力を受け付ける。
図１４（ｂ）は、画像形成装置１０２の操作部３０８に表示される印刷設定変更画面の一例を示す図である。
図１４（ｂ）において、１３４０は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。１３４１は、両面・片面の指定を意味し、片面、両面（長辺綴じ）、両面（短辺綴じ）のうち１つを選択できる。１３４２は、ページ集約の指定を意味し、１ｉｎ１、２ｉｎ１、４ｉｎ１、６ｉｎ１、８ｉｎ１、９ｉｎ１、１６ｉｎ１のうち１つを選択できる。１３４３は、印刷部数の指定を意味し、１から９９９９までの値を指定できる。
【０１１６】
１３４４は、出力される印刷物の総ページ数を意味し、変更することはできないがユーザは印刷設定変更すると、ページ数がどのように変遷するかを見ることができる。さらに、１３４５はカラーページ数、１３４６はモノクロページ数をそれぞれ意味し、印刷設定を反映した後のカラーページ数、モノクロページ数を表示している。
【０１１７】
１３４７は、印刷後に文書を削除する指定を意味し、このチェックボックスにチェックがついていた場合は、印刷後に削除するコマンドが印刷ジョブと同時にジョブ管理サービス４０２に送信される。
【０１１８】
１３４８は、１３０４〜１３４３で印刷設定を変更した場合に設定変更確認を行うためのボタンであり、このボタンが押下されると、印刷設定情報がジョブ管理サービス４０２に送信される。１３４９は、印刷を行うためのボタンである。
【０１１９】
なお、図１４（ｂ）は、図１４（ａ）において文書名「決算報告書」の印刷ジョブの選択を受け付けて、印刷設定変更ボタン１３３０の押下を受け付けた場合の印刷設定変更例を示している。
【０１２０】
なお、図１４（ｂ）の印刷設定変更画面上に、そのジョブを画像形成装置１０２で実際に出力した際の用紙枚数を表示するようにしてもよい。また、図１４（ｂ）の印刷設定変更画面上に、画像形成装置１０２で実際に出力した際の形態を模式的に表す画像を表示するためのプレビュー領域を設けるようにしてもよい。このプレビュー領域は、実際にジョブで出力される画像そのものを表示するためのものではなく、ジョブに設定されているカラーモード、両面／片面、ページ集約等の設定状態（即ち、実際に出力される形態）を表すシンボルを表示するようにする。
【０１２１】
以上のように、パネル・アプリケーション４０４は、印刷設定変更画面（図１４（ｂ））上に、プリントサーバ１０１から受信した印刷ジョブ一覧に含まれる印刷ジョブ（特に図１４（ａ）で選択された印刷ジョブ）の体裁情報（画像形成装置１０２で実際に印刷される際の体裁を示す情報）を変更可能に表示する。
【０１２２】
以下、図１１のフローチャートの説明に戻す。
パネル・アプリケーション４０４は、印刷設定変更画面（図１４（ｂ））上で、印刷設定の変更と設定変更確認ボタン１３４８の押下を検知すると、パネル・アプリケーション４０４は、ステップＳＣ１１０３に処理を進める。なお、図１１には示していないが、設定変更確認ボタン１３４８を押下することなくプリント開始ボタン１３４９が押下された場合には、パネル・アプリケーション４０４は、そのままＳＣ１１０９に処理を進めるものとする。
【０１２３】
ステップＳＣ１１０３では、パネル・アプリケーション４０４は、ジョブ管理サービス４０２へ印刷設定情報を送信する。この印刷設定情報は対応する印刷ジョブのジョブ識別子としてのＧＵＩＤを含むものであり、前述したＸＭＬ形式を使ってもよい。
【０１２４】
そして、ステップＳＣ１１０４において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷設定変更指示が反映された印刷設定情報を受信する。
次に、ステップＳＣ１１０５において、パネル・アプリケーション４０４は、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報とを比較する。
【０１２５】
例えば、ステップＳＣ１１０２で変更対象外の設定情報として用紙サイズがあるが、図４の１−１の段階で用紙サイズは「はがき」になっていたとする。そして、印刷設定の禁則条件として、用紙が「はがき」の場合、両面・片面指定は片面しか選択できないとする。さらに、禁則条件適用の優先度は両面・片面指定よりも用紙サイズの指定の方が高いとする。この場合、両面・片面指定を両面に設定変更することはできない。パネル・アプリケーションに４０４に、プリンタドライバと同様の高度な禁則処理を実装すれば、図１４（ｂ）の設定変更入力の時点で両面指定を変更できないようにすることも可能であるが、パネル・アプリケーションの実装難易度が非常に高くなる。本実施形態のように、パネル・アプリケーション４０４では印刷設定の禁則処理を行わず、印刷設定を変更したら都度、変更可能かどうかプリントサーバ１０１側のプリンタドライバに問い合わせる方が容易なうえ汎用性も増す。
【０１２６】
そして、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報を比較した結果、差異が有ると判定した場合（ＳＣ１１０５でＹｅｓ）、パネル・アプリケーションに４０４は、ステップＳＣ１１０６へ処理を進める。
【０１２７】
ステップＳＣ１１０６では、パネル・アプリケーションに４０４は、エラー表示画面（図１５（ａ））を操作部３０８の表示部に表示するように制御する。
図１５（ａ）は、画像形成装置１０２の操作部３０８に表示されるエラー表示画面の一例を示す図である。
ここでは両面ができない場合は、図１５（ａ）のような「片面」から「両面（長辺綴じ）」に変更できなかった旨のエラー表示を行う。エラー表示画面（図１５（ａ））の１３５０が押下されたことを検知すると、パネル・アプリケーションに４０４は、ステップＳＣ１１０７へ処理を進める。
【０１２８】
一方、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報とに差異が無いと判定した場合（ＳＣ１１０５でＮｏ）、パネル・アプリケーションに４０４は、そのままステップＳＣ１１０７へ処理を進める。
【０１２９】
ステップＳＣ１１０７では、パネル・アプリケーションに４０４は、上記ＳＣ１１０４で受信した印刷設定情報を、印刷設定変更画面（図１４（ｂ））上に表示するように制御する。ここに表示される印刷設定情報は、後述するローカルポート印刷ファイルの解析結果を表示しているため、詳細な情報が表示される。
【０１３０】
次に、ステップＳＣ１１０８において、パネル・アプリケーションに４０４は、印刷実行を行うか判定する。印刷設定変更画面（図１４（ｂ））上でプリント開始ボタン１３４９以外の操作を検知すると、パネル・アプリケーションに４０４は、印刷実行を行わず、印刷設定変更の入力を行うと判定し（ＳＣ１１０８でＮｏ）、ステップＳＣ１１０２へ処理を戻す。そして、印刷設定変更の入力を受け付ける。
【０１３１】
一方、印刷設定変更画面（図１４（ｂ））上でプリント開始ボタン１３４９の操作を検知すると、印刷実行を行うと判定し（ＳＣ１１０８でＹｅｓ）、パネル・アプリケーションに４０４は、ステップＳＣ１１０９へ処理を進める。
【０１３２】
ステップＳＣ１１０９では、パネル・アプリケーションに４０４は、ジョブ管理サービス４０２に印刷指示コマンドを送信する。なお、この処理は、後述する図１２で詳細に説明する。
【０１３３】
そして、ステップＳＣ１１１０において、パネル・アプリケーションに４０４は、図１４（ｂ）の印刷設定変更画面を閉じ、ステップＳＣ１１１１で処理を終了する。
次にジョブ管理サービス４０２による印刷設定変更処理を説明する。
ステップＳＢ１１００において、ジョブ管理サービス４０２の処理を開始する。ステップＳＢ１１０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷設定変更指示を受信する。この印刷設定変更指示は、ステップＳＣ１１０３で送信されたものであり、ジョブ識別子としてＧＵＩＤが含まれている。
【０１３４】
次に、ステップＳＢ１１０２において、ジョブ管理サービス４０２は、図４のジョブ管理ＤＢ４０３から上記ＳＢ１１０１で得たＧＵＩＤと一致するレコードを探索して取得する。
【０１３５】
そして、ステップＳＢ１１０３において、ジョブ管理サービス４０２は、上記ＳＢ１１０２で探索して取得されたレコードからメタデータのＤＥＶＭＯＤＥおよびＥＭＦＳＰＯＯＬ形式の印刷ジョブを取得する。
【０１３６】
さらに、ステップＳＢ１１０４において、ジョブ管理サービス４０２は、上記ＳＢ１１０１で得た印刷設定を上記ＳＢ１１０３で得たメタデータのＤＥＶＭＯＤＥに適用する。
次に、ステップＳＢ１１０５において、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式の印刷ジョブの描画データを加工する。本処理については、前述したＳＢ７０７と同様なため説明を省略する。
【０１３７】
次に、ステップＳＢ１１０６において、ジョブ管理サービス４０２は、上記ＳＢ１１０５で加工した加工済み印刷ジョブおよびＤＥＶＭＯＤＥを使用して、プリンタドライバ４０６を用いてローカルポート印刷を行う。プリンタドライバ４０６は、図８のＳＢ８０５で作成した出力ポートが規定ファイルの論理プリンタを使用する。この処理により、現在処理中の印刷ジョブに対応するＰＤＬデータが再生成されてプリントサーバ１０１の外部メモリ等に再出力されてファイルとして保存される。
【０１３８】
次に、ステップＳＢ１１０７において、ジョブ管理サービス４０２は、上記ＳＢ１１０６のローカル印刷でファイルとして保存されたＰＤＬデータを解析して、印刷設定情報等を再取得し、メタデータを更新する。なお、この処理は、図７のＳＢ７１０の処理と同様である。
【０１３９】
さらに、ステップＳＢ１１０８において、ジョブ管理サービス４０２は、上記ＳＢ１１０６でローカルポート印刷されたＰＤＬデータを削除する。
さらに、ステップＳＢ１１０９において、ジョブ管理サービス４０２は、上記ＳＢ１１０７で取得した印刷設定情報を、パネル・アプリケーション４０４へ返信（再送信）し、ステップＳＢ１１１０で処理を終了する。
【０１４０】
図１２は、本発明のプリントシステムにおける第４の制御処理手順の一例を示すフローチャートであり、図４に示した４−１〜４−４の処理手順に対応する。ステップＳＣ１２００〜ＳＣ１２０５は、図４に示したパネル・アプリケーション４０４による印刷指示処理（図１１のＳＣ１１０９）に対応するものである。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。ステップＳＢ１２００〜ＳＢ１２０９は、図４に示したジョブ管理サービス４０２による印刷処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１４１】
まず、パネル・アプリケーション４０４による印刷指示処理を説明する。
ステップＳＣ１２００において、パネル・アプリケーション４０４の処理を開始する。ステップＳＣ１２０１において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２へ印刷指示要求コマンドを送信する。このとき選択済みの印刷ジョブのＧＵＩＤと画像形成装置１０２のモデル名も送信する。さらに、印刷設定変更表示図１４（ｂ）の１３４７において、プリント後文書消去チェックボックスにチェックがついていた場合は、印刷後に削除するコマンド（削除コマンド）を印刷ジョブと同時に送信しておく。
【０１４２】
そして、ステップＳＣ１２０２において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷実行結果（成否）を受信する。
次に、ステップＳＣ１２０３において、パネル・アプリケーション４０４は、印刷実行に成功したかどうかを判定する。そして、印刷実行に失敗したと判定した場合（ＳＣ１２０３でＹｅｓ）、パネル・アプリケーション４０４は、ステップＳＣ１２０４へ処理を進める。
【０１４３】
ステップＳＣ１２０４では、パネル・アプリケーション４０４は、エラー表示画面（図１５（ｂ））を操作部３０８の表示部に表示するように制御する。
図１５（ｂ）は、画像形成装置１０２の操作部３０８に表示されるエラー表示画面の一例を示す図である。
エラー表示画面（図１５（ｂ））のＯＫボタンが押下されたことを検知すると、パネル・アプリケーション４０４は、ステップＳＣ１２０５へ進み、処理を終了する。
一方、印刷実行に成功した（印刷実行に失敗しなかった）と判定した場合（ＳＣ１２０３でＮｏ）、パネル・アプリケーション４０４は、そのままステップＳＣ１２０５へ進み、処理を終了する。
【０１４４】
次にジョブ管理サービス４０２による印刷処理を説明する。
ステップＳＢ１２００において、ジョブ管理サービス４０２の処理を開始する。ステップＳＢ１２０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷指示コマンド（ステップＳＣ１２０１で送信された印刷指示コマンド）を受信する。このとき、印刷対象の印刷ジョブのＧＵＩＤも受信する。さらに、削除コマンドも一緒に送信されている場合には、削除コマンドも受信する。
【０１４５】
次に、ステップＳＢ１２０２において、ジョブ管理サービス４０２は、図４のジョブ管理ＤＢ４０３から上記ＳＢ１２０１で得たＧＵＩＤと一致するレコードを探索する。
さらに、ステップＳＢ１２０３において、ジョブ管理サービス４０２は、上記ＳＢ１２０２で探索して得られたレコードからＥＭＦＳＰＯＯＬ形式印刷ジョブとＤＥＶＭＯＤＥを取得する。
【０１４６】
ステップＳＢ１２０４において、ジョブ管理サービス４０２は、プリンタドライバをインストールする。本処理は前述したＳＢ７０２の処理と同様のため省略する。
ステップＳＢ１２０５において、ジョブ管理サービス４０２は、上記ＳＣ１２０３で得たＥＭＦＳＰＯＯＬ形式印刷ジョブとＤＥＶＭＯＤＥをレンダリングして印刷処理を実行する。この際、上記ＳＢ１２０１で印刷指示コマンドを受信した画像形成装置１０２のＩＰアドレスが出力ポートに設定された論理プリンタを用いる。該論理プリンタを構成するプリンタドライバはＰＤＬを生成し、画像形成装置１０２にＰＤＬを送信する。
【０１４７】
そして、ステップＳＢ１２０６において、ジョブ管理サービス４０２は、上記ＳＢ１２０５での印刷実行の成否をパネル・アプリケーション４０４へ送信する。
さらに、ステップＳＢ１２０７において、ジョブ管理サービス４０２は、上記ＳＢ１２０１で受信した情報に削除コマンドがあるか否かを判定する。そして、削除コマンドがあると判定した場合（ＳＢ１２０７でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ１２０８に処理に進める。
【０１４８】
ステップＳＢ１２０８では、ジョブ管理サービス４０２は、上記ＳＢ１２０２で探索したレコードをジョブ管理ＤＢ４０３から削除し、上記ＳＢ１２０３で取得したファイルパスの印刷ジョブを削除し、ステップＳＢ１２０９に進み、処理を終了する。
【０１４９】
一方、削除コマンドがないと判定した場合（ＳＢ１２０７でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ１２０９に進み、処理を終了する。
以上の処理により、画像形成装置のモデルに対応したレンダリング結果を情報に反映できるため、画像形成装置のパネル・アプリケーションに画像形成装置の各モデルや各ＰＤＬに対応した実装をすることなく、印刷ジョブのより正確な情報をユーザに提示することが可能となる。
【０１５０】
さらに、ＥＭＦＳＰＯＯＬ形式の印刷ジョブを加工した上で印刷ジョブに関する情報を取得するため、プリントサーバの負荷（パフォーマンスの低下）を軽減することができる。
【０１５１】
さらに、画像形成装置のパネル・アプリケーションで印刷設定を変更した場合でも、変更時にプリントサーバから解析情報を再び取得できるため、ユーザは印刷設定変更した場合にどのような結果になるかを、印刷出力前に正確に知ることができる。
【０１５２】
本実施形態では、プリントサーバで印刷・加工・解析を行ったが、一部を画像形成装置で処理を行うことも可能である。例えば、画像形成装置にＨＤＤ３０４のような記憶装置が存在する場合、プリンタドライバはローカルポート印刷ではなく、画像形成装置の記憶装置にＰＤＬデータを保存させる。そして、このＰＤＬデータを画像形成装置が解析し、画像形成装置の操作部の表示部に表示することも可能である。
【０１５３】
なお、図１４（ｂ）の印刷設定変更画面の表示に、選択されたジョブを画像形成装置１０２で実際に出力した際の用紙枚数の情報を含めるようにしてもよい。
また、図１４（ｂ）に「プレビュー」ボタンを設け、このボタンが指示された場合、画像形成装置１０２のパネル・アプリケーション４０４がプリントサーバ１０１にプレビュー指示を送信する。プレビュー指示を受信したプリントサーバ１０１のジョブ管理サービス４０２は、図１２のＳＢ１２０２〜ＳＢ１２０５の処理を実行してＰＤＬデータを画像形成装置１０２に送信する。画像形成装置１０２のパネル・アプリケーション４０４は、プリントサーバ１０１からＰＤＬデータを受信して、操作部３０８の表示部にプレビューするようにしてもよい。
【０１５４】
以上示したように、本実施例は、印刷対象となるデータをＥＭＦＳＰＯＯＬ形式のような特定の画像形成装置に依存しない中間形式でプリントサーバ１０１に溜め置きして、画像形成装置１０２からの要求に従い、プリントサーバ１０１で画像形成装置１０２に依存するデータ（ＰＤＬデータ）を生成して画像形成装置１０２に送信して、画像形成装置１０２で印刷するプリントシステムである。このようなプリントシステムであっても、本発明によれば、印刷ジョブの出力結果の情報を導出するための構成を、画像形成装置１０２のパネル・アプリケーション４０４上に、画像形成装置の各モデルや各ＰＤＬに対応させて実装することなく、印刷ジョブのより正確な情報（例えば、実際に出力されるモノクロページ数、カラーページ数等の情報）をユーザに提示することができる。
【０１５５】
以上のように、プリントサーバでＥＭＦＳＰＯＯＬ形式の中間データで溜め置きして、画像形成装置からの要求に従い、プリントサーバでＰＤＬを生成してから印刷データを画像形成装置に送信して印刷させるプリントシステムの課題を解決することができる。
【０１５６】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１５７】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１５８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１５９】
１０１    プリントサーバ
１０２    画像形成装置
１０５    ＬＡＮ
【図１】
2012181694.tif 000003
【図２】
2012181694.tif 000004
【図３】
2012181694.tif 000005
【図４】
2012181694.tif 000006
【図５】
2012181694.tif 000007
【図６】
2012181694.tif 000008
【図７】
2012181694.tif 000009
【図８】
2012181694.tif 000010
【図９】
2012181694.tif 000011
【図１０】
2012181694.tif 000012
【図１１】
2012181694.tif 000013
【図１２】
2012181694.tif 000014
【図１３】
2012181694.tif 000015
【図１４】
2012181694.tif 000016
【図１５】
2012181694.tif 000017