(57)【要約】【課題】特定の機種の印刷装置に依存しない中間形式で情報処理装置に記憶された印刷対象のデータから複数のデータが生成されて印刷装置に送信され印刷実行される場合でも、実行中の印刷を印刷装置から正確にキャンセルすること。【解決手段】プリントサーバ１０１のジョブ管理サービス４０２は、印刷対象となるデータを、特定の機種の印刷装置に依存しない中間形式で記憶しておき、画像形成装置１０２からの要求に応じて、画像形成装置１０２に対応するプリンタドライバをインストールし、該プリンタドライバを用いて、前記中間形式のデータから、前記プリンタドライバにより生成される画像形成装置１０２に依存するデータの分割数を取得し、該分割数を画像形成装置１０２に送信する。画像形成装置１０２のパネル・アプリケーション４０４は、プリントサーバ１０１から受信した分割数を用いて、印刷実行中のキャンセル指示に対する制御を行う。【選択図】図４
2012181695.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ページ間の描画命令コマンドを全て削除し、オリジナル文書のページのカラー情報を用いて１ドット追加するＧＤＩコマンドを挿入する。このような加工済みＥＭＦＳＰＯＯＬ形式印刷ジョブとメタデータを利用してプリンタドライバ４０６で印刷を行うと、最小限の描画がされたＰＤＬデータが生成される。そして、このＰＤＬジョブ数をカウント、及び、解析することによって、最終出力物の印刷設定情報を取得することが可能となる。
【０１０９】
以下、図９を用いて、ＥＭＦＳＰＯＯＬ形式の加工処理について説明する。
ステップＳＢ９００において、ジョブ管理サービスの加工処理を開始する。ステップＳＢ９０１において、ジョブ管理サービス４０２は、全てのページの加工が終了したかを判定する。そして、まだ全てのページの加工が終わっていないと判定した場合（ＳＢ９０１でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ９０２に処理を進める。ＳＢ９０２〜ＳＢ９０６の処理は全てページ単位で行われる。
【０１１０】
ステップＳＢ９０２において、ジョブ管理サービス４０２は、現在のページからカラー情報を取得する。ＥＭＦＳＰＯＯＬ形式データでは前述したとおり、描画コマンドをそのまま保持しているため、カラー情報を取得することも容易となっている。
【０１１１】
ステップＳＢ９０３において、ジョブ管理サービス４０２は、描画データをページ単位で削除する。即ち、現在のページ内の描画データを全て削除する。
次に、ステップＳＢ９０４において、ジョブ管理サービス４０２は、上記ＳＢ９０２で取得したカラー情報から現在のページがモノクロページであったかカラーページであったかを判定する。この判定処理では、ジョブ管理サービス４０２は、ページ内にカラー（黒色以外の色）で描画を行うコマンドが含まれている場合には、そのページをカラーベージと判定し、一方、カラー（黒色以外の色）で描画を行うコマンドが含まれていない場合には、そのページをモノクロページと判定する。
【０１１２】
現在のページがカラーページであると判定した場合（ＳＢ９０４でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ９０５に処理を進め、黒色以外の任意の色（カラー）で１ドットの描画を行う描画コマンドを現在のページに追加する。
【０１１３】
一方、現在のページがモノクロページである（カラーページでない）と判定した場合（ＳＢ９０４でＮｏ）、ジョブ管理サービス４０２は、ステップＳＢ９０６に処理を進め、黒色で１ドットの描画を行う描画コマンドを現在のページに追加する。
【０１１４】
そして、ジョブ管理サービス４０２は、上記ＳＢ９０５又はＳＢ９０６の処理を完了すると、ＳＢ９０１に処理を戻し、次のページの処理を行う。
そして、全てのページの加工が終わったと判定した場合（ＳＢ９０１でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ９０７へ進め、加工処理を終了する。
【０１１５】
ここで、図１０に示す具体例を用いて説明する。
図１０は、本発明のプリントシステムにおける中間形式印刷ジョブの加工処理の一例を示す図である。
例えば図１０の１００１のようなオリジナル文書（モノクロ３ページ、カラー１ページ）を加工する場合について説明する。まず、オリジナル文書を図１０の１０１０のような印刷設定にし、仮想プリンタドライバ４０１で印刷すると、ページ数４のＥＭＦＳＰＯＯＬ形式印刷ジョブが生成される。
【０１１６】
ここで、本実施例の加工処理を行うと、図１０の１００２のような、それぞれのページから得たカラー情報が１ドット追加されたＥＭＦＳＰＯＯＬ形式印刷ジョブが生成される。この加工済みＥＭＦＳＰＯＯＬ形式印刷ジョブを、図１０の１０１０に示す印刷設定１０１０ａでローカルポート印刷すると、図１０の１００３のようなＰＤＬデータが作成される。このＰＤＬデータを解析すると、図１０の１０１１に示す印刷設定１０１１ａのように、集約情報２ｉｎ１の設定が適用されていることが分かり、ページ数が２ページとなっていることが分かる。さらに、カラー情報を鑑みると、カラーページ数が１ページ、モノクロページ数が１ページといった、印刷するまでは知りえなかったカラー／モノクロのページ数を容易に取得することが可能となる。
【０１１７】
本実施形態では追加するコマンドを１ドットとしたが、これはパフォーマンスを向上するための最低限の印字となっており、異なる描画コマンドでもよいし、オリジナル文書から抽出したコマンドでも構わない。さらに、追加する描画コマンドの位置も自由に設定することが可能である。本実施形態では、左上基準に描画を行うＰＤＬの場合を想定したが、左上に描画コマンドを追加しても印字領域外と判断され、解析できない場合もある。そこで、描画コマンドを用紙の中心に設定し、すべてのＰＤＬやモデルで解析可能な形式に加工してもよい。このように、ＥＭＦＳＰＯＯＬ形式の加工を行うことで、柔軟に対応が可能である。
【０１１８】
以上示したように、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式の各ページのデータを各ページのカラー情報に対応する疑似データ（１ドットの描画コマンド）に置換した上で、ローカル印刷を行ってＰＤＬデータを生成する。これにより、プリントサーバが処理するデータ量を軽減して、プリントサーバのパフォーマンスの低下を軽減することができる。
【０１１９】
図１１は、本発明のプリントシステムにおける第３の制御処理手順の一例を示すフローチャートであり、図４に示した３−１〜３−７の処理手順に対応する。ステップＳＣ１１００〜ＳＣ１１１１は、図４に示したパネル・アプリケーション４０４の処理に対応する。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。ステップＳＢ１１００〜ＳＢ１１１１は、図４に示したジョブ管理サービス４０２処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１２０】
まず、パネル・アプリケーション４０４による印刷設定変更について説明する。
パネル・アプリケーション４０４は、図７のステップＳＣ７０９で画像形成装置１０２の操作部３０８の表示部に表示された印刷ジョブ一覧表示画面（図１４（ａ））上で、印刷ジョブの選択と印刷設定変更ボタン１３３０の押下を検知すると、ステップＳＣ１１００において、処理を開始する。
【０１２１】
ステップＳＣ１１０１において、パネル・アプリケーション４０４は、選択された印刷ジョブの印刷設定を表示する印刷設定変更画面（図１４（ｂ））を操作部３０８の表示部に表示するように制御する。
【０１２２】
次に、ステップＳＣ１１０２において、印刷設定変更画面（図１４（ｂ））からパネル・アプリケーション４０４は、印刷設定変更入力を受け付ける。
図１４（ｂ）は、画像形成装置１０２の操作部３０８に表示される印刷設定変更画面の一例を示す図である。
図１４（ｂ）において、１３４０は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。１３４１は、両面・片面の指定を意味し、片面、両面（長辺綴じ）、両面（短辺綴じ）のうち１つを選択できる。１３４２は、ページ集約の指定を意味し、１ｉｎ１、２ｉｎ１、４ｉｎ１、６ｉｎ１、８ｉｎ１、９ｉｎ１、１６ｉｎ１のうち１つを選択できる。１３４３は、印刷部数の指定を意味し、１から９９９９までの値を指定できる。
【０１２３】
１３４４は、出力される印刷物の総ページ数を意味し、変更することはできないがユーザは印刷設定変更すると、ページ数がどのように変遷するかを見ることができる。さらに、１３４５はカラーページ数、１３４６はモノクロページ数をそれぞれ意味し、印刷設定を反映した後のカラーページ数、モノクロページ数を表示している。
【０１２４】
１３４７は、印刷後に文書を削除する指定を意味し、このチェックボックスにチェックがついていた場合は、印刷後に削除するコマンドが印刷ジョブと同時にジョブ管理サービス４０２に送信される。
【０１２５】
１３４８は、１３０４〜１３４３で印刷設定を変更した場合に設定変更確認を行うためのボタンであり、このボタンが押下されると、印刷設定情報がジョブ管理サービス４０２に送信される。１３４９は、印刷を行うためのボタンである。
【０１２６】
なお、図１４（ｂ）は、図１４（ａ）において文書名「決算報告書」の印刷ジョブの選択を受け付けて、印刷設定変更ボタン１３３０の押下を受け付けた場合の印刷設定変更例を示している。
【０１２７】
なお、図１４（ｂ）の印刷設定変更画面上に、そのジョブを画像形成装置１０２で実際に出力した際の用紙枚数を表示するようにしてもよい。また、図１４（ｂ）の印刷設定変更画面上に、画像形成装置１０２で実際に出力した際の形態を模式的に表す画像を表示するためのプレビュー領域を設けるようにしてもよい。このプレビュー領域は、実際にジョブで出力される画像そのものを表示するためのものではなく、ジョブに設定されているカラーモード、両面／片面、ページ集約等の設定状態（即ち、実際に出力される形態）を表すシンボルを表示するようにする。
【０１２８】
以上のように、パネル・アプリケーション４０４は、印刷設定変更画面（図１４（ｂ））上に、プリントサーバ１０１から受信した印刷ジョブ一覧に含まれる印刷ジョブ（特に図１４（ａ）で選択された印刷ジョブ）の体裁情報（画像形成装置１０２で実際に印刷される際の体裁を示す情報）を変更可能に表示する。
【０１２９】
以下、図１１のフローチャートの説明に戻す。
パネル・アプリケーション４０４は、印刷設定変更画面（図１４（ｂ））上で、印刷設定の変更と設定変更確認ボタン１３４８の押下を検知すると、パネル・アプリケーション４０４は、ステップＳＣ１１０３に処理を進める。なお、図１１には示していないが、設定変更確認ボタン１３４８を押下することなくプリント開始ボタン１３４９が押下された場合には、パネル・アプリケーション４０４は、そのままＳＣ１１０９に処理を進めるものとする。
【０１３０】
ステップＳＣ１１０３では、パネル・アプリケーション４０４は、ジョブ管理サービス４０２へ印刷設定情報を送信する。この印刷設定情報は対応する印刷ジョブのジョブ識別子としてのＧＵＩＤを含むものであり、前述したＸＭＬ形式を使ってもよい。
【０１３１】
そして、ステップＳＣ１１０４において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷設定変更指示が反映された印刷設定情報を受信する。
次に、ステップＳＣ１１０５において、パネル・アプリケーション４０４は、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報とを比較する。
【０１３２】
例えば、ステップＳＣ１１０２で変更対象外の設定情報として用紙サイズがあるが、図４の１−１の段階で用紙サイズは「はがき」になっていたとする。そして、印刷設定の禁則条件として、用紙が「はがき」の場合、両面・片面指定は片面しか選択できないとする。さらに、禁則条件適用の優先度は両面・片面指定よりも用紙サイズの指定の方が高いとする。この場合、両面・片面指定を両面に設定変更することはできない。パネル・アプリケーションに４０４に、プリンタドライバと同様の高度な禁則処理を実装すれば、図１４（ｂ）の設定変更入力の時点で両面指定を変更できないようにすることも可能であるが、パネル・アプリケーションの実装難易度が非常に高くなる。本実施形態のように、パネル・アプリケーション４０４では印刷設定の禁則処理を行わず、印刷設定を変更したら都度、変更可能かどうかプリントサーバ１０１側のプリンタドライバに問い合わせる方が容易なうえ汎用性も増す。
【０１３３】
そして、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報を比較した結果、差異が有ると判定した場合（ＳＣ１１０５でＹｅｓ）、パネル・アプリケーションに４０４は、ステップＳＣ１１０６へ処理を進める。
【０１３４】
ステップＳＣ１１０６では、パネル・アプリケーションに４０４は、エラー表示画面（図１５（ａ））を操作部３０８の表示部に表示するように制御する。
図１５（ａ）は、画像形成装置１０２の操作部３０８に表示されるエラー表示画面の一例を示す図である。
ここでは両面ができない場合は、図１５（ａ）のような「片面」から「両面（長辺綴じ）」に変更できなかった旨のエラー表示を行う。エラー表示画面（図１５（ａ））の１３５０が押下されたことを検知すると、パネル・アプリケーションに４０４は、ステップＳＣ１１０７へ処理を進める。
【０１３５】
一方、上記ＳＣ１１０３で送信した印刷設定情報と上記ＳＣ１１０４で受信した印刷設定情報とに差異が無いと判定した場合（ＳＣ１１０５でＮｏ）、パネル・アプリケーションに４０４は、そのままステップＳＣ１１０７へ処理を進める。
【０１３６】
ステップＳＣ１１０７では、パネル・アプリケーションに４０４は、上記ＳＣ１１０４で受信した印刷設定情報を、印刷設定変更画面（図１４（ｂ））上に表示するように制御する。ここに表示される印刷設定情報は、後述するローカルポート印刷ファイルの解析結果を表示しているため、詳細な情報が表示される。
【０１３７】
次に、ステップＳＣ１１０８において、パネル・アプリケーションに４０４は、印刷実行を行うか判定する。印刷設定変更画面（図１４（ｂ））上でプリント開始ボタン１３４９以外の操作を検知すると、パネル・アプリケーションに４０４は、印刷実行を行わず、印刷設定変更の入力を行うと判定し（ＳＣ１１０８でＮｏ）、ステップＳＣ１１０２へ処理を戻す。そして、印刷設定変更の入力を受け付ける。
【０１３８】
一方、印刷設定変更画面（図１４（ｂ））上でプリント開始ボタン１３４９の操作を検知すると、印刷実行を行うと判定し（ＳＣ１１０８でＹｅｓ）、パネル・アプリケーションに４０４は、ステップＳＣ１１０９へ処理を進める。
【０１３９】
ステップＳＣ１１０９では、パネル・アプリケーションに４０４は、ジョブ管理サービス４０２に印刷指示コマンドを送信する。なお、この処理は、後述する図１２で詳細に説明する。
【０１４０】
そして、ステップＳＣ１１１０において、パネル・アプリケーションに４０４は、図１４（ｂ）の印刷設定変更画面を閉じ、ステップＳＣ１１１１で処理を終了する。
次にジョブ管理サービス４０２による印刷設定変更処理を説明する。
ステップＳＢ１１００において、ジョブ管理サービス４０２の処理を開始する。ステップＳＢ１１０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷設定変更指示を受信する。この印刷設定変更指示は、ステップＳＣ１１０３で送信されたものであり、ジョブ識別子としてＧＵＩＤが含まれている。
【０１４１】
次に、ステップＳＢ１１０２において、ジョブ管理サービス４０２は、図４のジョブ管理ＤＢ４０３から上記ＳＢ１１０１で得たＧＵＩＤと一致するレコードを探索して取得する。
【０１４２】
そして、ステップＳＢ１１０３において、ジョブ管理サービス４０２は、上記ＳＢ１１０２で探索して取得されたレコードからメタデータのＤＥＶＭＯＤＥおよびＥＭＦＳＰＯＯＬ形式の印刷ジョブを取得する。
【０１４３】
さらに、ステップＳＢ１１０４において、ジョブ管理サービス４０２は、上記ＳＢ１１０１で得た印刷設定を上記ＳＢ１１０３で得たメタデータのＤＥＶＭＯＤＥに適用する。
次に、ステップＳＢ１１０５において、ジョブ管理サービス４０２は、ＥＭＦＳＰＯＯＬ形式の印刷ジョブの描画データを加工する。本処理については、前述したＳＢ７０７と同様なため説明を省略する。
【０１４４】
次に、ステップＳＢ１１０６において、ジョブ管理サービス４０２は、上記ＳＢ１１０５で加工した加工済み印刷ジョブおよびＤＥＶＭＯＤＥを使用して、プリンタドライバ４０６を用いてローカルポート出力を行う。プリンタドライバ４０６は、図８のＳＢ８０５，ＳＢ８０６で作成した出力ポートがローカル出力の論理プリンタを使用する。この処理により、現在処理中の印刷ジョブに対応するＰＤＬジョブが再生成されてプリントサーバ１０１の外部メモリ等に再出力されてファイルとして保存される。
【０１４５】
さらに、ステップＳＢ１１０７において、ジョブ管理サービス４０２は、ジョブ終了判断用のダミージョブを、プリンタドライバ４０６を用いてローカルポート出力する。
次に、ステップＳＢ１１０８において、ジョブ管理サービス４０２は、上記ＳＢ１１０６のローカル印刷でファイルとして保存されたＰＤＬジョブの個数、及びＰＤＬデータを解析して、印刷設定情報等を再取得し、メタデータを更新する。
【０１４６】
さらに、ステップＳＢ１１０９において、ジョブ管理サービス４０２は、上記ＳＢ１１０６及びＳＢ１１０７でローカルポート出力されたＰＤＬデータを削除する。
さらに、ステップＳＢ１１１０において、ジョブ管理サービス４０２は、上記ＳＢ１１０８で取得した印刷設定情報、及びジョブ個数等を、パネル・アプリケーション４０４へ返信（再送信）し、ステップＳＢ１１１１で処理を終了する。
【０１４７】
図１２は、本発明のプリントシステムにおける第４の制御処理手順の一例を示すフローチャートであり、図４に示した４−１〜４−４の処理手順に対応する。ステップＳＣ１２００〜ＳＣ１２０５は、図４に示したパネル・アプリケーション４０４による印刷指示処理（図１１のＳＣ１１０９）に対応するものである。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。ステップＳＢ１２００〜ＳＢ１２０９は、図４に示したジョブ管理サービス４０２による印刷処理に対応する。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１４８】
まず、パネル・アプリケーション４０４による印刷指示処理を説明する。
ステップＳＣ１２００において、パネル・アプリケーション４０４の処理を開始する。ステップＳＣ１２０１において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２へ印刷指示要求コマンドを送信する。このとき選択済みの印刷ジョブのＧＵＩＤと画像形成装置１０２のモデル名も送信する。さらに、印刷設定変更表示図１４（ｂ）の１３４７において、プリント後文書消去チェックボックスにチェックがついていた場合は、印刷後に削除するコマンド（削除コマンド）を印刷ジョブと同時に送信しておく。
【０１４９】
そして、ステップＳＣ１２０２において、パネル・アプリケーション４０４は、ジョブ管理サービス４０２から印刷実行結果（成否）を受信する。
次に、ステップＳＣ１２０３において、パネル・アプリケーション４０４は、印刷実行に成功したかどうかを判定する。そして、印刷実行に失敗したと判定した場合（ＳＣ１２０３でＹｅｓ）、パネル・アプリケーション４０４は、ステップＳＣ１２０４へ処理を進める。
【０１５０】
ステップＳＣ１２０４では、パネル・アプリケーション４０４は、エラー表示画面（図１５（ｂ））を操作部３０８の表示部に表示するように制御する。
図１５（ｂ）は、画像形成装置１０２の操作部３０８に表示されるエラー表示画面の一例を示す図である。
エラー表示画面（図１５（ｂ））のＯＫボタンが押下されたことを検知すると、パネル・アプリケーション４０４は、ステップＳＣ１２０５へ処理を進める。
一方、印刷実行に成功した（印刷実行に失敗しなかった）と判定した場合（ＳＣ１２０３でＮｏ）、パネル・アプリケーション４０４は、そのままステップＳＣ１２０５へ処理を進める。
【０１５１】
ステップＳＣ１２０５では、パネル・アプリケーション４０４は、図１６に示す印刷実行中画面を操作部３０８の表示部に表示し、画像形成装置１０２での印刷出力が完了するまでの間にユーザが印刷中止の指示をできるよう制御する。
【０１５２】
図１６は、画像形成装置１０２の操作部３０８に表示される印刷中止画面の一例を示す図である。
印刷中止画面（図１６）のプリント中止ボタン１３６０を押下することにより、ユーザは印刷を中止させることができる。なお、上記ＳＣ１２０５の処理においては、パネル・アプリケーション４０４は、ジョブ管理サービス４０２に対して、印刷中止指示（図４の４−１）又は印刷完了通知（図４の６−１）の信号を送信する。詳細は後述する図１７に示す。ステップＳＣ１２０５の処理を完了すると、パネル・アプリケーション４０４は、ステップＳＣ１２０６に進み、処理を終了する。
【０１５３】
次にジョブ管理サービス４０２による印刷処理を説明する。
ステップＳＢ１２００において、ジョブ管理サービス４０２の処理を開始する。ステップＳＢ１２０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４から印刷指示コマンド（ステップＳＣ１２０１で送信された印刷指示コマンド）を受信する。このとき、印刷対象の印刷ジョブのＧＵＩＤも受信する。さらに、削除コマンドも一緒に送信されている場合には、削除コマンドも受信する。
【０１５４】
次に、ステップＳＢ１２０２において、ジョブ管理サービス４０２は、図４のジョブ管理ＤＢ４０３から上記ＳＢ１２０１で得たＧＵＩＤと一致するレコードを探索する。
さらに、ステップＳＢ１２０３において、ジョブ管理サービス４０２は、上記ＳＢ１２０２で探索して得られたレコードからＥＭＦＳＰＯＯＬ形式印刷ジョブとＤＥＶＭＯＤＥを取得する。
【０１５５】
ステップＳＢ１２０４において、ジョブ管理サービス４０２は、プリンタドライバをインストールする。本処理は前述した図７のＳＢ７０２の処理と同様のため省略する。
ステップＳＢ１２０５において、ジョブ管理サービス４０２は、上記ＳＣ１２０３で得たＥＭＦＳＰＯＯＬ形式印刷ジョブとＤＥＶＭＯＤＥをレンダリングして印刷処理を実行する。この際、上記ＳＢ１２０１で印刷指示コマンドを受信した画像形成装置１０２のＩＰアドレスが出力ポートに設定された論理プリンタを用いる。該論理プリンタを構成するプリンタドライバはＰＤＬを生成し、画像形成装置１０２にＰＤＬを送信する。
【０１５６】
そして、ステップＳＢ１２０６において、ジョブ管理サービス４０２は、上記ＳＢ１２０５での印刷実行の成否をパネル・アプリケーション４０４へ送信する。
次に、ステップＳＢ１２０７において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４のＳＣ１２０５で送信される、印刷中止指示、又は印刷完了通知の信号に応じて処理を行う。この処理の詳細は後述する図１７で示す。
【０１５７】
次に、ステップＳＢ１２０８において、ジョブ管理サービス４０２は、上記ＳＢ１２０１で受信した情報に削除コマンドがある（削除コマンドがＯＮである）か否かを判定する。そして、削除コマンドがある（削除コマンドがＯＮである）と判定した場合（ＳＢ１２０８でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ１２０９に処理に進める。
【０１５８】
ステップＳＢ１２０９では、ジョブ管理サービス４０２は、上記ＳＢ１２０２で探索したレコードをジョブ管理ＤＢ４０３から削除し、上記ＳＢ１２０３で取得したファイルパスの印刷ジョブを削除し、ステップＳＢ１２１０に進み、処理を終了する。
【０１５９】
一方、削除コマンドがない（削除コマンドがＯＦＦである）と判定した場合（ＳＢ１２０８でＮｏ）、ジョブ管理サービス４０２は、そのままステップＳＢ１２１０に進み、処理を終了する。
【０１６０】
図１７は、本発明のプリントシステムにおける第５の制御処理手順の一例を示すフローチャートであり、図４に示した５−１，６−１の処理手順に対応する。ステップＳＣ１４００〜ＳＣ１４１０は、図４に示したパネル・アプリケーション４０４による印刷中止待機処理（図１２のＳＣ１２０５）に対応するものである。即ち、これらの処理は、図１に示した画像形成装置１０２のＣＰＵ３０１がＲＯＭ３０３又はＨＤＤ３０４に格納されたプログラムをＲＡＭ３０２上にロードして実行することにより実現される。ステップＳＢ１４００〜ＳＢ１２０４は、図４に示したジョブ管理サービス４０２による印刷中止待機処理（図１２のＳＣ１２０７）に対応するものである。即ち、これらの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【０１６１】
まず、パネル・アプリケーション４０４による印刷中止待機処理を説明する。
ステップＳＣ１４００において、パネル・アプリケーション４０４の処理を開始する。ステップＳＣ１４０１において、パネル・アプリケーション４０４は、操作部３０８の表示部に図１６に示す印刷中止画面を表示する。なお、この印刷中止画面（図１６）のプリント中止ボタン１３６０を押下することにより、ユーザは印刷を中止させることができる。
【０１６２】
次に、ステップＳＣ１４０２において、パネル・アプリケーション４０４は、印刷ドキュメントの排紙まで全て完了しているかを判定する。
そして、未だ印刷ドキュメントの排紙が未完了と判定した場合（ＳＣ１４０２でＮｏ）、ステップＳＣ１４０３に処理を進める。
ステップＳＣ１４０３では、パネル・アプリケーション４０４は、印刷中止画面（図１６）のプリント中止ボタン１３６０が押下されてか否かを判定する。そして、プリント中止ボタン１３６０が押下されていないと判定した場合（ＳＣ１４０３でＮｏ）、パネル・アプリケーション４０４は、ＳＣ１４０２に戻り、印刷ドキュメントの排紙完了を判定する。
【０１６３】
そして、印刷ドキュメントの排紙まで全て完了していると判定した場合（ＳＣ１４０２でＹｅｓ）、パネル・アプリケーション４０４は、ステップＳＣ１４０８へ処理を進める。ステップＳＣ１４０８では、パネル・アプリケーション４０４は、印刷完了コマンドをジョブ管理サービス４０２に送信して、ステップＳＣ１４０９へ処理を進める。このとき、印刷完了した印刷ジョブのＧＵＩＤも一緒に送信する。
【０１６４】
一方、プリント中止ボタン１３６０が押下されたと判定した場合（ＳＣ１４０３でＹｅｓ）、パネル・アプリケーション４０４は、ＳＣ１４０４に処理を進める。ステップＳＣ１４０４では、パネル・アプリケーション４０４は、印刷中止コマンドをジョブ管理サービス４０２に対して送信する。このとき、印刷中止する印刷ジョブのＧＵＩＤも一緒に送信する。
【０１６５】
さらに、ステップＳＣ１４０５において、パネル・アプリケーション４０４は、画像形成装置１０２で印刷中であるドキュメントの印刷出力を停止する。
そして、ステップＳＣ１４０６において、パネル・アプリケーション４０４は、画像形成装置１０２で受信済みのジョブ数が出力予定のジョブ数に達しているかを判定する。ここで、受信済みのジョブ数とは、パネル・アプリケーション４０４において印刷指示したドキュメントに対して、プリントサーバ１０１から受信したＰＤＬジョブ数である。また、出力予定のジョブ数とは、パネル・アプリケーション４０４が受信していた印刷設定情報に含まれるＰＤＬジョブ数のことである。
【０１６６】
そして、受信済みのジョブ数が出力予定のジョブ数に達していないと判定した場合（Ｓ１４０６でＹｅｓ）、パネル・アプリケーション４０４は、ＳＣ１４０５に処理を戻る。
一方、受信済みのジョブ数が出力予定のジョブ数に達したと判定した場合（Ｓ１４０６でＮｏ）、パネル・アプリケーション４０４は、ＳＣ１４０７に処理を進める。
【０１６７】
ステップＳＣ１４０７では、パネル・アプリケーション４０４は、受信済みのＰＤＬジョブを全て消去し、ステップＳＣ１４０９に処理を進める。
ステップＳＣ１４０９では、パネル・アプリケーション４０４は、印刷中止画面（図１６）を閉じて、ステップＳＣ１４１０にて処理を終了する。
【０１６８】
次にジョブ管理サービス４０２による印刷中止待機処理を説明する。
ステップＳＢ１４００において、ジョブ管理サービス４０２の処理を開始する。ステップＳＢ１４０１において、ジョブ管理サービス４０２は、パネル・アプリケーション４０４のＳＣ１４０４又はＳＣ１４０８で送信されたコマンドを受信する。このとき、印刷対象としている印刷ジョブのＧＵＩＤを受信する。
【０１６９】
次に、ステップＳＢ１４０２において、ジョブ管理サービス４０２は、上記ＳＢ１４０１にて受信したコマンドが印刷中止コマンドであるか否かを判定する。そして、印刷中止コマンドであると判定した場合（ＳＢ１４０２でＹｅｓ）、ジョブ管理サービス４０２は、ステップＳＢ１４０３に処理を進める。
【０１７０】
ステップＳＢ１４０３では、ジョブ管理サービス４０２は、削除コマンドの設定をＯＦＦに変更する。これは、ジョブ管理サービス４０２のＳＢ１２０１（図１２）において受信した削除コマンドがＯＮであっても、印刷の中止指示がなされた場合には、該当する印刷ジョブをジョブ管理ＤＢ４０３から削除しないようにするための処理である。これにより、印刷中に印刷中止を行ったジョブについては、再度印刷が指示できるようになる。
【０１７１】
上記ステップＳＢ１４０３の処理を完了すると、ジョブ管理サービス４０２は、ステップＳＢ１４０４にて処理を終了する。
一方、上記ＳＢ１４０１にて受信したコマンドが印刷中止コマンドでないと判定した場合（ＳＢ１４０２でＮｏ）、ジョブ管理サービス４０２は、印刷完了コマンドを受信したものとして、そのままＳＢ１４０４へと進み、処理を終了する。
【０１７２】
以上の処理により、プリントサーバ１０１上に一時蓄積する印刷データを画像形成装置に非依存な中間形式としたプルプリントシステムにおいて、中間形式の印刷データから生成されるＰＤＬジョブの数が幾つになるかを容易に把握することが可能となる。よって、画像形成装置から印刷指示した印刷ジョブに対応するＰＤＬジョブの全てを把握することが可能となり、キャンセル処理等のジョブの管理を正確に行うことが可能となる。また、中間形式の印刷データを加工することで、一時的に作成するＰＤＬデータの作成時間のパフォーマンスを改善している。
【０１７３】
さらに、本実施例においては、ローカルに出力したＰＤＬジョブのデータ解析も併せて行うことで、画像形成装置１０２のパネル・アプリケーションでの印刷ジョブの属性をより正確に提示することを可能としている。ここで、作成されるＰＤＬデータを解析可能として説明しているが、未知のＰＤＬデータの場合には、ＰＤＬデータの内容を解析しないようにしても、本実施例のＰＤＬジョブ数の取得自体には影響はない。
【０１７４】
以上示した処理により、ユーザが印刷装置からプリントサーバとしての情報処理装置上に一時蓄積された印刷データを指定して印刷した際に、指定された印刷データ及び印刷設定から実際にプリンタドライバが生成するＰＤＬジョブの個数（分割数）を正確に把握することが可能となる。
【０１７５】
さらに、印刷データから実際にＰＤＬジョブを生成して個数を把握するので、印刷データ、印刷設定、及びプリンタドライバの仕様等に依存せずにＰＤＬジョブの個数を正確に取得できる。
【０１７６】
また、ＰＤＬジョブの個数を取得することで、印刷中止等のジョブの管理において、１つのジョブから複数のＰＤＬジョブが生成された場合でも、正確に処理を行うことが可能となる。
【０１７７】
また、ジョブ数取得のために印刷データからＰＤＬジョブを生成する際には、印刷データを簡単な描画データ（疑似データ）に加工してＰＤＬジョブを生成しているので、パフォーマンスの劣化を防ぐことも可能となっている。
【０１７８】
さらに、画像形成装置のパネル・アプリケーションで印刷設定を変更した場合でも、変更時にプリントサーバからＰＤＬジョブの個数（分割数）を再び取得できるため、ユーザは印刷設定変更によりＰＤＬジョブの分割数が変わってしまうような場合でも、該ジョブの印刷実行中のキャンセル指示に対する制御を正確に行うことができる。
【０１７９】
本実施形態では、プリントサーバで印刷・加工・解析を行ったが、一部を画像形成装置で処理を行うことも可能である。例えば、画像形成装置にＨＤＤ３０４のような記憶装置が存在する場合、プリンタドライバはローカルポート印刷ではなく、画像形成装置の記憶装置にＰＤＬデータを出力して保存させる。そして、このＰＤＬデータを画像形成装置が解析して、ＰＤＬジョブの分割数を取得することも可能である。
【０１８０】
以上の手法により、サーバ上に一時蓄積する印刷データを特定の機種の画像形成装置に依存しない中間形式としたプルプリントシステムにおいて、中間形式の印刷データから生成されるＰＤＬジョブが幾つに分割されるか（分割数）を正確に把握することが可能となる。よって、印刷装置から印刷指示した印刷ジョブに対応するＰＤＬジョブの把握か可能となり、該ジョブの印刷実行中のキャンセル指示に対するキャンセル処理時等のジョブの管理を正確に行うことが可能となる。また、中間形式の印刷データを疑似データに加工することで、一時的に作成するＰＤＬデータの作成時間のパフォーマンスを改善している。
【０１８１】
さらに、本実施例においては、プリントサーバのローカルの記憶領域に出力したＰＤＬジョブのデータ解析も併せてプリントサーバで行うことで、画像形成装置のパネル・アプリケーションでの印刷ジョブの属性をより正確に提示することを可能としている。ここで、作成されるＰＤＬデータを解析可能として説明しているが、未知のＰＤＬデータの場合には、ＰＤＬデータの分割数のみを取得し、ＰＤＬデータの内容自体は解析しないようにしてもよい。このような構成であっても、本発明は、ＰＤＬジョブ数の取得自体には影響はない。
【０１８２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１８３】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１８４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１８５】
１０１    プリントサーバ
１０２    画像形成装置
１０５    ＬＡＮ
【図１】
2012181695.tif 000003
【図２】
2012181695.tif 000004
【図３】
2012181695.tif 000005
【図４】
2012181695.tif 000006
【図５】
2012181695.tif 000007
【図６】
2012181695.tif 000008
【図７】
2012181695.tif 000009
【図８】
2012181695.tif 000010
【図９】
2012181695.tif 000011
【図１０】
2012181695.tif 000012
【図１１】
2012181695.tif 000013
【図１２】
2012181695.tif 000014
【図１３】
2012181695.tif 000015
【図１４】
2012181695.tif 000016
【図１５】
2012181695.tif 000017
【図１６】
2012181695.tif 000018
【図１７】
2012181695.tif 000019