(57)【特許請求の範囲】
【請求項１】
プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データの書誌情報を管理する書誌情報記憶サーバとネットワークを介して通信可能なプリントサーバであって、
前記情報処理装置から前記印刷装置に依存しない形式の印刷対象データを受信するデータ受信手段と、
前記受信した印刷対象データを記憶するデータ記憶手段と、
当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信手段と、
プリンタドライバを記憶するプリンタドライバ記憶手段と、
前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信手段と、
前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定手段と、
第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定手段と、
前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成手段と、
前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定手段とを備え、
前記プリンタドライバ特定手段は、前記第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記受信したプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、
前記ポート情報設定手段は、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成手段で生成した印刷データの印刷実行後に、当該ポート情報設定手段で設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とする記載のプリントサーバ。
【請求項２】
前記プリントサーバと前記書誌情報記憶サーバは、別筐体で構成されることを特徴とする請求項１に記載のプリントサーバ。
【請求項３】
前記印刷指示情報には、前記ユーザがログインした印刷装置で指定された印刷設定情報を含むことを特徴とし、
前記プリンタドライバ特定手段で前記印刷装置が解釈可能なプリンタ言語情報に従って特定されたプリンタドライバに対して、前記印刷設定情報を設定する設定手段と、
前記印刷データ生成手段は前記印刷設定情報が設定されたプリンタドライバを用いる、
ことを特徴とする請求項１又は２に記載のプリントサーバ。
【請求項４】
前記書誌情報は、前記印刷対象データに付加されている情報であることを特徴とし、
前記書誌情報送信手段は前記印刷対象データに付加された書誌情報を送信する、
ことを特徴とする請求項１乃至３のいずれか１項に記載のプリントサーバ。
【請求項５】
プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データを記憶するプリントサーバと、前記印刷対象データの書誌情報を管理する書誌情報記憶サーバと印刷装置がネットワークを介して通信可能なプリントシステムであって、
前記プリントサーバは、
前記情報処理装置から印刷装置に依存しない形式の印刷対象データを受信するデータ受信手段と、
前記受信した印刷対象データを記憶するデータ記憶手段と、
当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信手段と、
プリンタドライバを記憶するプリンタドライバ記憶手段と、
前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信手段と、
前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定手段と、
第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定手段と、
前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成手段と、
前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定手段とを備え、
前記プリンタドライバ特定手段は、第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記受信したプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、
前記ポート情報設定手段は、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成手段で生成した印刷データの印刷実行後に、当該ポート情報設定手段で設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とし、
前記印刷装置は、
前記印刷対象データを特定するための印刷対象データ特定情報を含む印刷対象データの一覧を表示させる印刷対象データ一覧表示手段と、
前記一覧から印刷する印刷対象データを選択する印刷対象データ選択手段と、
前記選択された印刷対象データの出力指示を行う印刷対象データ出力指示手段と、
前記出力指示に応じて、前記印刷対象データを特定するための印刷対象データ特定情報と、当該印刷装置を特定するための印刷装置特定情報と、当該印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を前記書誌情報記憶サーバに送信することで、前記プリントサーバより前記印刷対象データ特定情報に対応する印刷データを受信する印刷データ受信手段と、
前記受信した印刷データを印刷する印刷手段と、
を備えることを特徴とするプリントシステム。
【請求項６】
前記プリントサーバと前記書誌情報記憶サーバは、別筐体で構成されることを特徴とを特徴とする請求項５に記載のプリントシステム。
【請求項７】
プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データの書誌情報を管理する書誌情報記憶サーバとネットワークを介して通信可能であり、プリンタドライバを記憶するプリントサーバにおけるプリント方法であって、
前記情報処理装置から前記印刷装置に依存しない形式の印刷対象データを受信するデータ受信ステップと、
前記受信した印刷対象データをデータ記憶手段に記憶するデータ記憶ステップと、
当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信ステップと、
前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信ステップと、
前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定ステップと、
第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定ステップと、
前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成ステップと、
前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定ステップとを備え、
前記プリンタドライバ特定ステップは、前記第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記印刷装置が解釈可能なプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、
前記ポート情報設定ステップは、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成ステップで生成した印刷データの印刷実行後に、当該ポート情報設定ステップで設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とするプリント方法。
【請求項８】
プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データの書誌情報を管理する書誌情報記憶サーバとネットワークを介して通信可能なプリントサーバを、
前記情報処理装置から前記印刷装置に依存しない形式の印刷対象データを受信するデータ受信手段、
前記受信した印刷対象データを記憶するデータ記憶手段、
当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信手段、
プリンタドライバを記憶するプリンタドライバ記憶手段、
前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信手段、
前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定手段、
第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定手段、
前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成手段
前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定手段として機能させ、
前記プリンタドライバ特定手段は、前記第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記印刷装置が解釈可能なプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、
前記ポート情報設定手段は、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成手段で生成した印刷データを印刷実行後に、当該ポート情報設定手段で設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とするためのプログラム。
【請求項９】
請求項８に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサーバを用いて印刷データを一時蓄積し、印刷を行う際に、該一時蓄積された印刷データに対する印刷要求を所望の印刷装置から行うことで該印刷装置から印刷を行うことを可能とするプリントシステムの制御に関する。
【背景技術】
【０００２】
従来から、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能にする所謂「プルプリント（蓄積印刷）」の印刷システムが提案されている。これにより、ユーザはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷データ出力を可能としている。
【０００３】
例えば、特許文献１には、従来のプルプリントシステムが開示されており、一時保存した印刷ジョブを印刷装置側から指定することで印刷する仕組みが開示されている。
【０００４】
具体的にはクライアントの端末からジョブサーバに印刷データを蓄積する際にジョブサーバで識別番号を作成し、クライアント端末に通知する。そして、後にユーザは出力したいプリンタに接続されているプリントサーバから該識別番号を入力して該ジョブサーバに印刷要求を行うことで該プリントサーバに接続されたプリンタからの出力を可能とするものである。
【特許文献１】特開２０００−０３５８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のシステムにおいては、所望のプリンタからの出力を可能とするものであるが、印刷ジョブをジョブサーバで一括管理するために相当数のユーザがこの仕組みを用いた場合にジョブサーバに蓄積される印刷ジョブのデータ量が膨大になるだけでなく、ユーザからの印刷要求処理が頻繁になりジョブサーバの負荷が増大してレスポンスが悪化する恐れがあるという問題を有している。
【０００６】
また、この問題を解決するために、例えば、ジョブサーバを複数台設置することも考えられるが、特許文献１のシステムをそのまま適用すると、プリントサーバからジョブサーバの印刷ジョブを指定する際に、ジョブサーバを適切に選択して該ジョブサーバに対して印刷要求を行わなければならず、ユーザは、どのジョブサーバに印刷ジョブが存在しているかを把握しておかなければならないという問題が発生する。
【０００７】
また、サーバに蓄積された印刷データがプリンタ機種に依存するものである場合、プリンタ記述言語に互換性が無いプリンタ機種ではその印刷データを出力することができないといった問題点もあった。
【０００８】
そこで、本発明の目的は、印刷対象データを選択した印刷装置から送信された印刷装置情報に従って、当該印刷装置に対応するプリンタドライバを特定することで、プリントサーバに蓄積されている印刷対象データを所望の印刷装置から容易に出力することができる仕組を提供することである。
【０００９】
また、出力時にレイアウト設定の変更を印刷装置から可能にし、該設定情報をどのプリントサーバの、どの印刷データに設定するのかユーザが把握することなく、所望の印刷装置から容易に出力することができる仕組を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データの書誌情報を管理する書誌情報記憶サーバとネットワークを介して通信可能なプリントサーバであって、前記情報処理装置から前記印刷装置に依存しない形式の印刷対象データを受信するデータ受信手段と、前記受信した印刷対象データを記憶するデータ記憶手段と、当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信手段と、プリンタドライバを記憶するプリンタドライバ記憶手段と、前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信手段と、前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定手段と、第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定手段と、前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成手段と、前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定手段とを備え、前記プリンタドライバ特定手段は、前記第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記受信したプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、前記ポート情報設定手段は、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成手段で生成した印刷データを印刷実行後に、当該ポート情報設定手段で設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とする。
【００１１】
また、本発明は、プリンタドライバを備える情報処理装置と、前記プリンタドライバを用いて生成された印刷装置に依存しない形式の印刷対象データを記憶するプリントサーバと、前記印刷対象データの書誌情報を管理する書誌情報記憶サーバと印刷装置がネットワークを介して通信可能なプリントシステムであって、前記プリントサーバは、前記情報処理装置から印刷装置に依存しない形式の印刷対象データを受信するデータ受信手段と、前記受信した印刷対象データを記憶するデータ記憶手段と、当該プリントサーバを特定するためのプリントサーバ特定情報と、前記記憶した印刷対象データを特定するための印刷対象データ特定情報を含む書誌情報を前記書誌情報記憶サーバに送信する書誌情報送信手段と、
プリンタドライバを記憶するプリンタドライバ記憶手段と、前記書誌情報記憶サーバから前記プリントサーバ特定情報に従って送信された、ユーザがログインした印刷装置から選択された印刷対象データを特定するための印刷対象データ特定情報と、前記印刷対象データを選択した印刷装置から送信された印刷装置を特定するための印刷装置特定情報と、印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を受信する印刷指示情報受信手段と、前記受信した印刷対象データ特定情報に従って、出力する印刷対象データを特定する印刷対象データ特定手段と、第一段階として、前記受信した印刷装置特定情報に従って、前記印刷対象データを選択した印刷装置に対応するプリンタドライバを特定するプリンタドライバ特定手段と、前記印刷対象データを選択した印刷装置で印刷すべく、前記特定されたプリンタドライバを用いて前記特定された印刷対象データから、前記印刷対象データを選択した印刷装置に依存する形式の印刷データを生成する印刷データ生成手段と、前記ユーザがログインした印刷装置で印刷可能にするべく、前記印刷装置特定情報に従って、前記プリンタドライバのポート情報を設定するポート情報設定手段とを備え、前記プリンタドライバ特定手段は、第一段階で前記印刷対象データを選択した印刷装置に対応するプリンタドライバが特定できなかった場合に、第二段階として、前記受信したプリンタ言語情報に従って、一時的に利用するためのプリンタドライバを特定することを特徴とし、前記ポート情報設定手段は、前記第二段階で特定されたプリンタドライバを一時的に利用するためにポートを切り換えるべく、前記第二段階で特定されたプリンタドライバのポート情報を設定し、前記印刷データ生成手段で生成した印刷データの印刷実行後に、当該ポート情報設定手段で設定した当該ポート情報から設定前のポート情報に戻す設定を行うことを特徴とし、前記印刷装置は、前記印刷対象データを特定するための印刷対象データ特定情報を含む印刷対象データの一覧を表示させる印刷対象データ一覧表示手段と、前記一覧から印刷する印刷対象データを選択する印刷対象データ選択手段と、前記選択された印刷対象データの出力指示を行う印刷対象データ出力指示手段と、前記出力指示に応じて、前記印刷対象データを特定するための印刷対象データ特定情報と、当該印刷装置を特定するための印刷装置特定情報と、当該印刷装置が解釈可能なプリンタ言語情報の印刷装置情報を含む印刷指示情報を前記書誌情報記憶サーバに送信することで、前記プリントサーバより前記印刷対象データ特定情報に対応する印刷データを受信する印刷データ受信手段と、前記受信した印刷データを印刷する印刷手段と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、印刷対象データを選択した印刷装置から送信された印刷装置情報に従って、当該印刷装置に対応するプリンタドライバを特定することで、プリントサーバに蓄積されている印刷対象データを所望の印刷装置から容易に出力することができるプリント環境を構築することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１６】
図１は、本発明の一実施形態を示すプリントサーバおよび印刷管理サーバおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。
【００１７】
図１の「事業所Ａ」に示すように、本実施形態のプリントシステムは、１又は複数のクライアントＰＣ１００（例えば、ユーザ毎）、１又は複数のプリントサーバ２００（例えば、階毎に設置）、１又は複数の複合機３００（例えば、階毎に設置），印刷管理サーバ４００、１又は複数のログインサービスＰＣ５００（例えば、階毎に設置）、ディレクトリサービスサーバ６００がローカルエリアネットワーク（ＬＡＮ）７００を介して接続される構成となっている。
【００１８】
クライアントＰＣ１００には、プリントドライバがインストールされており、アプリケーションプログラムからの印刷指示に応じて、プリントサーバ２００等へ印刷データを送信し、プリントサーバ２００の所定の格納場所（スプール領域）に格納させることができる。
【００１９】
また、クライアントＰＣ１００には、中間ファイル出力用のプリンタオブジェクトが作成され、該プリンタオブジェクトを通して本システムは実行される。なお、クライアントＰＣ１００には、プリントサーバ２００保存されているプリンタドライバをＰｏｉｎｔ＆Ｐｒｉｎｔにてインストールする（プリンタオブジェクトを生成する）ことが望ましい。
【００２０】
尚、本実施形態ではプリンタオブジェクトを通して実行されるように構成したが、クライアントＰＣ１００とプリンタサーバ２００が通信可能なアプリケーションをそれぞれ持っており、中間ファイルを受け取り、送信できる構成になっていれば良く、プリンタオブジェクトでなくても実現可能である。
【００２１】
プリントサーバ２００は、クライアントＰＣ１００から受信した上記印刷データに対応する書誌情報データを生成し、印刷管理サーバ４００に送信して、該印刷管理サーバ４００の所定の格納場所に格納させることができる。
【００２２】
また、プリントサーバ２００は、外部から受信した印刷指示に基づいて上記所定の格納場所に格納している印刷データを複合機３００へ転送制御する。
【００２３】
なお、プリントサーバ２００には、中間ファイルをクライアントＰＣ１００から受け取るための仮想プリンタドライバ（プリンタオブジェクト）が存在し、複合機３００へ印刷を行うためのプリンタドライバ（プリンタオブジェクト）が存在する。
【００２４】
印刷管理サーバ４００は、書誌情報ＤＢ（後述する図１６に示す）を備え、プリントサーバ２００から送信される書誌情報（プリントサーバ２００内に蓄積された印刷データに対応する書誌情報）を受信し、書誌情報ＤＢにより記憶管理する。
【００２５】
また、印刷管理サーバ４００は、ＩＣカード認証用テーブル（後述する図１５に示す）を記憶し、複合機３００からのＩＣカードによる認証依頼に応じて、該ＩＣカード認証用テーブルを用いて認証処理を行う。さらに、印刷管理サーバ４００は、複合機３００からの印刷要求（書誌情報ＤＢで管理される書誌情報に対応する印刷データの印刷要求）に応じて、該印刷データの印刷指示をプリントサーバ２００に行う。
【００２６】
ログインサービスＰＣ５００は、複合機３００のログインサービスとして、ディレクトリサービスサーバ６００で記憶管理されているクライアントＰＣ１００のログインユーザＩＤ，パスワード（例えば、マイクロソフト社のWindows（登録商標）のログインユーザ名（ユーザＩＤ），パスワード）に基づく認証処理（ＳＳＯ（Single Sign-ON））を行うものであり、例えば、キヤノン社のセキュリティエージェント（Security Agent）を搭載したパーソナルコンピュータである。
【００２７】
ディレクトリサービスサーバ６００は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性（クライアントＰＣ１００のログインユーザＩＤ，パスワード（例えば、マイクロソフト社のWindows（登録商標）のログインユーザ名（ユーザＩＤ），パスワード）を含む）、アクセス権等の情報を一元記憶管理するものであり、例えば、アクティブディレクトリ（Active Directory）機能を搭載したサーバである。
【００２８】
また、本実施形態のプリントシステムは、上述した構成の「事業所Ａ」と、１又は複数のクライアントＰＣ１００，１又は複数のプリントサーバ２００，１又は複数の複合機３００がＬＡＮ７００を介して接続される構成の１又は複数の「事業所Ｂ」とが、ＷＡＮ８００を介して接続される構成であってもよい。
【００２９】
以下、図２を用いて、図１に示したクライアントＰＣ１００，プリントサーバ２００，印刷管理サーバ４００，ログインサービスＰＣ５００，ディレクトリサービスサーバ６００に適用可能な情報処理装置のハードウェア構成について説明する。
【００３０】
図２は、図１に示したクライアントＰＣ１００，プリントサーバ２００，印刷管理サーバ４００，ログインサービスＰＣ５００，ディレクトリサービスサーバ６００に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００３１】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３２】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００３３】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器にへの表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００３４】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３５】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ７００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３６】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３７】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３８】
次に、図３を用いて、図１に示した複合機３００を制御するコントローラユニットのハードウェア構成について説明する。
【００３９】
図３は、図１に示した複合機３００のコントローラユニットのハードウェア構成の一例を示すブロック図である。
【００４０】
図３において、３１６はコントローラユニットで、画像入力デバイスとして機能するスキャナ３１４や、画像出力デバイスとして機能するプリンタ３１２と接続する一方、ＬＡＮ（例えば、図１に示したＬＡＮ７００）や公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行う。
【００４１】
コントローラユニット３１６において、３０１はＣＰＵで、システム全体を制御するプロセッサである。３０２はＲＡＭで、ＣＰＵ３０１が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
【００４２】
３０３はＲＯＭで、システムのブートプログラムや各種制御プログラムが格納されている。３０４はハードディスクドライブ（ＨＤＤ）で、システムを制御するための各種プログラム，画像データ、複合機の各種設定情報等を格納する。
【００４３】
各種プログラムの一例としては、ＩＣカード認証プログラム、印刷指示プログラム等、複合機の各種設定情報の一例としては、ＩＰアドレスやＰＤＬ情報等がＲＯＭ３０３或いはハードディスク３０４に記憶されている。
【００４４】
３０７は操作部インタフェース（操作部Ｉ／Ｆ）で、操作部（ＵＩ）３０８とのインタフェース部であり、操作部３０８に表示する画像データを操作部３０８に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０８から本システム使用者が入力した情報（例えば、ユーザ情報等）をＣＰＵ３０１に伝える役割をする。なお、操作部３０８はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００４５】
３０５はネットワークインタフェース（Network I/F）で、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。３０６はモデム（MODEM）で、公衆回線２３１に接続し、ＦＡＸの送受信等のデータの入出力を行う。
【００４６】
３１８は外部インタフェース（外部Ｉ／Ｆ）で、ＵＳＢ、ＩＥＥＥ１３９４，プリンタポート，ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部であり、本実施形態においては認証で必要となるＩＣカードの読み取り用のカードリーダ３１９が外部Ｉ／Ｆ部３１８に接続されている。そして、ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス３０９上に配置される。
【００４７】
３２０はイメージバスインタフェース（IMAGE BUS I/F）であり、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。
【００４８】
画像バス３１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。
【００４９】
３１０はラスタイメージプロセッサ（ＲＩＰ）で、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。３１１はプリンタインタフェース（プリンタＩ／Ｆ）で、プリンタ３１２とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。また、３１３はスキャナインタフェース（スキャナＩ／Ｆ）で、スキャナ３１４とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。
【００５０】
３１７は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００５１】
スキャナ部３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部３０８から読み取り起動指示することにより、ＣＰＵ３０１がスキャナ３１４に指示を与え、フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００５２】
プリンタ部３１２は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。なお、プリンタ部３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
【００５３】
操作部３０８は、ＬＣＤ表示部を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。
【００５４】
ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の２色ＬＥＤがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部３０８のストップキーは、稼働中の動作を止める働きをする。また、操作部３０８のＩＤキーは、使用者のユーザＩＤを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
【００５５】
カードリーダ３１９は、ＣＰＵ３０１からの制御により、ＩＣカード（例えば、ソニー社のフェリカ（ＦｅｌｉＣａ）（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ３１８を介してＣＰＵ３０１へ通知する。
【００５６】
以上のような構成によって、複合機３００は、スキャナ３１４から読み込んだ画像データをＬＡＮ７００上に送信したり、ＬＡＮ７００から受信した印刷データをプリンタ３１２により印刷出力することができる。
【００５７】
また、スキャナ３１４から読み込んだ画像データをモデム３０６により、公衆回線上にＦＡＸ送信したり、公衆回線からＦＡＸ受信した画像データをプリンタ３１２により出力することできる。
【００５８】
以下、図４を用いて、本実施形態のプリントシステムにおけるプルプリントの全体の流れについて説明する。
【００５９】
まず、本実施形態のプルプリントを実行するための前提について説明する。
【００６０】
まず、各クライアントＰＣ１００へは、通常のプリンタドライバをインストールして、論理プリンタを追加しておく。なお、この論理プリンタは、その印刷先（印刷ポート）がプリントサーバ２００に設定されている。
【００６１】
この各クライアントＰＣ１００に追加された、印刷先がプリントサーバ２００に設定された論理プリンタに対して、ユーザが印刷指示を行うことにより、本実施形態のプルプリントが実行される。なお、本実施形態では、クライアントＰＣ１００にインストールされた上記プリンタドライバがプリントサーバ２００に送信する印刷データは、中間ファイルとする。
【００６２】
なお、ここで、上記中間ファイルとは、例えば、アプリケーションプログラムの印刷処理をＯＳ（オペレーションシステム）等で用意されたグラフィックコマンド（Windows（登録商標）環境ではＧＤＩコマンド）として記録した中間データを含むものである。この中間データは、Windows（登録商標）環境では、エンハンストメタファイル（ＥＭＦ；Enhanced Meta File）と称される。
【００６３】
また、この中間データは、最終的なプリント環境（プリンタ機種等）に依存しないものであり、最終的なプリント環境に応じて、プリンタ用の印刷データに変換し、プリンタで印刷出力することが可能である。
【００６４】
さらに、この中間データは、プリンタに依存する印刷データよりも高速に作成することが可能であり、クライアントＰＣ１００の負荷を軽減させることも可能である。以下、上記中間データをＥＭＦデータと称する。
【００６５】
以下、本実施形態のプルプリントの全体の流れについて説明する。
【００６６】
図４は、本実施形態のプリントシステムにおけるプルプリントの全体の流れ説明する模式図である。
【００６７】
図４に示すように、まず、ユーザは、クライアントＰＣ１００にログインし（（１）−１）、該クライアントＰＣ１００で実行されるアプリケーションプログラムから、印刷先（印刷ポート）がプリントサーバ２００に指定された論理プリンタへの印刷指示を行う（（１）−２）。
【００６８】
この印刷指示に応じて、クライアントＰＣ１００のアプリケーションプログラムは、グラフィックエンジンを介して、プリンタドライバにデータを送信する。クライアントＰＣ１００は、ＬＰＲプロトコルを用いてプリントサーバ２００に接続して、アプリケーションプログラムからグラフィックエンジンを介して受け取った中間ファイル（以下、印刷データ）を送信して（（２）−１）、プリントサーバ２００の所定の格納場所（予め設定されているスプール領域）に格納させる（（２）−２）。また、プリントサーバ２００は、上記所定の格納場所に印刷データが格納されても、印刷装置への送信は行わない。
【００６９】
次に、プリントサーバ２００は、クライアントＰＣ１００から受信して上記所定の格納場所に格納された上記印刷データから書誌情報データを抽出（生成）し（（２）−３）、該抽出（生成）した書誌情報データを印刷管理サーバ４００に送信して、ネットワーク上でのファイル共有の仕組みを用いて印刷管理サーバ４００の所定の格納場所（予め設定されているディレクトリ）に格納させる（（３）−１）。なお、上記印刷管理サーバ４００の所定の格納場所に格納される書誌情報データのファイル名はについては後述する。
【００７０】
印刷管理サーバ４００は、上記所定のディレクトリを監視し、該所定のディレクトリにクライアントＰＣ１００から書誌情報ファイルが格納されると、該書誌情報ファイルを解析し書誌情報を書誌情報ＤＢ（印刷管理サーバ４００の外部記憶装置上に構築される）に登録する（（３）−２）。
【００７１】
また、複合機３００は、カードリーダ３１９により読み取り可能なＩＣカードを検知すると、該ＩＣカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として印刷管理サーバ４００に送信する（（４）−１）。個人認証情報は、認証に用いられる情報であり該ＩＣカードの製造番号でも良い。
【００７２】
印刷管理サーバ４００は、複合機３００より個人認証情報を受信すると、該個人認証情報の認証処理を印刷管理サーバ４００の外部記憶装置上に記憶されるＩＣカード認証用テーブルに基づいて行い、認証結果を複合機３００に返信する（（４）−２）。なお、認証処理に成功した場合には、認証結果として、クライアントＰＣ１００のログインユーザＩＤを送信するものとする。
【００７３】
次に、複合機３００は、印刷管理サーバ４００から、認証に成功した旨の認証結果（クライアントＰＣ１００のログインユーザＩＤ）を受信すると、印刷管理サーバ４００に印刷データ一覧要求を送信する（（５）−１）。なお、印刷データ一覧要求には、クライアントＰＣ１００のログインユーザＩＤが含まれているものとする。
【００７４】
印刷管理サーバ４００は、複合機３００から印刷データ一覧要求を受信すると、該印刷データ一覧要求に含まれるログインユーザＩＤなどで書誌情報ＤＢを検索して、該ログインユーザＩＤに対応する印刷データ一覧を生成し、複合機３００に返信する（（５）−２）。
【００７５】
複合機３００は、印刷管理サーバ４００から印刷データ一覧を受信すると、該印刷データ一覧を操作部３０８のＵＩ上に表示する。そして、ユーザにより、印刷データが選択され、印刷指示がなされると、複合機３００は、該選択された印刷データの印刷要求（出力指示）を印刷管理サーバ４００に送信する（６）。なお、この印刷要求は、クライアントＰＣ１００のログインユーザＩＤ，印刷データのタイムスタンプを含むものとする。
【００７６】
印刷管理サーバ４００は、複合機３００から印刷データの印刷要求（出力指示）を受信すると（６）、該出力指示がなされた印刷データの書誌情報を、クライアントＰＣ１００のログインユーザＩＤ，印刷データのタイムスタンプをキーにして書誌情報ＤＢから検索し、該検索した書誌情報から該当する印刷データを格納しているプリントサーバ２００を特定し、該プリントサーバ２００に該当する印刷データの印刷指示を送信する（７）。なお、上記印刷指示は、該当する印刷データファイル名を含む印刷コマンドである。
【００７７】
プリントサーバ２００は、印刷管理サーバ４００から印刷指示を受信すると、出力先の複合機に対応するプリンタドライバを決定（判断）し、該印刷指示に基づいてＬＰＲプロトコルにより印刷データを複合機３００に送信して複合機３００で印刷させる（８）。
【００７８】
複合機３００は、プリントサーバ２００から印刷データを受信すると、印刷処理を実行する。そして、該印刷処理を終了すると、複合機３００は、該終了した印刷処理の印刷完了通知を印刷管理サーバ４００に送信する（９）。
【００７９】
以下、図５を参照して、プリントサーバ２００内における全体の流れを説明する。
【００８０】
図５は、図１に示したプリントサーバ２００内における全体の流れを説明する図である。
【００８１】
図５に示すように、仮想プリンタドライバ５０２で、クライアントＰＣ１００から印刷データ（後述する図６に示す中間ファイル）を受け取り（図４の（２）−２）、印刷データ格納領域５０３へ保存する。ここで、図６を用いて本実施形態の中間ファイルについて説明する。
【００８２】
図６は、本実施形態の中間ファイルの構成を説明する図である。
【００８３】
図６に示すように、中間ファイルは、書誌情報部８０１と、実際に印刷される実体データ部８０２（上述したＥＭＦデータ）とから構成される。即ち、中間ファイルは、ＥＭＦデータに書誌情報が付加されたものに相当する。
【００８４】
尚、本実施形態では、中間ファイルを書誌情報８０１と実体データ部８０２で構成するようにしたが、書誌情報８０１と実体データ８０２を個々に管理し、分けてクライアントＰＣ１００からプリントサーバ２００へ送信されるように構成しても良い。
【００８５】
またこの場合、書誌情報８０１と実体データ８０２が紐付くように識別情報を持たせるように構成する。
【００８６】
さらに、書誌情報８０１と実体データ８０２を個々に管理し、分けてクライアントＰＣ１００からプリントサーバ２００へ送信されるように構成する場合は、中間ファイルを書誌情報８０１と紐付ける識別情報を含んだ実体データ部８０２（上述したＥＭＦデータ）となる。
【００８７】
以下、図５の説明に戻る。
【００８８】
印刷データ格納領域５０３に保存された印刷データは、書誌情報を抽出（生成）するための抽出サービスプログラム５０４において、書誌情報部８０１（図６）と実際に印刷される実体データ８０２（ＥＭＦデータ）（図６）とが抽出される（図４の（２）−３）。
【００８９】
書誌情報は、書誌情報格納領域５０５に一次格納され、印刷管理サーバ４００へ送信される（図４の（３）−１）。また、ＥＭＦデータは、ＥＭＦデータ格納領域５０７へ保存される。なお、ＥＭＦデータは、印刷データ（中間ファイル）のうち、書誌情報部８０１を削除したデータとしても良い。
【００９０】
なお、書誌情報とＥＭＦデータとは、ファイル名等で紐付けが行われる。また、紐付けるために、書誌情報にＥＭＦデータがどこに格納されているのか特定するための情報を含めるように構成してもよい。
【００９１】
印刷実行プログラム５０８は、印刷管理サーバ４００から印刷指示情報を受け取ると（図４の（７））、該印刷指示情報で受け取った情報に基づき、ＥＭＦデータ格納領域５０７からＥＭＦデータを取得する。さらに、印刷実行プログラム５０８は、上記印刷指示情報で受け取った情報及びデフォルトプリンタテーブル５０６（図１８）に基づき、プリンタドライバ（論理プリンタ）５１０〜５１２を選択し、該選択したプリンタドライバに、上記取得したＥＭＦデータを渡して印刷出力を指示する。
【００９２】
そして、出力指示を受けたプリンタドライバ（論理プリンタ）は、ＥＭＦデータを複合機３００へＰＤＬ変換して出力する（図４の（８））。なお、出力先の決定には、印刷指示情報に含まれる、出力先の複合機のＩＰアドレス、或いは、出力先の複合機固有の名称から決定したＩＰアドレスなどを用いる。
【００９３】
なお、印刷実行プログラム５０８は、出力したＥＭＦデータをログとして出力することが可能であり、画像ログ格納領域５０９へログを保存する。この画像ログは、サムネイル画像のように、縮小等してデータ量を少なくしたものであってもよい。
【００９４】
また、画像ログは印刷管理サーバ４００へ送信しても管理してもよく、不図示の画像ログ管理サーバへ送信してログを一元管理しても良い。
【００９５】
なお、上記仮想プリンタドライバ５０２，抽出サービスプログラム５０４，印刷実行プログラム５０８は、プリントサーバ２００のＣＰＵが、外部メモリに格納されるプログラムをＲＡＭ上に読み出して実行することにより実現されるものである。
【００９６】
また、上記格納領域５０３，５０４，５０７，５０９は、プリントサーバ２００の外部メモリ内に設けられるものとする。さらに、デフォルトプリンタテーブル５０６も、プリントサーバ２００の外部メモリ内に保持されているものである。
【００９７】
以下、図７を参照して、印刷管理サーバ４００内における全体の流れを説明する。
【００９８】
図７は、図１に示した印刷管理サーバ４００内における全体の流れを説明する図である。
【００９９】
図７に示すように、印刷管理サーバ４００の認証プログラム６０４は、複合機３００から認証情報を受け取ると（図４の（４）−１）、認証データ６０５を参照して認証処理を実行し、認証結果を複合機３００へ送信する（図４の（４）−２）。
【０１００】
また、印刷データ一覧プログラム６０３は、複合機３００から印刷データ一覧要求を受け取ると（図４の（５）−１）、書誌情報ＤＢ６０２を参照して、該当するユーザに対応する印刷データ一覧を生成し、複合機３００へ送信する（図４の（５）−２）。
【０１０１】
さらに、印刷指示プログラム６０１は、複合機３００から出力指示を受け取ると（図４の（６））、出力指示に含まれる出力指示情報に基づき、書誌情報ＤＢ６０２から出力するデータがどのプリントサーバ内にあるかを示す書誌情報を検索する。さらに、印刷指示プログラム６０１は、出力が指示された印刷データを特定する情報，出力指示のあった複合機３００の属性（例えば、ＩＰアドレス）を含む印刷指示情報をプリントサーバ２００へ送信し（図４の（７））、出力を実行させる。
【０１０２】
なお、印刷指示プログラム６０１，印刷データ一覧プログラム６０３，認証プログラム６０４は、印刷管理サーバ４００のＣＰＵが、外部メモリに格納されるプログラムをＲＡＭ上に読み出して実行することにより実現されるものである。
【０１０３】
なお、書誌情報ＤＢ６０２，認証データ６０５は、印刷管理サーバ４００の外部メモリ内に保持されるものとする。
【０１０４】
以下、図８，図９を参照して、図５に示した抽出サービスプログラム５０４の書誌情報抽出処理について説明する。
【０１０５】
図８は、本発明のプリントシステムにおける第１の制御処理手順の一例を示すフローチャートであり、図５に示したプリントサーバ２００の抽出サービスプログラム５０４の書誌情報抽出処理に対応する。また、図中、Ｓ７０１〜Ｓ７０８は各ステップを示す。
【０１０６】
まず、ステップＳ７０１において、抽出サービスプログラム５０４は、中間ファイルの各領域（印刷データ格納領域５０３）を監視する。なお、中間ファイルは、各クライアントＰＣ１００から送信されてプリントサーバ２００の管理する中間ファイル格納領域に格納される。
【０１０７】
次に、ステップＳ７０２において、抽出サービスプログラム５０４は、中間ファイル格納領域にファイルがあるかどうか判定する。もしファイルがないと判定した場合には、ステップＳ７０１に処理を戻す。
【０１０８】
一方、ステップＳ７０２で、抽出サービスプログラム５０４は、中間ファイル格納領域にファイルがあると判定した場合には、ステップＳ７０３に処理を進める。
【０１０９】
そして、ステップＳ７０３において、抽出サービスプログラム５０４は、中間ファイル各領域内のファイルをＲＡＭ上にファイルをロードする。
【０１１０】
次に、ステップＳ７０４において、抽出サービスプログラム５０４は、ステップＳ７０３でロードしたファイルのヘッダ８０１にある識別子が中間ファイルを示す識別子と一致するか判定する。なお、上記識別子は、クライアントＰＣ１００の仮想プリンタドライバで付与されるものであり、中間ファイルであると識別できるユニークなコードが入れてある。
【０１１１】
ステップＳ７０４で、抽出サービスプログラム５０４が、ステップＳ７０３でロードしたファイルのヘッダにある識別子が中間ファイルを示す識別子と一致しないと判定した場合には、ステップＳ７０１に処理を戻す。
【０１１２】
一方、ステップＳ７０４で、抽出サービスプログラム５０４が、ステップＳ７０３でロードしたファイルのヘッダ８０１にある識別子が中間ファイルを示す識別子と一致すると判定した場合には、ステップＳ７０５に処理を進める。
【０１１３】
次に、ステップＳ７０５において、抽出サービスプログラム５０４は、中間ファイルを書誌情報部８０１と実体データ部８０２（ＥＭＦデータ）を分解する。
【０１１４】
そして、ステップＳ７０６において、抽出サービスプログラム５０４は、ステップＳ７０５で分解した書誌情報（図９）を印刷管理サーバ４００へ送信すると共に、プリントサーバ２００の書誌情報格納領域５０５に登録する。なお、例えば書誌情報は、印刷データがポストスクリプト（PostScript）で記載されている場合、ポストスクリプトのタグ情報から抽出し、該書誌情報に基づき、書誌情報ファイル（図９）を生成するように構成しても良い。ここで、図９を参照して、書誌情報ファイルについて説明する。
【０１１５】
図９は、本発明における書誌情報ファイルの一例を示す図である。
【０１１６】
中間ファイルから書誌情報として抽出する情報は、「ユーザ（オーナ）ＩＤ」，「印刷データのドキュメント名」，「部数」，「ページ数」，「片面ｏｒ両面」，「用紙サイズ」，「Ｊｏｂ識別子」に対応する情報である。
【０１１７】
なお、図９に示す書誌情報ファイル内の「印刷データ格納コンピュータ名／ＩＰアドレス」については、当該プリントサーバ２００自身のコンピュータ名／ＩＰアドレスとする。
【０１１８】
また、図９に示す書誌情報ファイル内の「タイムスタンプ」は、印刷管理サーバ４００の書誌情報ＤＢへの登録時に、印刷管理サーバ４００で付加されるものとする。
【０１１９】
なお、印刷管理サーバ４００の書誌情報ＤＢに登録された書誌情報は、登録後、一定時間を過ぎたタイミングで削除されるように構成してもよい。また、プリントサーバ２００内に書誌情報格納領域５０５はなくても本発明は実現可能である。
【０１２０】
以下、図８のフローチャートの説明に戻る。
【０１２１】
図８のステップＳ７０７において、抽出サービスプログラム５０４は、ステップＳ７０５で抽出したＥＭＦデータを、ＥＭＦデータ格納領域５０７に格納する。
【０１２２】
さらに、ステップＳ７０８において、抽出サービスプログラム５０４は、中間ファイルの各領域（印刷データ格納領域５０３）から中間ファイルを削除し、処理を終了する。
【０１２３】
以下、図１０〜図１３を参照して、図１に示した複合機３００におけるプルプリント処理について説明する。
【０１２４】
図１０は、本発明のプリントシステムにおける第２の制御処理手順の一例を示すフローチャートであり、図１に示した複合機３００におけるプルプリント処理に対応する。なお、このフローチャートの処理は、図３に示した複合機３００のＣＰＵ３０１がＲＯＭ３０３から読み出されたプログラム又はＨＤＤ３０４からＲＡＭ３０２上に読み出されたプログラムを実行することにより実現される。また、図中、Ｓ４０１〜Ｓ４２５は各ステップを示す。
【０１２５】
まず、複合機３００のＣＰＵ３０１は、ステップＳ４０１において、デフォルト表示画面（不図示）を操作部３０８の表示部に表示するように制御し、ステップＳ４０２において、カードリーダ３１９により認証カード（ＩＣカード）を検出したか否かを判定する。
【０１２６】
ステップＳ４０２で、複合機３００のＣＰＵ３０１が、カードリーダ３１９により認証カード（ＩＣカード）を検出したと判定した場合には、ステップＳ４０３において、カードリーダ３１９により認証カード（ＩＣカード）内のデータを読み取り、識別ＩＤとして認証カード内に記憶されたカード製造番号を取得する。
【０１２７】
次に、ステップＳ４０４において、複合機３００のＣＰＵ３０１は、ＩＣカード認証要求コマンドのコマンド識別子，ステップＳ４０３で取得したカード製造番号を含むＩＣカード認証要求コマンド（図１１（ｃ））を印刷管理サーバ４００に送信し（図４の（４）−１）、ステップＳ４０５に処理を進める。なお、印刷管理サーバ４００の外部メモリには、ＩＣカード認証テーブル（不図示）が記憶されており、印刷管理サーバ４００は、複合機３００から受け取ったＩＣカードのカード製造番号に基づいて認証処理を行うことができる。
【０１２８】
図１１は、図１に示した複合機３００から印刷管理サーバ４００へ送信するコマンドの一例を示す図である。なお、図１２（ａ）は印刷データ一覧要求コマンド、図１２（ｂ）は印刷要求コマンド又は削除コマンドに対応し、図１２（ｃ）はＩＣカード承認要求コマンドに対応する。
【０１２９】
以下、図１０のフローチャートの説明に戻る。
【０１３０】
次に、図１０のステップＳ４０５において、複合機３００のＣＰＵ３０１は、印刷管理サーバ４００より返信される認証結果を判定し、認証エラーである旨の認証結果が返信されたと判定した場合には、ステップＳ４０６において、エラー表示画面を操作部３０８の表示部に表示するように制御し、該エラー表示画面でＯＫボタン１４０１が押下されると、ステップＳ４０１に処理を戻し、再度、デフォルト画面を表示制御する。
【０１３１】
一方、ステップＳ４０５で、複合機３００のＣＰＵ３０１が、印刷管理サーバ４００より返信される認証結果として、クライアントＰＣ１００のログインユーザＩＤを取得した場合には、認証が成功した（認証ＯＫ）と判定し、ステップＳ４１５に処理を進める。
【０１３２】
また、ステップＳ４０２で、複合機３００のＣＰＵ３０１が、カードリーダ３１９により認証カード（ＩＣカード）を検出していないと判定した場合には、ステップＳ４０７において、デフォルト画面でキーボード入力ボタンが押下された（キーボード入力指示があった）か否かを判定する。ステップＳ４０７において、複合機３００のＣＰＵ３０１が、キーボード入力指示があったと判定した場合には、図１２に示すキー入力画面を操作部３０８の表示部に表示するように制御する。
【０１３３】
図１２は、図３に示した複合機３００の操作部３０８の表示部に表示されるキー入力画面の一例を示す図である。
【０１３４】
そして、図１０のステップＳ４０９において、複合機３００のＣＰＵ３０１は、該キー入力画面でのユーザＩＤとパスワードの入力を待機し、該キー入力画面でのユーザＩＤとパスワードの入力等を検知すると、ステップＳ４１０に処理を進める。詳細には、複合機３００のＣＰＵ３０１は、該キー入力画面で、ユーザＩＤ９０１，パスワード９０２への入力指示があると、図示しないキーボード画面を操作部３０８の表示部に表示制御し、該キーボード画面を用いてユーザＩＤ９０１，パスワード９０２への入力が行われ、ログインボタン９０３が押下されるか、戻りボタンとしてのトップ画面ボタン９０４が押下されると、ステップＳ４１０に処理を進める。
【０１３５】
次に、ステップＳ４１０において、複合機３００のＣＰＵ３０１は、戻りボタンとしてのトップ画面ボタン９０４が押下されたか否かを判定し、戻りボタンとしてのトップ画面ボタン９０４が押下されたと判定した場合には、ステップＳ４０１に処理を戻し、再度、デフォルト画面を表示制御する。
【０１３６】
一方、ステップＳ４１０で、複合機３００のＣＰＵ３０１が、戻りボタンとしてのトップ画面ボタン９０４が押下されていないと判定した場合には、ステップＳ４１１において、複合機３００のＣＰＵ３０１は、ログインボタン９０３が押下されたか否かを判定し、ログインボタン９０３が押下されていないと判定した場合には、ステップＳ４０９に処理を戻す。
【０１３７】
一方、ステップＳ４１１で、複合機３００のＣＰＵ３０１が、ログインボタン９０３が押下されたと判定した場合には、ステップＳ４１２において、複合機３００のＣＰＵは、ユーザＩＤ９０１，パスワード９０２に入力されたユーザＩＤ，パスワードをログインサービスＰＣ５００を介して認証サーバとしてのディレクトリサービスサーバ６００に送信する。
【０１３８】
次に、ステップＳ４１３において、複合機３００のＣＰＵ３０１は、ディレクトリサービスサーバ６００よりログインサービスＰＣ５００を介して返信される認証結果を判定し、認証にエラーである旨の認証結果が返信されたと判定した場合には、ステップＳ４１４において、図示しないエラー表示画面を操作部３０８の表示部に表示するように制御し、該エラー表示画面でＯＫボタンが押下されると、ステップＳ４０１に戻り、再度、デフォルト画面を表示制御する。
【０１３９】
一方、ステップＳ４１３で、複合機３００のＣＰＵ３０１が、印刷管理サーバ４００より返信される認証結果として、認証に成功した旨の認証結果が返信されたと判定した場合には、ステップＳ４１５に進む。
【０１４０】
次に、ステップＳ４１５において、複合機３００のＣＰＵ３０１は、印刷管理サーバ４００に対して、印刷データ一覧要求コマンドのコマンド識別子，ユーザＩＤ（認証処理の際に、印刷管理サーバ４００より返信されたユーザＩＤ、又はディレクトリサービスサーバ６００に送信したユーザＩＤ）を含む印刷データ一覧要求コマンド（図１２（ａ））を印刷管理サーバ４００に送信し（図４の（５）−１）、ステップＳ４１６に処理を進める。
【０１４１】
次に、図１０のステップＳ４１６において、複合機３００のＣＰＵ３０１は、印刷管理サーバ４００より返信される印刷データ一覧データの受信に成功したか否かを判定し、印刷データ一覧データの受信に失敗したと判定した場合には、ステップＳ４１７に処理を進め、図示しないエラー表示画面を操作部３０８の表示部に表示するように制御し、該エラー表示画面でＯＫボタンが押下されると、ステップＳ４１８に進み、空の印刷データ一覧画面１０００（図１３、但し印刷データ一覧１００１は空白）を表示部に表示するように制御する。
【０１４２】
なお、別の実施形態としてはエラー表示を行わず空の印刷データ一覧画面１０００を表示するようにしても良い。なお、この場合、フローチャートには示していないが、印刷データ一覧画面１０００で画面切換ボタン１００２が２度続けて押下されると、複合機３００のＣＰＵ３０１は、再度、印刷データ一覧要求コマンド（図１１（ａ））を印刷管理サーバ４００に送信するように制御するものとする。
【０１４３】
一方、ステップＳ４１６で、複合機３００のＣＰＵ３０１は、印刷管理サーバ４００より返信される印刷データ一覧データの受信に成功したと判定した場合には、ステップＳ４１８に処理を進め、受信した印刷データ一覧データに基づく印刷データ一覧データ画面（図１３）を操作部３０８の表示部に表示するように制御し、ステップＳ４１９に処理を進める。
【０１４４】
なお、フローチャートには示していないが、ステップＳ４１６で、複合機３００のＣＰＵ３０１が、印刷管理サーバ４００より印刷データ一覧データの代わりにデータなしのメッセージを受信したと判定した場合には、ステップＳ４１８において、空の印刷データ一覧データ画面を操作部３０８の表示部に表示するように制御し、さらに、空の印刷データ一覧データ画面の上に図示しないデータなしのメッセージ画面を表示する。そして、該データなしのメッセージ画面で、ＯＫボタンが押下されると、該データなし画面を閉じ、ステップＳ４１９に処理を進めるように制御するものとする。
【０１４５】
なお、図１３に示す印刷データ一覧画面１０００は、当該複合機３００にログインしているユーザに対応し、且つ、当該複合機３００で印刷処理可能な印刷データ（詳細には、当該複合機３００で印刷処理可能な（又は印刷を許可された）印刷データに対応する書誌情報データ）を一覧表示する画面に対応する。
【０１４６】
次に、ステップＳ４１９において、複合機３００のＣＰＵ３０１は、印刷データ一覧画面１０００（図１３）での印刷データ選択，印刷指示，消去指示，画面切替え指示等の入力を待機し、印刷データ一覧画面１０００での入力を検知すると、ステップＳ４２０に処理を進める。
【０１４７】
図１３は、図３に示した複合機３００の操作部３０８の表示部に表示される印刷データ一覧画面及びレイアウト設定画面の一例を示す図である。
【０１４８】
印刷データ一覧画面１０００において、１００５はレイアウト設定ボタンであり、このボタンが押下（タッチ）指示されると、複合機３００のＣＰＵ３０１は、レイアウト設定画面１０１０に画面を移行し、レイアウト設定が可能になる。
【０１４９】
以下、図１０のフローチャートの説明に戻る。
【０１５０】
次に、ステップＳ４２０において、複合機３００のＣＰＵ３０１は、印刷データ一覧画面で、画面切換ボタン１００２により画面切替えが指示されたか否かを判定し、画面切替えが指示されたと判定した場合には、ステップＳ４２１に処理を進め、他の処理用画面を操作部３０８の表示部に表示するように制御し、他の処理へ移行する。
【０１５１】
一方、ステップＳ４２０で、複合機３００のＣＰＵ３０１が、印刷データ一覧画面１０００で、レイアウト設定がなされ、レイアウト設定ボタン１００３により画面切替えが指示された場合、ステップＳ４２１において、レイアウト設定画面１０１０（図１３）を表示させる。
【０１５２】
そして、レイアウト設定画面１０１０で各種設定情報が選択入力され、ＯＫボタン１０１１が押下（タッチ）指示されると、複合機３００のＣＰＵ３０１は、ＲＡＭ３０２にレイアウト設定情報を保存し、Ｓ４２２へ処理が移る。
【０１５３】
また、印刷レイアウト設定ボタン１００５が押下されていないと判定した場合には、ステップＳ４２２へ処理が移る。
【０１５４】
次に、ステップＳ４２２において、複合機３００のＣＰＵ３０１は、印刷データ一覧画面１０００で、レイアウト設定ボタン１００３により印刷指示がなされたか否かを判定する。ステップＳ４２２で、複合機３００のＣＰＵ３０１が、印刷指示がなされたと判定した場合には、ステップＳ４２３に進み、印刷データ一覧１００１で選択された印刷データの印刷要求（図１１（ｂ）に示すように、印刷要求コマンド要求情報「１」，ユーザＩＤ，印刷データ一覧１００１で選択された印刷データのデータ情報（例えば、いちいに決定されたドキュメント名、ジョブ名、タイムスタンプ等（複数可），Ｓ４２１で設定されたレイアウト情報））を印刷管理サーバ４００に送信し（図４の（６））、ステップＳ４１５の処理に戻る。なお、印刷データ一覧１００１で印刷データが選択されていない状態で印刷指示がなされた場合には、印刷データを選択する旨のメッセージを表示した後に、そのままステップＳ４１５に処理を戻すものとする。
【０１５５】
一方、ステップＳ４２２で、複合機３００のＣＰＵ３０１が、印刷データ一覧画面１０００で、印刷ボタン１００３により印刷指示なされていないと判定した場合には、ステップＳ４２４に処理を進め、複合機３００のＣＰＵ３０１は、印刷データ一覧画面１０００で、消去ボタン１００４により消去指示がなされたか否かを判定する。ステップＳ４２４で、複合機３００のＣＰＵ３０１が、消去指示がなされたと判定した場合には、ステップＳ４２５において、印刷データ一覧１００１で選択された印刷データの削除要求（図１５（ｂ）に示すように、削除要求コマンド要求情報「２」，ユーザＩＤ，印刷データ一覧１００１で選択された印刷データのデータ情報（例えば、いちいに決定されたドキュメント名、ジョブ名、タイムスタンプ等（複数可），レイアウト情報（削除の場合は空）））を印刷管理サーバ４００に送信し、ステップＳ４１５に処理を戻す。なお、印刷データ一覧１００１で印刷データが選択されていない状態で消去指示がなされた場合には、印刷データを選択する旨のメッセージを表示した後に、そのままステップＳ４１５に処理を戻すように制御するものとする。
【０１５６】
なお、図１０のフローチャートには示していないが、印刷管理サーバ４００からコマンド受信に失敗した旨のエラー通知を受信した場合には、複合機３００のＣＰＵ３０１は、コマンドを印刷管理サーバ４００へ再送信するように制御する。
【０１５７】
以下、図１４，図１５を参照して、図７に示した印刷管理サーバ４００の印刷データ一覧プログラム６０３における印刷データ一覧生成処理，印刷指示プログラム６０１における印刷指示処理について説明する。
【０１５８】
図１４は、本発明のプリントシステムにおける第４の制御処理手順の一例を示すフローチャートであり、図７に示した印刷管理サーバ４００の印刷データ一覧プログラム６０３における印刷データ一覧生成処理に対応する。なお、図中、Ｓ１４０１〜Ｓ１４０６は各ステップを示す。
【０１５９】
まず、ステップＳ１４０１において、印刷データ一覧プログラム６０３は、複合機３００から印刷データ一覧要求コマンド（図１１（ａ））を受信したかを判断する（印刷データ一覧要求コマンドの送信は図１０のＳ４１５に該当）。
【０１６０】
そして、ステップＳ１４０１で、印刷データ一覧プログラム６０３が、印刷データ一覧要求コマンドを受信していないと判定した場合には、ステップＳ１４０１の処理を繰り返す。
【０１６１】
一方、ステップＳ１４０１で、印刷データ一覧プログラム６０３が、印刷データ一覧要求コマンドを受信したと判定した場合には、ステップＳ１４０２に処理を進める。
【０１６２】
次に、ステップＳ１４０２において、印刷データ一覧プログラム６０３は、受信した印刷データ一覧コマンドを解析し、ステップＳ１４０３において、解析したユーザＩＤに基づき、該当する書誌情報を書誌情報ＤＢから検索する。
【０１６３】
なお、各書誌情報は、書誌情報ＤＢ内で印刷を実行したユーザと紐付いており、このユーザはコマンド解析して得られたユーザＩＤと紐付くように構成されている。また、検索して取得された書誌情報に関しては、重複して出力されないようにフラグをたてて管理するように構成しても良い。
【０１６４】
次に、ステップＳ１４０４において、印刷データ一覧プログラム６０３は、ステップＳ１４０３で、書誌情報（一覧データ）が取得できたかどうかを判定する。そして、書誌情報（一覧データ）が取得できなかったと判定した場合には、印刷データ一覧プログラム６０３は、ステップＳ１４０６において、エラーメッセージを複合機３００（Ｓ１４０１でコマンドを受信した複合機）へ送信し、処理を終了する。
【０１６５】
一方、ステップＳ１４０４で、印刷データ一覧プログラム６０３が、ステップＳ１４０３で、書誌情報（一覧データ）が取得できたと判定した場合には、ステップＳ１４５に処理を進める。なお、書誌情報は複数検索でき、一覧データが生成されるものとする。
【０１６６】
そして、ステップＳ１４０５において、印刷データ一覧プログラム６０３は、
ステップＳ１４０３で取得した書誌情報（一覧データ）を複合機３００（Ｓ１４０１でコマンドを受信した複合機）へ送信し、処理を終了する。
【０１６７】
図１５は、本発明のプリントシステムにおける第３の制御処理手順の一例を示すフローチャートであり、図７に示した印刷管理サーバ４００の印刷指示プログラム６０１における印刷指示処理に対応する。なお、図中、Ｓ１１０１〜Ｓ１１０３は各ステップを示す。
【０１６８】
まず、ステップＳ１１０１において、印刷指示プログラム６０１は、複合機３００から印刷要求コマンド（図１１（ｂ））を受信したか否かを判断する（印刷要求コマンドの送信は図１０のＳ４２３に該当）。
【０１６９】
そして、ステップＳ１１０１で、印刷指示プログラム６０１が、印刷要求コマンドを受信していないと判定した場合には、ステップＳ１１０１の処理を繰り返す。
【０１７０】
一方、ステップＳ１１０１で、印刷指示プログラム６０１が、印刷要求コマンドを受信したと判定した場合には、ステップＳ１１０２に処理を進める。
【０１７１】
次に、ステップＳ１１０２において、印刷指示プログラム６０１は、印刷要求コマンド（図１１（ｂ））内の印刷データの識別用の要求データ情報に基づいて、書誌情報ＤＢ６０２から該当する書誌情報を検索し、取得する。
【０１７２】
次に、ステップＳ１１０３において、印刷指示プログラム６０１は、ステップＳ１１０２で取得した書誌情報データ内のＩＰアドレスに対応するプリントサーバ２００内の印刷実行プログラム５０８に対して、該書誌情報データに対応する印刷データに対する印刷指示情報（印刷指示）（図１６）を発行して印刷指示を行う（図４の（７））。なお、印刷指示後、印刷指示プログラム６０１は、印刷終了した書誌情報を書誌情報ＤＢ６０２から削除する。
【０１７３】
また、本フローチャートには示していないが、ステップＳ１１０１において、複合機３００から削除コマンド（図１１（ｂ））を受信した場合には、印刷指示プログラム６０１は、削除コマンド内の印刷データの識別用の要求データ情報に基づいて、書誌情報ＤＢ６０２から該当する書誌情報を検索し、取得する。そして、印刷指示プログラム６０１は、該取得した書誌情報データ内のＩＰアドレスに対応するプリントサーバ２００内の印刷実行プログラム５０８に対して、該書誌情報データに対応する印刷データに対する印刷指示情報（削除指示）（図１６）を発行して削除指示を行う。なお、削除指示後、印刷指示プログラム６０１は、印刷終了した書誌情報を書誌情報ＤＢ６０２から削除する。
【０１７４】
図１６は、図７に示した印刷管理サーバ４００の印刷指示プログラム６０１がプリントサーバ２００に送信する印刷指示情報の一例を示す図である。
【０１７５】
図１６に示すように、印刷指示情報には、印刷指示／削除指示，複合機のＩＰアドレス，印刷データファイルのフルパス，レイアウト情報，プリンタ記述言語情報等を含むものとする。
【０１７６】
以下、図１７を参照して、図５に示したプリントサーバ２００の印刷実行プログラム５０８における印刷実行処理について説明する。
【０１７７】
図１７は、本発明のプリントシステムにおける第５の制御処理手順の一例を示すフローチャートであり、図５に示したプリントサーバ２００の印刷実行プログラム５０８における印刷実行処理に対応する。なお、図中、Ｓ１３０１〜Ｓ１３１３は各ステップを示す。
【０１７８】
まず、ステップＳ１３０１において、印刷実行プログラム５０８は、印刷管理サーバ４００から印刷指示情報（図１６）を受信したか否かを判定する。そして、印刷実行プログラム５０８が、印刷指示情報（図１６）を受信していないと判定した場合には、ステップＳ１３０１の処理を繰り返す。
【０１７９】
一方、ステップＳ１３０１で、印刷実行プログラム５０８が、印刷管理サーバ４００から印刷指示情報（図１６）を受信したと判定した場合には、ステップＳ１３０２に処理を進める。
【０１８０】
次に、ステップＳ１３０２において、印刷実行プログラム５０８は、ステップＳ１３０１で受信した印刷指示情報（図１６）を解析し、ステップＳ１３０３において、該解析結果に基づいて印刷指示情報が印刷指示か削除指示かを判定する。そして、削除指示であると判定した場合には、印刷実行プログラム５０８は、ステップＳ１３１１に処理を進め、該当する印刷データの削除を行い、処理を終了する。
【０１８１】
一方、ステップＳ１３０３で、印刷実行プログラム５０８が、印刷指示情報が印刷指示であると判定した場合には、ステップＳ１３０４において、印刷実行プログラム５０８は、印刷指示情報内の複合機のＩＰアドレスに基づき、プリンタドライバを検索する。
【０１８２】
次に、ステップＳ１３０５において、印刷実行プログラム５０８は、該当するプリンタドライバ（論理プリンタ）が存在するか否かを判定し、該当するプリンタドライバ（論理プリンタ）が存在すると判定した場合には、ステップＳ１３０７に処理を進める。
【０１８３】
そして、ステップＳ１３０７において、印刷実行プログラム５０８は、該当するプリンタドライバ（論理プリンタ）を選択し、ステップＳ１３０８に処理を進める。
【０１８４】
一方、ステップＳ１３０５で、印刷実行プログラム５０８は、該当するプリンタドライバ（論理プリンタ）が存在しないと判定した場合には、ステップＳ１３０６に処理を進める。
【０１８５】
そして、ステップＳ１３０６において、印刷実行プログラム５０８は、デフォルトプリンタテーブル５０６を参照して、プリンタドライバを決定する。具体的には、印刷実行プログラム５０８は、印刷指示情報（図１６）内のプリンタ記述言語情報に対応する、プリンタドライバ（論理プリンタ）をデフォルトプリンタテーブル５０６から取得し、プリンタドライバ（論理プリンタ）を決定する。ここで、図１８を参照して、デフォルトプリンタテーブル５０６について説明する。
【０１８６】
図１８は、図５に示したデフォルトプリンタテーブル５０６を説明する図である。
【０１８７】
図１８に示すように、デフォルトプリンタテーブル５０６は、プリンタ記述言語（ＰＤＬ）９０１と、プリンタドライバ（論理プリンタ）９０２を関連付けるものである。プリンタ記述言語から対応するプリンタドライバ（論理プリンタ）を選択決定することが可能である。
【０１８８】
以下、図１７のフローチャートの説明に戻る。
【０１８９】
次に、図１７のステップＳ１３１１において、印刷実行プログラム５０８は、ステップＳ１３０６で決定されたプリンタドライバ（論理プリンタ）のポートを、ステップＳ１３０２で得られたＩＰアドレスで設定する。なお、ポートを設定する際、予めそのプリンタドライバ（論理プリンタ）に設定されていたポートの設定は、ＲＡＭやハードディスク等の記憶領域に保存しておくものとする。そして、ステップＳ１３０８へ処理を進める。
【０１９０】
次に、ステップＳ１３０８において、印刷実行プログラム５０８は、プリンタドライバ（論理プリンタ）に、受信した印刷指示情報から取得したレイアウト情報を設定する。
【０１９１】
そして、ステップＳ１３０９において、印刷実行プログラム５０８は、受信した印刷指示情報から取得した印刷データのファイルパスに基づき、印刷データ（ＥＭＦデータ）をＥＭＦデータ格納領域５０７から読み出す。
【０１９２】
そして、ステップＳ１３１０において、印刷実行プログラム５０８は、上記ＥＭＦデータ格納領域５０７から読み出した印刷データ（ＥＭＦデータ）に対してＬＰＲ印刷を実行する。そして、印刷出力が完了となった後に、印刷実行プログラム５０８は、当該ＥＭＦデータをＥＭＦデータ格納領域５０７から削除する。
【０１９３】
より詳細には、印刷実行プログラム５０８は、ＯＳに対してＥＭＦデータを印刷指示する。印刷指示後はＧＤＩ（Ｇｒａｐｈｉｃ Ｄｅｖｉｃｅ Ｉｎｔｅｒｆａｃｅ）を通してプリンタドライバへデータが渡り、複合機３００へ出力される。
【０１９４】
尚、ＯＳに対して印刷指示を行うように構成したが、プリンタドライバに直接印刷指示をするように構成しても良い。
【０１９５】
さらに、印刷実行プログラム５０８は、ステップＳ１３１２において、出力したプリンタドライバがデフォルトプリンタドライバか否かを判定する。そして、出力したプリンタドライバがデフォルトプリンタドライバであったと判定した場合には、ステップＳ１３１３において、印刷実行プログラム５０８は、該デフォルトプリンタドライバの出力ポートの設定を元に戻す。即ち、該デフォルトプリンタドライバの出力ポートに予め設定されていた設定をＲＡＭ等から読み出し、該デフォルトプリンタドライバに設定する。そして、処理を終了する。
【０１９６】
一方、ステップＳ１３１２において、印刷実行プログラム５０８が、ステップＳ１３１０で出力したプリンタドライバがデフォルトプリンタドライバでないと判定した場合には、そのまま処理を終了する。
【０１９７】
なお、印刷実行プログラム５０８は、ＥＭＦデータを削除する前に、該ＥＭＦデータを可視化（例えばＰＤＦ化）し、画像ログとして画像ログ格納領域５０９に格納するように構成してもよい。この画像ログは、サムネイル画像のように、縮小等してデータ量を少なくしたものであってもよい。
【０１９８】
以上説明したように、印刷管理サーバ４００が、中間ファイル形式の印刷データを指定した印刷指示をプリントサーバ２００に出力する際に、プリンタ（複合機３００）より受信したプリンタ情報（ＩＰアドレス又はプリンタ記述言語の情報）に関する情報と共に送信することにより、プリントサーバ２００は、該プリンタ情報に基づいて、出力するプリンタドライバ（論理プリンタ）を決定して、該決定されたプリンタドライバにより、メタ形式の印刷データ（ＥＭＦデータ）の印刷出力を所望の機種，所望のプリンタから容易に行うことができる。
【０１９９】
また、中間ファイル形式で印刷データを出力することで、プリンタ記述言語に互換性が無いプリンタ機種間，オプションの相違する装置間でも出力可能なシステムを構成することができる。
【０２００】
また、レイアウト設定（印刷設定）の変更についてもプリンタ側で設定し、該設定情報をどのプリントサーバの何処に格納されている印刷データに設定するのか、ユーザが把握することなく、所望の機種，所望のプリンタから所望の印刷設定で容易に印刷出力することができる。
【０２０１】
ＩＰアドレスなどの複合機３００の情報からプリンタドライバを適切に選択するため、中間ファイル形式の印刷データを、再度プリンタドライバを通して機種依存，オプション依存した印刷データを出力する際に従来必要であったプリンタドライバの指定というユーザの作業を減らすことができる。
【０２０２】
従って、対応するプリンタ記述言語，デバイス特性，オプション構成が異なる複数の印刷装置で構成されたシステムであっても、複数のプリントサーバに蓄積された印刷データを所望の印刷装置から容易に出力できるフレキシブルなプルプリント環境を構築することができる。
【０２０３】
また、出力の際にプリンタ側でレイアウト変更等の印刷設定変更が適宜可能となる。
【０２０４】
さらに、中間ファイルを可視化することにより、印刷の画像ログの保存も可能となるといった効果も奏する。なお、この画像ログは、サムネイル画像のように、縮小等してデータ量を少なくしたものであってもよい。これにより、画像ログ保存用のメモリ資源を節約することも可能である。
【０２０５】
なお、上記実施形態では、プリントサーバ２００に仮想プリンタドライバという本システムに適用した独自のアプリケーションで実現するように想定して構成したが、例えば、Windows（登録商標）環境でのＥＭＦスプールで実現するように構成してもよい。
【０２０６】
この構成の場合、上述の仮想プリンタドライバをＥＭＦスプール専用のプリンタドライバとし、クライアントＰＣ１００では、該ＥＭＦスプール用のプリンタドライバ（論理プリンタ（プリンタオブジェクトともいう））を用意した上で、各種アプリケーションはこのプリンタドライバ（論理プリンタ）に対して印刷を実行する。
【０２０７】
その際、プリントサーバ２００のＥＭＦスプール専用のプリンタドライバのスプールフォルダに格納された中間ファイル（ＥＭＦデータ）を別途格納領域に保存すると共に、該中間ファイルの書誌情報を印刷管理サーバ４００へ送信する。
【０２０８】
そして、プリントサーバ２００は、印刷管理サーバ４００より印刷指示があると、上記実施形態と同様に、該当するプリンタドライバを選択し、中間ファイルの出力指示を該プリンタドライバに対して行うように構成する。
【０２０９】
なお、上記各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０２１０】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２１１】
以下、図１９に示すメモリマップを参照して本発明に係るプリントシステムを構成する情報処理装置（プリントサーバ２００，印刷管理サーバ４００，複合機３００）で読み取り可能なデータ処理プログラムの構成について説明する。
【０２１２】
図１９は、本発明に係る本発明に係るプリントシステムを構成する情報処理装置（プリントサーバ２００，印刷管理サーバ４００，複合機３００）で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０２１３】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２１４】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２１５】
本実施形態における図８，図１０，図１４，図１５，図１７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２１６】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２１７】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０２１８】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０２１９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２２２】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２２３】
なお、上記各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【０２２４】
【図１】本発明の一実施形態を示すプリントサーバおよび印刷管理サーバおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。
【図２】図１に示したクライアントＰＣ，プリントサーバ，印刷管理サーバ，ログインサービスＰＣ，ディレクトリサービスサーバに適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【図３】図１に示した複合機のコントローラユニットのハードウェア構成の一例を示すブロック図である。
【図４】本実施形態のプリントシステムにおけるプルプリントの全体の流れ説明する模式図である。
【図５】図１に示したプリントサーバ内における全体の流れを説明する図である。
【図６】本実施形態の中間ファイルの構成を説明する図である。
【図７】図１に示した印刷管理サーバ内における全体の流れを説明する図である。
【図８】本発明のプリントシステムにおける第１の制御処理手順の一例を示すフローチャートである。
【図９】本発明における書誌情報ファイルの一例を示す図である。
【図１０】本発明のプリントシステムにおける第２の制御処理手順の一例を示すフローチャートである。
【図１１】図１に示した複合機から印刷管理サーバへ送信するコマンドの一例を示す図である。
【図１２】図３に示した複合機の操作部の表示部に表示されるキー入力画面の一例を示す図である。
【図１３】図３に示した複合機の操作部の表示部に表示される印刷データ一覧画面及びレイアウト設定画面の一例を示す図である。
【図１４】本発明のプリントシステムにおける第４の制御処理手順の一例を示すフローチャートである。
【図１５】本発明のプリントシステムにおける第３の制御処理手順の一例を示すフローチャートである。
【図１６】図７に示した印刷管理サーバの印刷指示プログラムがプリントサーバに送信する印刷指示情報の一例を示す図である。
【図１７】本発明のプリントシステムにおける第５の制御処理手順の一例を示すフローチャートである。
【図１８】図５に示したデフォルトプリンタテーブルを説明する図である。
【図１９】本発明に係る本発明に係るプリントシステムを構成する情報処理装置（プリントサーバ，印刷管理サーバ，複合機）で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２２５】
１００    クライアントＰＣ
２００    プリントサーバ
３００    複合機
４００    印刷管理サーバ
５００    ログインサービスＰＣ
５０２    仮想プリンタドライバ
５０３    抽出サービスプログラム
５０６    デフォルトプリンタテーブル
５０８    印刷実行プログラム
６００    ディレクトリサービスサーバ
６０１    印刷指示プログラム
７００    ＬＡＮ
８００    ＷＡＮ
【図１】
0004623469.tif 000002
【図２】
0004623469.tif 000003
【図３】
0004623469.tif 000004
【図４】
0004623469.tif 000005
【図５】
0004623469.tif 000006
【図６】
0004623469.tif 000007
【図７】
0004623469.tif 000008
【図８】
0004623469.tif 000009
【図９】
0004623469.tif 000010
【図１０】
0004623469.tif 000011
【図１１】
0004623469.tif 000012
【図１２】
0004623469.tif 000013
【図１３】
0004623469.tif 000014
【図１４】
0004623469.tif 000015
【図１５】
0004623469.tif 000016
【図１６】
0004623469.tif 000017
【図１７】
0004623469.tif 000018
【図１８】
0004623469.tif 000019
【図１９】
0004623469.tif 000020