(57)【要約】【課題】特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略する。【解決手段】情報処理装置にインストールされた制御プログラムが、プリンタにより印刷された印刷用紙の累積的な枚数である第１累積枚数をプリンタから取得し、さらに、情報処理装置から送信された印刷ジョブに基づいて印刷される印刷枚数の累積的な枚数である第２累積枚数を、情報処理装置に記憶させている。そして、制御プログラムが、第１累積枚数と第２累積枚数とに基づいて、同じユーザが連続して印刷ジョブをプリンタに送信しているか否かを判断し、判断結果に応じて、バナーページの挿入の有無を、プリンタに指示する。これにより、特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略することができる。【選択図】図１
2019114200.tif 000002
【特許請求の範囲】
【請求項１】
プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第１累積枚数を記憶するように構成されており、
前記コンピュータを、
前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、
前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第１累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第１枚数取得手段と、
前記プリンタにより印刷ジョブが送信された後に、前記第１枚数取得手段により取得された第１累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第２累積枚数を、前記記憶部に記憶させる記憶制御手段と、
前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第２累積枚数を前記記憶部から取得する第２枚数取得手段と、
前記第１枚数取得手段により取得された第１累積枚数と、前記第２枚数取得手段により取得された第２累積枚数とが一致するか否かを判断する判断手段と、
して機能させ、
前記送信手段は、
前記判断手段により第１累積枚数と第２累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする制御プログラム。
【請求項２】
前記送信手段は、
前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断された場合であっても、前記通信インタフェースがＵＳＢインタフェースであれば、前記仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記送信手段は、
前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断され、かつ、前記通信インタフェースがネットワークインタフェースであれば、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項４】
前記送信手段は、
前記判断手段により第１累積枚数と第２累積枚数とが一致すると判断された場合であっても、前記プリンタが待機状態でなければ、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項１乃至３の何れか１項に記載の制御プログラム。
【請求項５】
プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、
前記コンピュータを、
前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、
前記プリンタに記憶されている識別情報のうちの最後に印刷される第１識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第１情報取得手段と、
前記記憶制御手段により前記記憶部に記憶された識別情報である第２識別情報を前記記憶部から取得する第２情報取得手段と、
前記第１情報取得手段により取得された第１識別情報と、前記第２情報取得手段により取得された第２識別情報とが一致するか否かを判断する判断手段と、
前記判断手段により第１識別情報と第２識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１識別情報と第２識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、
して機能させることを特徴とする制御プログラム。
【請求項６】
前記コンピュータを、
前記送信手段により送信される印刷ジョブが、前記情報処理装置と異なる装置である第２情報処理装置から受信したものであり、前記送信手段が前記仕切り紙を挿入することを示す印刷ジョブを送信する場合に、当該仕切り紙に印刷するための印刷データを前記第２情報処理装置から取得する印刷データ取得手段として機能させ、
前記送信手段は、
前記仕切り紙を挿入することを示す印刷ジョブとともに、前記印刷データ取得手段が取得した印刷データを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項１乃至５の何れか１項に記載の制御プログラム。
【請求項７】
前記コンピュータを、
前記送信手段により送信される印刷ジョブが、前記情報処理装置と異なる装置である第２情報処理装置から受信したものであり、前記送信手段が前記仕切り紙を挿入することを示す印刷ジョブを送信する場合に、当該仕切り紙を収容する給紙トレイを指定するトレイ情報を、前記第２情報処理装置から取得するトレイ情報取得手段として機能させ、
前記送信手段は、
前記仕切り紙を挿入することを示す印刷ジョブとともに、前記トレイ情報取得手段が取得したトレイ情報を、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項１乃至６の何れか１項に記載の制御プログラム。
【請求項８】
プリンタと通信可能な通信インタフェースと、
記憶部と、
制御部と、
を備える情報処理装置であって、
前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第１累積枚数を記憶するように構成されており、
前記制御部を、
前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、
前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第１累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第１枚数取得手段と、
前記プリンタにより印刷ジョブが送信された後に、前記第１枚数取得手段により取得された第１累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第２累積枚数を、前記記憶部に記憶させる記憶制御手段と、
前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第２累積枚数を前記記憶部から取得する第２枚数取得手段と、
前記第１枚数取得手段により取得された第１累積枚数と、前記第２枚数取得手段により取得された第２累積枚数とが一致するか否かを判断する判断手段と、
して機能させ、
前記送信手段は、
前記判断手段により第１累積枚数と第２累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする情報処理装置。
【請求項９】
プリンタと通信可能な通信インタフェースと、
記憶部と、
制御部と、
を備える情報処理装置であって、
前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、
前記制御部を、
前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、
前記プリンタに記憶されている識別情報のうちの最後に印刷される第１識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第１情報取得手段と、
前記記憶制御手段により前記記憶部に記憶された識別情報である第２識別情報を前記記憶部から取得する第２情報取得手段と、
前記第１情報取得手段により取得された第１識別情報と、前記第２情報取得手段により取得された第２識別情報とが一致するか否かを判断する判断手段と、
前記判断手段により第１識別情報と第２識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１識別情報と第２識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、
して機能させることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタと通信可能な情報処理装置のコンピュータが読み取り可能な制御プログラム等に関する。
【背景技術】
【０００２】
プリンタから排出された印刷済みの用紙の持ち主を判別し易くするために、複数の印刷ジョブの間に、バナーページ（仕切り紙）が挿入される技術が知られている。そして、そのような技術において、下記特許文献に、同じユーザから連続して印刷ジョブがプリンタに送信された場合に、印刷ジョブの間へのバナーページの挿入を省略する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２９９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献に記載の技術では、印刷ジョブを受信したプリンタが、当該印刷ジョブのユーザを識別し、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入が省略される。このため、このような機能を実現するために、印刷ジョブのユーザを識別し、ユーザが同じであるか否かの判断を行うことが可能な特別な機能を、プリンタに組み込む必要がある。本願は、このような課題を解決することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示する制御プログラムは、プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第１累積枚数を記憶するように構成されており、前記コンピュータを、前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第１累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第１枚数取得手段と、前記プリンタにより印刷ジョブが送信された後に、前記第１枚数取得手段により取得された第１累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第２累積枚数を、前記記憶部に記憶させる記憶制御手段と、前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第２累積枚数を前記記憶部から取得する第２枚数取得手段と、前記第１枚数取得手段により取得された第１累積枚数と、前記第２枚数取得手段により取得された第２累積枚数とが一致するか否かを判断する判断手段と、して機能させ、前記送信手段は、前記判断手段により第１累積枚数と第２累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする制御プログラム。
【０００６】
また、上記課題を解決するために、実施例に開示する制御プログラムは、プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、前記コンピュータを、前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、前記プリンタに記憶されている識別情報のうちの最後に印刷される第１識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第１情報取得手段と、前記記憶制御手段により前記記憶部に記憶された識別情報である第２識別情報を前記記憶部から取得する第２情報取得手段と、前記第１情報取得手段により取得された第１識別情報と、前記第２情報取得手段により取得された第２識別情報とが一致するか否かを判断する判断手段と、前記判断手段により第１識別情報と第２識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１識別情報と第２識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、して機能させることを特徴とする。
【０００７】
また、上記課題を解決するために、実施例に開示する情報処理装置は、プリンタと通信可能な通信インタフェースと、記憶部と、制御部と、を備える情報処理装置であって、前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第１累積枚数を記憶するように構成されており、前記制御部を、前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第１累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第１枚数取得手段と、前記プリンタにより印刷ジョブが送信された後に、前記第１枚数取得手段により取得された第１累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第２累積枚数を、前記記憶部に記憶させる記憶制御手段と、前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第２累積枚数を前記記憶部から取得する第２枚数取得手段と、前記第１枚数取得手段により取得された第１累積枚数と、前記第２枚数取得手段により取得された第２累積枚数とが一致するか否かを判断する判断手段と、して機能させ、前記送信手段は、前記判断手段により第１累積枚数と第２累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１累積枚数と第２累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする。
【０００８】
また、上記課題を解決するために、実施例に開示する情報処理装置は、プリンタと通信可能な通信インタフェースと、記憶部と、制御部と、を備える情報処理装置であって、前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、前記制御部を、前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、前記プリンタに記憶されている識別情報のうちの最後に印刷される第１識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第１情報取得手段と、前記記憶制御手段により前記記憶部に記憶された識別情報である第２識別情報を前記記憶部から取得する第２情報取得手段と、前記第１情報取得手段により取得された第１識別情報と、前記第２情報取得手段により取得された第２識別情報とが一致するか否かを判断する判断手段と、前記判断手段により第１識別情報と第２識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第１識別情報と第２識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、して機能させることを特徴とする。
【発明の効果】
【０００９】
実施例に開示する制御プログラムは、プリンタと通信可能な情報処理装置にインストールされており、プリンタにより印刷された印刷用紙の累積的な枚数である第１累積枚数をプリンタから取得する。また、制御プログラムは、情報処理装置から送信された印刷ジョブに基づいて印刷される印刷枚数の累積的な枚数である第２累積枚数を、情報処理装置に記憶させている。そして、制御プログラムが、第１累積枚数と第２累積枚数とに基づいて、同じユーザが連続して印刷ジョブをプリンタに送信しているか否かを判断し、判断結果に応じて、バナーページの挿入の有無を、プリンタに指示する。これにより、上記特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略することができる。
【００１０】
実施例に開示する制御プログラムは、プリンタと通信可能な情報処理装置にインストールされており、プリンタにおいて最後に実行された印刷ジョブのユーザを識別可能な第１識別情報をプリンタから取得する。また、制御プログラムは、印刷予定の印刷ジョブのユーザを識別可能な第２識別情報を特定する。そして、制御プログラムが、第１識別情報と第２識別情報とに基づいて、同じユーザが連続して印刷ジョブをプリンタに送信しているか否かを判断し、判断結果に応じて、バナーページの挿入の有無を、プリンタに指示する。これにより、上記特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略することができる。
【図面の簡単な説明】
【００１１】
【図１】プリンタシステム１のブロック図である。
【図２】設定画面１００を示す図である。
【図３】第１実施形態のＣＵＰＳフィルタ３２のフローチャートを示す図である。
【図４】第１実施形態のＣＵＰＳフィルタ３２のフローチャートを示す図である。
【図５】第１実施形態のＣＵＰＳフィルタ３２のフローチャートを示す図である。
【図６】バナーページ印刷サブルーチンを示す図である。
【図７】バナーページ印刷サブルーチンを示す図である。
【図８】バナーページ印刷サブルーチンを示す図である。
【図９】バナーページ印刷サブルーチンを示す図である。
【図１０】印刷履歴情報を概念的に示す図である。
【図１１】第２実施形態のＣＵＰＳフィルタ３２のフローチャートを示す図である。
【図１２】第２実施形態のＣＵＰＳフィルタ３２のフローチャートを示す図である。
【発明を実施するための形態】
【００１２】
＜プリンタシステムの構成＞
図１は、本実施形態に係るプリンタシステム１のブロック図である。図１に示すプリンタシステム１は、ＰＣ（情報処理装置の一例）１０、ＰＣ（情報処理装置の一例）５０、プリンタ（プリンタの一例）８０、ＰＣ８２、ＰＣ８６、ＰＣ８８を備える。
【００１３】
ＰＣ１０は、ＰＣ８２及びＰＣ８６と通信可能とされている。そして、ＰＣ１０において、それらＰＣ８２及びＰＣ８６に対して、プリンタ８０を共有するプリンタ共有が設定されており、ＰＣ１０は、サーバＰＣとして機能し、ＰＣ８２及びＰＣ８６は、クライアントＰＣとして機能する。なお、ＰＣ８２及びＰＣ８６では、ＰＣ１０に対して、ディレクトリ共有が設定されている。また、ＰＣ５０は、ＰＣ８８と通信可能とされている。そして、ＰＣ５０において、ＰＣ８８に対して、プリンタ８０を共有するプリンタ共有が設定されており、ＰＣ５０は、サーバＰＣとして機能し、ＰＣ８８は、クライアントＰＣとして機能する。なお、ＰＣ８８では、ＰＣ５０に対して、ディレクトリ共有が設定されている。
【００１４】
ＰＣ１０は、ＣＰＵ（コンピュータ及び制御部の一例）１２、メモリ１４、ＬＣＤ１６、入力Ｉ／Ｆ１８、ＵＳＢＩ／Ｆ（通信インタフェース及びＵＳＢインタフェースの一例）２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１５】
ＣＰＵ１２は、メモリ１４内のＣＵＰＳ（登録商標）サーバ３０、ＣＵＰＳクライアント３１、ＣＵＰＳフィルタ（制御プログラムの一例）３２に従って処理を実行する。ＣＵＰＳサーバ３０及びＣＵＰＳクライアント３１は、Ｌｉｎｕｘ（登録商標）を用いて印刷処理を実行するものであり、ＣＵＰＳフィルタ３２は、印刷処理をプリンタ８０に実行させるためのものである。なお、以下の説明では、ＣＵＰＳフィルタ３２等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「ＣＵＰＳフィルタ３２が」という記載は、「ＣＵＰＳフィルタ３２を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１６】
また、メモリ１４は、データ記憶領域（記憶部の一例）３４を備える。データ記憶領域３４は、ＣＵＰＳフィルタ３２等の実行に必要なデータなどを記憶する領域であり、ＰＰＤ３６を含む。ＰＰＤ３６は、印刷処理を行うためのプリンタ定義ファイルである。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１７】
ちなみに、メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１８】
ＬＣＤ１６は、ＰＣ１０の各種機能を表示する。入力Ｉ／Ｆ１８は、キーボード，マウス等を含み、ユーザ操作を入力するためのインタフェースである。ＵＳＢＩ／Ｆ２０は、ＵＳＢ規格に準拠して外部装置に信号の送受信を行うためのＩ／Ｆであり、プリンタ８０に接続されている。これにより、ＰＣ１０は、プリンタ８０とデータの送受信を行うことができる。
【００１９】
また、ＰＣ５０は、ＣＰＵ（コンピュータ及び制御部の一例）５２、メモリ５４、ＬＣＤ５６、入力Ｉ／Ｆ５８、ネットワークＩ／Ｆ（通信インタフェース及びネットワークインタフェースの一例）６０を主に備えている。これらの構成要素は、バス６２を介して互いに通信可能とされている。なお、ネットワークＩ／Ｆ６０を除く構成要素は、ＰＣ１０の構成要素と同じであるため、説明を省略する。
【００２０】
ネットワークＩ／Ｆ６０は、ＬＡＮ等のネットワーク７８を介して、外部装置に信号の送受信を行うためのＩ／Ｆであり、プリンタ８０に接続されている。これにより、ＰＣ５０は、プリンタ８０とデータの送受信を行うことができる。なお、メモリ５４は、ＰＣ１０のメモリ１４と同様に、ＣＵＰＳサーバ７０、ＣＵＰＳクライアント７１、ＣＵＰＳフィルタ７２、ＰＰＤ７６を含むデータ記憶領域７４を備えている。
【００２１】
また、ＰＣ１０と通信可能なＰＣ８２及びＰＣ８６と、ＰＣ５０と通信可能なＰＣ８８とは、それぞれ、メモリ９０を備えている。各メモリ９０は、ＣＵＰＳクライアント９６、ＣＩＦＳ／Ｓａｍｂａ共有領域９８を有している。ＣＵＰＳクライアント９６は、Ｌｉｎｕｘ（登録商標）を用いて印刷処理を実行するものである。ＣＩＦＳ／Ｓａｍｂａ共有領域９８は、ディレクトリ共有時に使用される記憶領域である。なお、ＰＣ８２，８６，８８は、ＣＰＵ、ＬＣＤ等を当然備えているが、説明および図が煩雑となるため、記載等を省略する。また、ＰＣ８２，８６，８８は、それぞれＰＣ１０及びＰＣ５０とＬＡＮ等のネットワークを介して接続されている。
【００２２】
＜プリンタシステムの作動＞
プリンタシステム１では、ＰＣ１０及びＰＣ５０は、プリンタ８０に印刷ジョブを送信し、プリンタ８０に印刷ジョブに基づく印刷処理を実行させることが可能であり、ＰＣ８２，８６，８８の各々は、自身と通信可能なＰＣ１０，５０に印刷ジョブを送信し、その印刷ジョブを受信したＰＣ１０，５０が、プリンタ８０に印刷ジョブを送信することで、プリンタ８０に印刷ジョブに基づく印刷処理を実行させることができる。
【００２３】
つまり、プリンタシステム１では、５台のＰＣ１０，５０，８２，８６，８８の各々により作成された印刷ジョブに基づく印刷処理を、プリンタ８０に実行させることができる。このように、プリンタ８０は、多くのユーザが作成した印刷ジョブに基づく印刷処理を実行することができるため、プリンタ８０では、プリンタ８０により印刷された印刷用紙をユーザ毎に区別するべく、ユーザ単位で、印刷ジョブの前にバナーページが挿入される。つまり、例えば、ＰＣ１０からプリンタ８０に送信された印刷ジョブに基づく印刷処理が実行された後に、ＰＣ８２からプリンタ８０に送信された印刷ジョブが実行される場合に、そのＰＣ８２から送信された印刷ジョブの前に、バナーページが挿入される。一方、ＰＣ１０からプリンタ８０に送信された最初の印刷ジョブに基づく印刷処理が実行された後に、ＰＣ１０からプリンタ８０に２番目に送信された印刷ジョブが実行される場合は、その２番目に送信された印刷ジョブの前に、バナーページは挿入されない。バナーページには、例えば、ユーザ名、印刷ジョブ名、ホスト名、印刷日時が印刷される。
【００２４】
また、プリンタ８０では、ユーザ単位だけでなく、ジョブ単位でも、印刷ジョブの前にバナーページが挿入される。つまり、印刷ジョブが実行される毎に、当該印刷ジョブの前にバナーページが挿入される。なお、ユーザ単位及び、ジョブ単位の各々において、バナーページの挿入の有無を選択することが可能とされている。
【００２５】
具体的には、ＰＣ１０，５０，８２，８６，８８の何れかの装置において、プリンタ８０による印刷設定画面の表示がユーザにより指示される場合に、その装置のＬＣＤ１６等に、図２に示すように、設定画面１００が表示される。なお、設定画面１００を表示するための画像は、ＰＣ１０のＰＰＤ３６および、ＰＣ５０のＰＰＤ７６に記憶されている情報を基に作成される。このため、ＰＣ１０，５０で設定画面１００が表示される場合に、ＣＵＰＳサーバ３０，７０が、ＰＰＤ３６，７６から情報を取得し、その情報に基づいて設定画面１００を表示する。また、ＰＣ８２，８６で設定画面１００が表示される場合に、ＰＣ８２，８６のＣＵＰＳクライアント９６が、ＰＣ１０のＰＰＤ３６から情報を取得し、その情報に基づいて設定画面１００を表示する。また、ＰＣ８８で設定画面１００が表示される場合に、ＰＣ８８のＣＵＰＳクライアント９６が、ＰＣ５０のＰＰＤ７６から情報を取得し、その情報に基づいて設定画面１００を表示する。
【００２６】
設定画面１００には、印刷処理時における印刷条件を設定するための複数の印刷条件設定プルダウンメニュー１０２ａ〜ｃと、バナーページの挿入の有無などを設定するためのバナーページ設定プルダウンメニュー１０６ａ〜ｃとが表示される。印刷条件設定プルダウンメニュー１０２ａは、印刷用紙のサイズを設定するためのプルダウンメニューであり、印刷条件設定プルダウンメニュー１０２ｂは、そのサイズの印刷用紙の給紙トレイを設定するためのプルダウンメニューであり、印刷条件設定プルダウンメニュー１０２ｃは、印刷時の解像度を設定するためのプルダウンメニューである。
【００２７】
また、バナーページ設定プルダウンメニュー１０６ａは、ジョブ単位のバナーページの挿入の要否等を設定するためのプルダウンメニューであり、バナーページ設定プルダウンメニュー１０６ｂは、ユーザ単位のバナーページの挿入の有無等を設定するためのプルダウンメニューである。バナーページ設定プルダウンメニュー１０６ａ及び、バナーページ設定プルダウンメニュー１０６ｂの各々が操作されると、各プルダウンメニューにプルダウンリストが表示され、そのプルダウンリストには、「バナーページ１」、「バナーページ２」、「ユーザ指定」、「ＯＦＦ」が表示される。「バナーページ１」、「バナーページ２」、「ユーザ指定」の各々は、バナーページの挿入を有効にするための操作ボタンである。そして、「バナーページ１」が選択されると、予め設定された第１設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。また、「バナーページ２」が選択されると、予め設定された第２設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。また、「ユーザ指定」が選択されると、ユーザにより任意に設定されたユーザ設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。
【００２８】
なお、第１設定画像の画像データ、および、第２設定画像の画像データは、ＣＵＰＳフィルタの一部として、当該ＣＵＰＳフィルタのインストール時に同時にＰＣ１０に記憶される。一方、ユーザ設定画像は、ユーザが任意に設定することができるため、ＰＣ１０，５０，８２，８６，８８の各々において、ユーザ設定画像の画像データが作成される。そして、ＰＣ１０，５０で作成されたユーザ設定画像の画像データは、それぞれメモリ１４，５４に記憶され、ＰＣ８２，８６，８８で作成されたユーザ設定画像の画像データは、ＣＩＦＳ／Ｓａｍｂａ共有領域９８に記憶される。なお、プルダウンリストの「ＯＦＦ」は、バナーページの挿入を無効にするための操作ボタンである。
【００２９】
また、バナーページ設定プルダウンメニュー１０６ｃは、バナーページの給紙トレイを設定するためのプルダウンメニューである。本実施形態では、プリンタ８０は給紙トレイとしてトレイＡ，Ｂを備えており、そのうちの一部をバナーページ用の給紙トレイとして利用することができる。バナーページ設定プルダウンメニュー１０６ｃが操作されると、そのプルダウンメニューにプルダウンリストが表示され、そのプルダウンリストには、「ＯＦＦ」、「トレイＡ」、「トレイＢ」「ユーザ設定」等が表示される。そして、プルダウンリストの「ＯＦＦ」が選択されると、印刷ジョブにより指定されるトレイと同一のトレイ（通常はプルダウンメニュー１０２ｂにより指定されたトレイと同じ）からバナーページが給紙される。また、プルダウンリストの「トレイＡ」、「トレイＢ」等の任意のトレイが選択されると、選択されたトレイからバナーページが給紙される。なお、ＰＣ１０，５０において、設定画面１００が表示され、プルダウンリストの「トレイＡ」、「トレイＢ」等の任意のトレイが選択されると、選択されたトレイに関する情報が、ＰＰＤ３６，７６に記憶され、ＰＣ８２，８６，８８において、設定画面１００が表示され、プルダウンリストの「トレイＡ」、「トレイＢ」等の任意のトレイが操作されると、操作されたトレイに関する情報が、ＣＩＦＳ／Ｓａｍｂａ共有領域９８に記憶される。
【００３０】
上記設定画面１００において、印刷条件設定プルダウンメニュー１０２ａ〜ｃ、バナーページ設定プルダウンメニュー１０６ａ〜ｃへの操作により、印刷設定、バナーページ設定などの印刷ジョブの設定条件（以下、「ジョブ設定条件」と記載する）が設定され、ユーザが図示しない印刷ボタンの選択を行うと、ＰＣ１０，５０では、ＣＵＰＳクライアント３１，７１が、印刷対象の画像の画像データ（以下、「印刷対象画像データ」と記載する）と、ジョブ設定条件を示す情報（以下、「設定条件情報」と記載する）とに基づいて、印刷ジョブを作成し、ＰＣ８２，８６，８８では、ＣＵＰＳクライアント９６が、印刷対象画像データと設定条件情報とに基づいて、印刷ジョブを作成する。
【００３１】
なお、印刷ジョブには、ユーザ毎に設定されるユーザＩＤ（識別情報の一例）が含まれる。このユーザＩＤは通常はＰＣ１０，５０，８２，８６，８８にログインする際に使用するログイン名であり、ＣＵＰＳクライアント３１，７１，９６により自動的に付与される。このため、印刷ジョブに含まれるユーザＩＤに基づいて、印刷ジョブの作成元を識別することができる。ただし、ユーザＩＤは、ユーザ毎に、「ｉｔｏ」，「ｓａｔｏ」などに設定されるが、ユーザＩＤを設定していないユーザのために、ユーザＩＤとして「ｇｕｅｓｔ」が設定されている。このため、ユーザＩＤを設定していないユーザは、ユーザＩＤとして「ｇｕｅｓｔ」を用いることが可能とされているが、ユーザＩＤとして「ｇｕｅｓｔ」が用いられた場合に、印刷ジョブに含まれるユーザＩＤに基づいて、印刷ジョブの作成元を識別することができない。
【００３２】
そして、ＰＣ８２，８６のＣＵＰＳクライアント９６が、印刷ジョブを作成すると、作成した印刷ジョブを、ＰＣ１０のＣＵＰＳサーバ３０に送信する。また、ＰＣ８８のＣＵＰＳクライアント９６が、印刷ジョブを作成すると、作成した印刷ジョブを、ＰＣ５０のＣＵＰＳサーバ７０に送信する。そして、ＰＣ１０のＣＵＰＳサーバ３０は、ＰＣ８２，８６から受信した印刷ジョブ、若しくは、自身で作成した印刷ジョブを、ＣＵＰＳフィルタ３２に出力する。また、ＰＣ５０のＣＵＰＳサーバ７０は、ＰＣ８８から受信した印刷ジョブ、若しくは、自身で作成した印刷ジョブを、ＣＵＰＳフィルタ７２に出力する。
【００３３】
以下に、ＣＵＰＳフィルタ３２，７２が印刷ジョブを受け付けた後のＣＵＰＳフィルタ３２，７２の処理について説明するが、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２とは、一部を除いて、殆ど同じ処理を実行するため、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２との同じ処理に関して、ＣＵＰＳフィルタ３２の処理を代表して説明し、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２との異なる処理に関して、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２との各々の処理を説明する。
【００３４】
ＣＵＰＳフィルタ３２は、印刷ジョブを受け付けると、その印刷ジョブをＰＤＬデータ等のプリンタ８０により処理可能な印刷データに変換し、その印刷データをプリンタ８０に送信する。プリンタ８０は、印刷ジョブに基づく印刷処理を実行する。この際、プリンタ８０は、印刷処理を実行する毎に、印刷処理により印刷された印刷用紙の枚数を累積的に加算し、その加算された累積枚数（以下、「プリンタ側累積枚数」と記載する）（第１累積枚数の一例）を記憶している。この累積枚数は通常はメンテナンスや消耗品補給などのために汎用的に使用されるものであり、ＰＣ側から所定の手続きにより読み取ることができるものである。この所定の手続きとしては例えばＰＪＬ（ＰｒｉｎｔＪｏｂ Ｌａｎｇｕａｇｅ  登録商標）などの汎用的な方法が知られている。
【００３５】
また、ＣＵＰＳフィルタ３２においても、送信した印刷ジョブに基づいて印刷される印刷用紙の累積的な累積枚数（以下、「ＰＣ側累積枚数」と記載する）（第２累積枚数の一例）が、データ記憶領域３４に記憶される。詳しくは、ＣＵＰＳフィルタ３２は、印刷ジョブをプリンタ８０に送信する前に、プリンタ８０からプリンタ側累積枚数を取得している。そして、ＣＵＰＳフィルタ３２は、印刷ジョブをプリンタ８０に送信した後に、送信した印刷ジョブに基づいて印刷される印刷用紙の枚数を、プリンタ８０から取得したプリンタ側累積枚数に加算し、その換算された枚数を、ＰＣ側累積枚数として、データ記憶領域３４に記憶する。また、プリンタ８０においても、受信した印刷ジョブに基づく印刷処理が完了すると、その印刷処理により印刷された印刷用紙の枚数が、それまでにプリンタ８０に記憶したプリンタ側累積枚数に加算され、その加算された枚数が、プリンタ側累積枚数として記憶される。つまり、プリンタ８０において、受信した印刷ジョブに基づく印刷処理が完了する毎に、プリンタ側累積枚数が更新される。
【００３６】
このため、ＣＵＰＳフィルタ３２が印刷ジョブをプリンタ８０に送信した後のデータ記憶領域３４に記憶されたＰＣ側累積枚数と、その印刷ジョブに基づく印刷処理を完了した後のプリンタ側累積枚数とは、通常、同じとなる。しかしながら、ＣＵＰＳフィルタ３２から受信した印刷ジョブ、つまり、ＰＣ１０から受信した印刷ジョブが完了した後に、プリンタ８０が、ＣＵＰＳフィルタ７２、つまり、ＰＣ５０から印刷ジョブを受信し、その印刷ジョブに基づく印刷処理を実行すると、その印刷処理の完了に伴って、プリンタ側累積枚数が更新される。この際、ＰＣ５０から受信した印刷ジョブの印刷処理の完了に伴って更新されたプリンタ側累積枚数は、当然、ＰＣ１０のデータ記憶領域３４に記憶されているＰＣ側累積枚数より多くなる。つまり、プリンタ側累積枚数がＰＣ１０のＰＣ側累積枚数より多い場合には、プリンタ８０が、ＰＣ５０から受信した印刷ジョブに基づく印刷処理を実行していると考えられる。
【００３７】
そこで、ＰＣ１０のＣＵＰＳフィルタ３２は、印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ１０のＰＣ側累積枚数と比較することで、異なるユーザが印刷ジョブを指示したか否かを判断する。具体的には、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブから設定条件情報を抽出し、その設定条件情報に基づいて、ユーザ単位のバナーページの挿入が有効に設定されているか否かを判断する。ちなみに、設定画面１００のバナーページ設定プルダウンメニュー１０６ｂにおいて、「バナーページ１」、「バナーページ２」、「ユーザ指定」のいずれかが選択されている場合に、ユーザ単位のバナーページの挿入が有効に設定されていると判断され、「ＯＦＦ」が選択されている場合に、ユーザ単位のバナーページの挿入が無効に設定されていると判断される。そして、ユーザ単位のバナーページの挿入が有効に設定されている場合に、ＣＵＰＳフィルタ３２は、印刷ジョブを送信する前に、プリンタからプリンタ側累積枚数を取得し、データ記憶領域３４に記憶されているＰＣ側累積枚数を取得する。そして、プリンタ側累積枚数がＰＣ側累積枚数より多い場合に、ＣＵＰＳフィルタ３２は、ユーザ単位のバナーページが、印刷対象画像データに基づいて印刷されるページ（以下、「通常ページ」と記載する）の前に挿入されるように、印刷ジョブをプリンタ８０に送信する。
【００３８】
詳しくは、ＣＵＰＳフィルタ３２は、バナーページに印刷される画像が第１設定画像若しくは、第２設定画像に設定されている場合に、第１設定画像若しくは、第２設定画像の画像データを、メモリ１４から取得する。また、ＣＵＰＳフィルタ３２は、バナーページに印刷される画像がユーザ設定画像に設定されている場合に、印刷ジョブの作成元がＰＣ１０であるかＰＣ８２，８６であるかを判断する。つまり、印刷ジョブの作成元がサーバＰＣであるかクライアントＰＣであるかを判断する。そして、印刷ジョブの作成元がサーバＰＣである場合に、ＣＵＰＳフィルタ３２は、ユーザ設定画像の画像データを、ＰＣ１０のメモリ１４のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得し、印刷ジョブの作成元がクライアントＰＣである場合に、ＣＵＰＳフィルタ３２は、ユーザ設定画像の画像データを、クライアントＰＣのＣＩＦＳ／Ｓａｍｂａ共有領域９８のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得する。なお、設定画面１００のバナーページ設定プルダウンメニュー１０６ｂにおいて、「バナーページ１」、「バナーページ２」が選択されている場合に、バナーページに印刷される画像が第１設定画像若しくは、第２設定画像に設定されていると判断され、「ユーザ指定」が選択されている場合に、バナーページに印刷される画像がユーザ設定画像に設定されていると判断される。なお、クライアントＰＣからユーザ設定画像の画像データを取得できない場合は、エラー処理が実行される。エラー処理は、エラー画面の表示，印刷ジョブの停止などである。
【００３９】
また、ＣＵＰＳフィルタ３２は、バナーページの給紙トレイが「トレイＡ」、「トレイＢ」に設定されている場合に、設定された給紙トレイに関する情報（以下、「トレイ情報」と記載する）「ユーザ指定」に設定されている場合に、印刷ジョブの作成元がサーバＰＣであるかクライアントＰＣであるかを判断する。そして、印刷ジョブの作成元がサーバＰＣである場合に、ＣＵＰＳフィルタ３２は、トレイ情報を、ＰＣ１０のメモリ１４のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得し、印刷ジョブの作成元がクライアントＰＣである場合に、ＣＵＰＳフィルタ３２は、トレイ情報を、クライアントＰＣのＣＩＦＳ／Ｓａｍｂａ共有領域９８のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得する。なお、クライアントＰＣからトレイ情報を取得できない場合は、エラー処理が実行される。また、ＣＵＰＳフィルタ３２は、バナーページの給紙トレイが「ＯＦＦ」に設定されている場合に、印刷ジョブに設定されている印刷用紙の給紙トレイの情報をバナーページのトレイ情報として取得する。
【００４０】
そして、ＣＵＰＳフィルタ３２は、バナーページに印刷される画像の画像データおよび、トレイ情報を取得すると、取得した画像の画像データ及びトレイ情報とともに、バナーページの印刷指示を、プリンタ８０に送信する。これにより、バナーページの印刷指示を受信したプリンタ８０は、印刷指示とともに受信したトレイ情報に応じた給紙トレイからバナーページを給紙し、その給紙されたバナーページに、印刷指示とともに受信した画像データに基づく画像を印刷することで、所定の画像が印刷されたバナーページがプリンタ８０から排出される。
【００４１】
また、ＣＵＰＳフィルタ３２は、バナーページの印刷指示を送信した後に、通常ページの印刷指示をプリンタ８０に送信する。なお、ＣＵＰＳフィルタ３２は、通常ページの印刷指示とともに、データ記憶領域３４に記憶されている印刷対象画像データと、設定条件情報に含まれる印刷設定に関する情報とを、プリンタ８０に送信する。そして、通常ページの印刷指示を受信したプリンタ８０は、印刷指示とともに受信した印刷設定に関する情報に応じた印刷設定に従って、印刷指示とともに受信した印刷対象画像データに基づく印刷処理を実行する。このため、先に排出されたバナーページに続いて、印刷対象画像データに基づく画像が印刷された通常ページが、プリンタ８０から排出される。これにより、プリンタ８０において、ＰＣ１０から受信した印刷ジョブの前にバナーページが挿入されることで、先に印刷された通常ページ、つまり、ＰＣ５０から受信した印刷ジョブにより印刷された通常ページと、ＰＣ１０から受信した印刷ジョブにより印刷された通常ページとを、バナーページにより容易に区別することできる。
【００４２】
また、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数がＰＣ側累積枚数より少ないと判断された場合には、ＣＵＰＳフィルタ３２が、印刷予定の印刷ジョブの前に、既に、別の印刷ジョブをプリンタ８０に送信しており、プリンタ８０において、その別の印刷ジョブに基づく印刷処理が完了しておらず、実行中であると考えられる。つまり、プリンタ８０は、同じユーザが作成した印刷ジョブを連続して実行すると考えられ、ジョブ単位のバナーページの挿入は、必要ないと考えられる。しかしながら、ＰＣ１０，５０とプリンタ８０との通信インタフェースの種類に応じて、印刷処理の割込みが入る虞がある。
【００４３】
詳しくは、ＰＣ１０は、通信インタフェースとして、ＵＳＢＩ／Ｆ２０を用いており、ＵＳＢＩ／Ｆ２０を介して、ＰＣ１０とプリンタ８０とが通信を行っている際に、他のデバイスからプリンタ８０に印刷ジョブの割込みを行うことはできない。つまり、プリンタ側累積枚数がＰＣ側累積枚数より少ないと判断された後に、ＣＵＰＳフィルタ３２が印刷ジョブをプリンタ８０に送信した場合には、プリンタ８０は、ＰＣ１０において作成された印刷ジョブの実行後に、必ず、ＰＣ１０において作成された印刷ジョブ実行する。このため、このような場合において、ジョブ単位のバナーページの挿入は、必要ない。そこで、ＣＵＰＳフィルタ３２が印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数がＰＣ側累積枚数より少ないと判断された場合には、印刷ジョブを送信するＰＣ１０の通信インタフェースがＵＳＢＩ／Ｆ２０であることを条件として、バナーページの印刷指示は送信されず、通常ページの印刷指示が送信される。これにより、同じユーザからの２つの印刷ジョブの間に、ユーザ単位のバナーページは挿入されず、バナーページの浪費を抑制できる。
【００４４】
一方、ＰＣ５０は、通信インタフェースとして、ネットワークＩ／Ｆ６０を用いており、ネットワークＩ／Ｆ６０を介して、ＰＣ５０とプリンタ８０とが通信を行っている際に、他のデバイスからプリンタ８０に印刷ジョブの割込みを行うことができる。つまり、プリンタ側累積枚数がＰＣ側累積枚数より少ないと判断された後に、ＣＵＰＳフィルタ７２が印刷ジョブをプリンタ８０に送信した場合には、プリンタ８０は、ＰＣ５０において作成された印刷ジョブの実行後に、他のデバイス、例えば、ＰＣ１０から割り込まれた印刷ジョブを受信する虞がある。このため、このような場合において、ユーザ単位のバナーページ挿入の実行が望ましい。そこで、ＣＵＰＳフィルタ７２が印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数がＰＣ側累積枚数より少ないと判断された場合であっても、印刷ジョブを送信するＰＣ１０の通信インタフェースがネットワークＩ／Ｆ６０であれば、バナーページの印刷指示が送信され、そのバナーページの印刷指示の後に、通常ページの印刷指示が送信される。これにより、異なるユーザにより作成された印刷ジョブに基づく印刷処理が実行される可能性がある場合において、ユーザ単位のバナーページを挿入することができる。
【００４５】
また、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ側累積枚数とが同じであると判断された場合において、ＣＵＰＳフィルタ３２はプリンタ８０の状態を確認する。プリンタ８０の状態が印刷ジョブを受け付けていない状態であれば、ＣＵＰＳフィルタ３２は印刷予定の印刷ジョブを送信する前に、別の印刷ジョブを送信しており、プリンタ８０において、その別の印刷ジョブに基づく印刷処理が完了していると考えられる。つまり、プリンタ８０において、ＣＵＰＳフィルタ３２から送信された印刷ジョブが完了しているため、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信することなく、通常ページの印刷指示を送信すればよいと考えられる。
【００４６】
一方、プリンタ８０の状態が印刷ジョブを受け付けている状態であれば、ＣＵＰＳフィルタ３２から送信された印刷ジョブが完了しているが、他の装置から送信された印刷ジョブに基づく印刷処理が実行中である可能性がある。その他の装置から送信された印刷ジョブが完了しなければ、プリンタ側累積枚数は更新されないためである。よって、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ側累積枚数とが同じであると判断されても、プリンタ８０が印刷ジョブに基づく印刷処理を実行している最中に、ＣＵＰＳフィルタ３２が、印刷ジョブを送信すると、その印刷ジョブは、他の装置から送信された印刷ジョブの後に実行される。
【００４７】
また、プリンタ８０の状態が印刷ジョブを受け付けている状態であれば、プリンタ８０が、ＣＵＰＳフィルタ３２から受信した印刷ジョブを完了する前、若しくは、完了した後に、他の装置から印刷ジョブを受信中である可能性がある。このため、ＣＵＰＳフィルタ３２が、このタイミングで印刷ジョブを送信すると、その印刷ジョブは、他の装置から送信された印刷ジョブの後に実行される。つまり、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ側累積枚数とが同じであると判断されても、プリンタ８０が印刷処理実行中である場合、および、印刷ジョブを受信中である場合に、ＣＵＰＳフィルタ３２は、ユーザ単位のバナーページの印刷指示を送信する必要がある。
【００４８】
プリンタ８０の状態を確認する処理として、詳しくは、ＣＵＰＳフィルタ３２は、プリンタ８０からプリンタのステータス状態を示す情報（以下、「ステータス情報」と記載する）を取得する。なお、ステータス情報は、印刷中を示す情報と、印刷ジョブの受信中を示す情報と、印刷ジョブを受け付けていないアイドル中を示す情報とのうちの何れかとされている。そして、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ側累積枚数とが同じであると判断され、ステータス情報がアイドル中を示す情報である場合に、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信することなく、通常ページの印刷指示を送信する。一方、ＣＵＰＳフィルタ３２が印刷予定の印刷ジョブをプリンタ８０に送信する前に、プリンタ側累積枚数とＰＣ側累積枚数とが同じであると判断され、ステータス情報が、印刷中又は印刷ジョブの受信中を示す情報である場合に、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。
【００４９】
このように、プリンタ側累積枚数とＰＣ側累積枚数とを利用することで、ＰＣ１０からの送信予定の印刷ジョブが、ＰＣ１０と異なる装置、つまり、ＰＣ５０から送信された印刷ジョブに続いて、実行されるか否かを適切に判断することができ、ユーザ単位のバナーページの挿入の有無を適切に判断することができる。ただし、ＰＣ１０は、自身で作成した印刷ジョブだけでなく、ＰＣ８２，８６で作成された印刷ジョブも、プリンタ８０に送信する。このため、プリンタ側累積枚数とＰＣ側累積枚数とを利用した判断手法では、ＰＣ１０からプリンタ８０に送信される印刷ジョブが、ＰＣ１０で作成された印刷ジョブであるか、ＰＣ８２，８６で作成された印刷ジョブであるかを判断できない。
【００５０】
そこで、ＣＵＰＳフィルタ３２は、印刷ジョブに含まれるユーザＩＤを利用して、印刷ジョブの作成元を判断する。ユーザＩＤは、上述したように、印刷ジョブの作成元を識別することが可能であるため、ユーザＩＤを利用すれば、ＰＣ１０からプリンタ８０に送信される印刷ジョブが、ＰＣ１０で作成された印刷ジョブであるか、ＰＣ８２，８６で作成された印刷ジョブであるかを判断できる。これにより、ＣＵＰＳフィルタ３２は、１の印刷ジョブを送信した後に、印刷予定の印刷ジョブを送信する場合に、印刷予定の印刷ジョブのユーザが、先に送信した１の印刷ジョブのユーザと同じであるか否かを判断できる。つまり、ユーザ単位のバナーページの挿入の有無を判断できる。
【００５１】
このため、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブを送信する前に、印刷予定の印刷ジョブのユーザが、その印刷予定の印刷ジョブの前にプリンタ８０に送信された印刷ジョブのユーザＩＤと同じであるか否かを判断する。つまり、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブを送信する前に、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断する。そして、今回のジョブユーザが前回のジョブユーザと異なると判断された場合において、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。一方、今回のジョブユーザが前回のジョブユーザと同じと判断された場合において、ＣＵＰＳフィルタ３２は、上述したように、プリンタ側累積枚数とＰＣ側累積枚数とに基づいてユーザ単位のバナーページの挿入の有無を判断し、その判断結果に応じて印刷ジョブをプリンタ８０に送信する。
【００５２】
なお、ユーザＩＤを設定していないユーザのために、ユーザＩＤ「ｇｕｅｓｔ」が設定されており、そのユーザＩＤ「ｇｕｅｓｔ」は、印刷ジョブの作成元を識別することができない。このため、印刷予定の印刷ジョブにユーザＩＤ「ｇｕｅｓｔ」が含まれている場合において、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断でないため、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。これにより、今回のジョブユーザと前回のジョブユーザとが同じである可能性がある場合において、ジョブ単位のバナーページの挿入が実行される。
【００５３】
また、ジョブ単位のバナーページの挿入が設定されている場合に、ＣＵＰＳフィルタ３２は、印刷ジョブを送信する毎に、ジョブ単位のバナーページの送信指示を、プリンタ８０に送信する。詳しくは、ＣＵＰＳフィルタ３２は、印刷ジョブから設定条件情報を抽出し、その設定条件情報に基づいて、ジョブ単位のバナーページの挿入が有効に設定されているか否かを判断する。ちなみに、設定画面１００のバナーページ設定プルダウンメニュー１０６ａにおいて、「バナーページ１」、「バナーページ２」、「ユーザ指定」のいずれかが選択されている場合に、ユーザ単位のバナーページの挿入が有効に設定されていると判断され、「ＯＦＦ」が選択されている場合に、ユーザ単位のバナーページの挿入が無効に設定されていると判断される。そして、ユーザ単位のバナーページの挿入が有効に設定されている場合に、バナーページに印刷される画像の画像データおよび、トレイ情報を取得する。なお、ユーザ単位のバナーページに印刷される画像の画像データおよび、トレイ情報の取得方法は、ジョブ単位のバナーページに印刷される画像の画像データおよび、トレイ情報の取得方法と同じである。
【００５４】
そして、ＣＵＰＳフィルタ３２は、バナーページに印刷される画像の画像データおよび、トレイ情報を取得すると、取得したバナーページに印刷される画像の画像データおよび、トレイ情報を、ジョブ単位のバナーページの挿入指示とともに、プリンタ８０に送信する。そして、ＣＵＰＳフィルタ３２は、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示をプリンタ８０に送信する。これにより、印刷ジョブ毎にバナーページが挿入され、印刷ジョブを容易に区分けすることができる。
【００５５】
なお、ジョブ単位のバナーページの挿入と、ユーザ単位のバナーページの挿入とが設定されている場合であって、ユーザ単位のバナーページが挿入される際には、ジョブ単位のバナーページの挿入が禁止される。これにより、ユーザ単位のバナーページとジョブ単位のバナーページとの同じ個所への挿入を防止することが可能となり、バナーページの無駄な挿入を抑制することができる。
【００５６】
このように、ＰＣ１０，５０は、印刷ジョブをプリンタ８０に送信する場合に、バナーページの挿入の有無を判断するとともに、バナーページの印刷指示をプリンタ８０に送信している。これにより、プリンタ８０に特別な機構を組み込むことなく、必要な場合に、例えば、異なるユーザにより作成された２つの印刷ジョブの間に、バナーページを挿入することが可能となる。つまり、従来の手法では、プリンタにおいて、バナーページの挿入の有無が判断されており、その判断結果に従って、バナーページの印刷処理が実行されていたが、汎用的なプリンタに、そのような機構を組み込むことは困難であった。そこで、ＰＣ１０，５０において、バナーページの挿入の有無を判断するとともに、バナーページの印刷指示をプリンタ８０に送信することで、汎用的なプリンタにおいても、必要な場合にバナーページを挿入することが可能となる。
【００５７】
＜ＣＵＰＳフィルタの処理＞
上記バナーページの挿入の有無の判断，バナーページの印刷指示の送信，通常ページの印刷指示の送信などは、ＣＰＵ１２，５２においてＣＵＰＳフィルタ３２，７２が実行されることによって行われる。なお、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２とにより実行される処理は同じであるため、以下に、図３乃至図９を用いて、ＣＵＰＳフィルタ３２のフローが実行される際の処理を説明する。
【００５８】
まず、ＣＵＰＳフィルタ３２は、ＣＵＰＳサーバ３０により出力された印刷ジョブを取得する（Ｓ１００）。次に、ＣＵＰＳフィルタ３２は、取得した印刷ジョブをデータ記憶領域３４に記憶する（Ｓ１０２）。そして、ＣＵＰＳフィルタ３２は、ＳＷを「Ｎ」にセットする（Ｓ１０３）。ＳＷは、ジョブ単位若しくは、ユーザ単位のバナーページの挿入が設定されているか否かを示すフラグであり、ＳＷ＝「Ｎ」は、ジョブ単位及び、ユーザ単位のバナーページの挿入の何れも実行しないことを示す。
【００５９】
そして、ＣＵＰＳフィルタ３２は、プリンタ８０との通信をオープンする指示をＯＳに送信する（Ｓ１０４）。次に、ＣＵＰＳフィルタ３２は、プリンタ側累積枚数および、ステータス情報をプリンタ８０から取得する（Ｓ１０５）。続いて、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、ユーザ単位のバナーページ設定がＯＮに設定されているか否か、つまり、ユーザ単位のバナーページの挿入が設定されているか否かを判断する（Ｓ１０６）。
【００６０】
そして、ユーザ単位のバナーページ設定がＯＮに設定されている場合（Ｓ１０６：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブに含まれるユーザＩＤを取得し、そのユーザＩＤが「ｇｕｅｓｔ」であるか否かを判断する（Ｓ１０８）。この際、ユーザＩＤが「ｇｕｅｓｔ」である場合（Ｓ１０８：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｕ」にセットする（Ｓ１１８）。そして、Ｓ１２０に進む。なお、ＳＷ＝「Ｕ」は、ユーザ単位のバナーページの挿入を実行することを示す。
【００６１】
また、ユーザＩＤが「ｇｕｅｓｔ」でない場合（Ｓ１０８：ＮＯ）に、ＣＵＰＳフィルタ３２は、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断する（Ｓ１１０）。そして、今回のジョブユーザが前回のジョブユーザと異なる場合（Ｓ１１０：ＮＯ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｕ」にセットする（Ｓ１１８）。そして、Ｓ１２０に進む。
【００６２】
また、今回のジョブユーザが前回のジョブユーザと同じ場合（Ｓ１１０：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、データ記憶領域３４からＰＣ側累積枚数を取得する（Ｓ１１２）。そして、ＣＵＰＳフィルタ３２は、Ｓ１０５で取得したプリンタ側累積枚数と、Ｓ１１２で取得したＰＣ側累積枚数とが同じであるか否かを判断する（Ｓ１１４）。この際、プリンタ側累積枚数とＰＣ側累積枚数とが異なる場合（Ｓ１１４：ＮＯ）に、ＣＵＰＳフィルタ３２は、プリンタ側累積枚数がＰＣ側累積枚数より多いか否かを判断する（Ｓ１２４）。そして、プリンタ側累積枚数がＰＣ側累積枚数より多い場合（Ｓ１２４：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｕ」にセットする（Ｓ１１８）。そして、Ｓ１２０に進む。
【００６３】
一方、プリンタ側累積枚数がＰＣ側累積枚数より少ない場合（Ｓ１２４：ＮＯ）に、ＣＵＰＳフィルタ３２は、プリンタ８０との通信インタフェースがＵＳＢＩ／Ｆ２０であるか否かを判断する（Ｓ１２６）。そして、プリンタ８０との通信インタフェースがＵＳＢＩ／Ｆ２０でない場合（Ｓ１２６：ＮＯ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｕ」にセットする（Ｓ１１８）。そして、Ｓ１２０に進む。一方、プリンタ８０との通信インタフェースがＵＳＢＩ／Ｆ２０である場合（Ｓ１２６：ＹＥＳ）に、Ｓ１２２に進む。
【００６４】
また、Ｓ１１４でプリンタ側累積枚数とＰＣ側累積枚数とが同じ場合（Ｓ１１４：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、Ｓ１０５で取得したステータス情報に基づいて、プリンタ８０の状態が、印刷ジョブを受け付けている状態か否かを判断する（Ｓ１１６）。そして、プリンタ８０の状態が、印刷ジョブを受け付けている状態の場合、すなわち印刷中か印刷ジョブの受信中である場合、（Ｓ１１６：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｕ」にセットする（Ｓ１１８）。そして、Ｓ１２０に進む。一方、プリンタ８０の状態が、印刷ジョブを受け付けていない状態である場合（Ｓ１１６：ＮＯ）に、Ｓ１２２に進む。なお、Ｓ１０６でユーザ単位のバナーページ設定がＯＦＦに設定されている場合（Ｓ１０６：ＮＯ）にも、Ｓ１２２に進む。
【００６５】
そして、Ｓ１２２において、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、ジョブ単位のバナーページ設定がＯＮに設定されているか否か、つまり、ジョブ単位のバナーページの挿入が設定されているか否かを判断する（Ｓ１２２）。そして、ジョブ単位のバナーページ設定がＯＮに設定されている場合（Ｓ１２２：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、ＳＷを「Ｊ」にセットする（Ｓ１２８）。そして、Ｓ１２０に進む。また、ジョブ単位のバナーページ設定がＯＦＦに設定されている場合（Ｓ１２２：ＮＯ）に、Ｓ１２８の処理がスキップされ、Ｓ１２０に進む。なお、ＳＷ＝「Ｊ」は、ジョブ単位のバナーページの挿入を実行することを示す。
【００６６】
そして、Ｓ１２０において、ＣＵＰＳフィルタ３２は、ＳＷが「Ｎ」にセットされているか否かを判断する（Ｓ１２０）。この際、ＳＷが「Ｎ」にセットされていない場合（Ｓ１２０：ＮＯ）、つまり、ＳＷが「Ｕ」若しくは、「Ｊ」にセットされている場合に、バナーページ印刷サブルーチンが実行される（Ｓ１３０）。
【００６７】
バナーページ印刷サブルーチンでは、図６に示すように、ＣＵＰＳフィルタ３２は、ＳＷが「Ｊ」にセットされているか否かを判断する（Ｓ２００）。この際、ＳＷが「Ｊ」にセットされている場合（Ｓ２００：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、ジョブ単位のバナーページの設定を読み取る（Ｓ２０２）。つまり、データ記憶領域３４に記憶されている印刷ジョブに含まれる設定条件情報から、ジョブ単位のバナーページの設定に関する情報を読み取る。そして、ＣＵＰＳフィルタ３２は、読み取った情報に基づいて、バナーページに印刷される画像がユーザ設定画像に設定されているか否かを判断する（Ｓ２０４）。
【００６８】
この際、バナーページに印刷される画像がユーザ設定画像に設定されていない場合（Ｓ２０４：ＮＯ）、つまり、バナーページに印刷される画像が第１設定画像、若しくは、第２設定画像に設定されている場合に、ＣＵＰＳフィルタ３２は、サーバＰＣ、つまり、ＰＣ１０のメモリ１４から第１設定画像、若しくは、第２設定画像の画像データを取得する（Ｓ２０６）。そして、Ｓ２０８に進む。
【００６９】
また、バナーページに印刷される画像がユーザ設定画像に設定されている場合（Ｓ２０４：ＹＥＳ）、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブの依頼主がクライアントＰＣであるか否かを判断する（Ｓ２１０）。つまり、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブに含まれるユーザＩＤが、ＰＣ８２若しくは、ＰＣ８６を示しているか否かを判断する。または、印刷ジョブの依頼主を示す情報が印刷ジョブに含まれていれば、その情報を基に判断することも可能である。この際、データ記憶領域３４に記憶されている印刷ジョブの依頼主がサーバＰＣである場合（Ｓ２１０：ＮＯ）、つまり、印刷ジョブに含まれるユーザＩＤがＰＣ１０を示している場合に、ＣＵＰＳフィルタ３２は、サーバＰＣ、つまり、ＰＣ１０のメモリ１４からユーザ設定画像の画像データを取得する（Ｓ２１２）。そして、Ｓ２０８に進む。
【００７０】
一方、データ記憶領域３４に記憶されている印刷ジョブの依頼主がクライアントＰＣである場合（Ｓ２１０：ＹＥＳ）、つまり、印刷ジョブに含まれるユーザＩＤがＰＣ８２，８６を示している場合に、ＣＵＰＳフィルタ３２は、クライアントＰＣ、つまり、ＰＣ８２，８６のＣＩＦＳ／Ｓａｍｂａ共有領域９８からユーザ設定画像の画像データを取得する（Ｓ２１４）。そして、ＣＵＰＳフィルタ３２は、クライアントＰＣから画像データを取得できたか否かを判断する（Ｓ２１６）。この際、ＣＵＰＳフィルタ３２は、クライアントＰＣから画像データを取得できなかった場合（Ｓ２１６：ＮＯ）に、エラー処理を実行し（Ｓ２１８）、Ｓ２０８に進む。一方、ＣＵＰＳフィルタ３２は、クライアントＰＣから画像データを取得できた場合（Ｓ２１６：ＹＥＳ）に、Ｓ２１８の処理をスキップし、Ｓ２０８に進む。
【００７１】
そして、Ｓ２０８において、ＣＵＰＳフィルタ３２は、Ｓ２０２で読み取った情報に基づいて、バナーページの給紙トレイがユーザ設定とされているか否かを判断する（Ｓ２０８）。この際、バナーページの給紙トレイがユーザ設定とされていない場合（Ｓ２０８：ＮＯ）に、ＣＵＰＳフィルタ３２は、印刷ジョブ中に指定されている印刷用紙の給紙トレイ設定をトレイ情報として取得する（Ｓ２２０）。そして、Ｓ２３２に進む。
【００７２】
また、バナーページの給紙トレイがユーザ設定とされている場合（Ｓ２０８：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブの依頼主がクライアントＰＣであるか否かを判断する（Ｓ２２２）。この際、データ記憶領域３４に記憶されている印刷ジョブの依頼主がサーバＰＣである場合（Ｓ２２２：ＮＯ）に、ＣＵＰＳフィルタ３２は、サーバＰＣ、つまり、ＰＣ１０のメモリ１４からトレイ情報を取得する（Ｓ２２４）。そして、Ｓ２３２に進む。
【００７３】
一方、データ記憶領域３４に記憶されている印刷ジョブの依頼主がクライアントＰＣである場合（Ｓ２２２：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、クライアントＰＣ、つまり、ＰＣ８２，８６のＣＩＦＳ／Ｓａｍｂａ共有領域９８からトレイ情報を取得する（Ｓ２２６）。そして、ＣＵＰＳフィルタ３２は、クライアントＰＣからトレイ情報を取得できたか否かを判断する（Ｓ２２８）。この際、ＣＵＰＳフィルタ３２は、クライアントＰＣからトレイ情報を取得できなかった場合（Ｓ２２８：ＮＯ）に、エラー処理を実行し（Ｓ２３０）、Ｓ２３２に進む。一方、ＣＵＰＳフィルタ３２は、クライアントＰＣからトレイ情報を取得できた場合（Ｓ２２８：ＹＥＳ）に、Ｓ２３０の処理をスキップし、Ｓ２３２に進む。
【００７４】
そして、Ｓ２３２において、ＣＵＰＳフィルタ３２は、バナーページの印刷指示を、バナーページに印刷される画像の画像データおよび、トレイ情報とともに、プリンタ８０に送信する（Ｓ２３２）。これにより、バナーページ印刷サブルーチンが終了する。
【００７５】
また、Ｓ２００において、ＳＷが「Ｊ」にセットされていない場合（Ｓ２００：ＮＯ）、つまり、ＳＷが「Ｕ」にセットされている場合に、ＣＵＰＳフィルタ３２は、ユーザ単位のバナーページの設定を読み取る（Ｓ２５０）。つまり、データ記憶領域３４に記憶されている印刷ジョブに含まれる設定条件情報から、ユーザ単位のバナーページの設定に関する情報を読み取る。そして、ＣＵＰＳフィルタ３２は、Ｓ２５２〜Ｓ２７８の処理を実行するが、Ｓ２５２〜Ｓ２７８の処理は、先に説明したＳ２０４〜Ｓ２３０の処理のジョブ単位のバナーページに対する説明をユーザ単位のバナーページに対する説明に読み替えた場合と同じである。このため、Ｓ２５２〜Ｓ２７８の処理の説明は省略する。そして、Ｓ２５２〜Ｓ２７８の処理の処理が終了すると、Ｓ２３２において、ＣＵＰＳフィルタ３２は、バナーページの印刷指示を、バナーページに印刷される画像の画像データおよび、トレイ情報とともに、プリンタ８０に送信する（Ｓ２３２）。これにより、バナーページ印刷サブルーチンが終了する。
【００７６】
そして、バナーページ印刷サブルーチンが終了すると、メインルーチンに戻り、Ｓ１３２に進む。なお、Ｓ１２０において、ＳＷが「Ｎ」にセットされている場合（Ｓ１２０：ＹＥＳ）にも、Ｓ１３２に進む。Ｓ１３２では、ＣＵＰＳフィルタ３２は、通常ページの印刷指示をプリンタ８０に送信する（Ｓ１３２）。この際、ＣＵＰＳフィルタ３２は、印刷対象画像データをＰＤＬデータ等のプリンタ８０により処理可能な印刷データに変換し、ＰＤＬデータと、設定条件情報に含まれる印刷設定に関する情報とを、印刷指示とともにプリンタ８０に送信し、データ記憶領域３４の印刷ジョブを削除する。次に、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されているＰＣ側累積枚数を更新する（Ｓ１３４）。つまり、プリンタ８０に送信した印刷指示に基づいて実行される印刷処理において印刷される印刷用紙の枚数を、Ｓ１０５で取得したプリンタ側累積枚数に加算し、その換算した枚数を、ＰＣ側累積枚数として更新する。そして、ＣＵＰＳフィルタ３２は、クローズコマンド、つまり、プリンタ８０との通信をクローズする指示をＯＳに送信し（Ｓ１３６）、本フローが終了する。
【００７７】
＜第２実施形態＞
上記第１実施形態では、プリンタ側累積枚数とＰＣ側累積枚数とに基づいて、ＣＵＰＳフィルタ３２，７２が、ユーザ単位のバナーページの挿入の有無を判断していたが、第２実施形態では、プリンタ８０に記憶されている印刷履歴情報に基づいて、ＣＵＰＳフィルタ３２，７２が、ユーザ単位のバナーページの挿入の有無を判断する。
【００７８】
具体的に、第２実施形態のプリンタ８０は、課金管理、業務管理などを目的とした印刷履歴として印刷履歴情報を記憶する機能を有している。印刷履歴情報はプリンタ８０で印刷可能であるとともに、通常はＥＷＳ（ｅｍｂｅｄｄｅｄｗｅｂ ｓｅｒｖｅｒ）の機能を用いたネットワークのｈｔｔｐプロトコルやファイル共有のＳＭＢプロトコルなどによりＰＣに送信可能に構成されている。この機能はネットワークプリンタにおいてはよく知られたものである。印刷ジョブを受信する毎に、図１０に示す印刷履歴情報を累積的に記憶している。印刷履歴情報は、印刷処理が実行された日時を示すサブミット時間と、印刷ジョブをプリンタ８０に送信した装置、例えば、ＰＣ１０のＩＰアドレスと、印刷ジョブの作成元を示すユーザＩＤと、印刷ジョブの名前を示すジョブ名と、ステータス情報と、設定条件情報に含まれる印刷用紙のサイズを示すサイズ情報とを含む。なお、プリンタ８０では、所定数の印刷履歴情報を記憶した場合に、古い印刷履歴情報、つまり、記憶されてから最も時間が経過している印刷履歴情報が消去される。
【００７９】
また、ＰＣ１０のＣＵＰＳフィルタ３２は、第１実施形態と同様に、ＣＵＰＳサーバ３０から印刷ジョブを受け付けると、その印刷ジョブをデータ記憶領域３４に記憶する。そして、ＣＵＰＳフィルタ３２は、プリンタ８０に記憶されている全ての印刷履歴情報を、プリンタ８０から取得する。ちなみに、ＣＵＰＳフィルタ３２は、ＳＭＢ若しくは、ＨＴＴＰのＥＷＳを利用して、プリンタ８０から印刷履歴情報を取得する。ＣＵＰＳフィルタ３２は、印刷履歴情報を取得すると、印刷履歴情報のうちデータ記憶領域３４に記憶されている印刷ジョブの直前に印刷される印刷ジョブの印刷履歴情報（以下、「最新印刷履歴情報」と記載する）を抽出する。具体的には取得した印刷履歴情報の中にステータスが「印字中」および「待機中」のものが無い場合は、最後に印刷された印刷ジョブの履歴情報が最新印刷履歴情報となる。また印刷履歴情報の中にステータスが「印字中」および「待機中」のものがある場合は、最後に印刷されるようにスケジュールされた印刷ジョブ（通常は最後に受け付けた印刷ジョブ）の印刷履歴情報が最新印刷履歴情報となる。そして、ＣＵＰＳフィルタ３２は、最新印刷履歴情報に含まれるユーザＩＤ（以下、「最新ユーザＩＤ」と記載する）（第１識別情報の一例）を特定する。
【００８０】
また、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブ、つまり、印刷予定の印刷ジョブに含まれるユーザＩＤ（以下、「印刷予定ユーザＩＤ」と記載する）（第２識別情報の一例）を特定する。そして、ＣＵＰＳフィルタ３２は、ユーザ単位のバナーページの挿入が設定されている場合に、最新ユーザＩＤと印刷予定ユーザＩＤとが同じであるか否かを判断する。
【００８１】
この際、最新ユーザＩＤと印刷予定ユーザＩＤとが同じである場合には、印刷予定の印刷ジョブの作成元と、プリンタ８０において最後に実行された印刷ジョブの印刷元とが同じである。つまり、例えば、ＰＣ８２で作成された印刷ジョブが印刷予定の印刷ジョブである場合に、プリンタ８０において直近で実行された印刷ジョブが、ＰＣ８２により作成されたものである。このような場合に、印刷予定の印刷ジョブが、プリンタ８０に送信されると、その印刷ジョブ、つまり、ＰＣ８２で作成された印刷ジョブは、先にプリンタ８０に送信されているＰＣ８２で作成された印刷ジョブの後に実行されるため、印刷予定の印刷ジョブにおいて、ユーザ単位のバナーページを挿入する必要はない。そこで、最新ユーザＩＤと印刷予定ユーザＩＤとが同じである場合に、ＣＵＰＳフィルタ３２は、印刷ジョブとして、ユーザ単位のバナーページの印刷指示をプリンタ８０に送信することなく、通常ページの印刷指示をプリンタ８０に送信する。
【００８２】
一方、最新ユーザＩＤと印刷予定ユーザＩＤとが異なる場合において、印刷予定の印刷ジョブの作成元と、プリンタ８０において直近で実行された印刷ジョブの印刷元とが異なる。つまり、例えば、ＰＣ８２で作成された印刷ジョブが印刷予定の印刷ジョブである場合に、プリンタ８０において直近で実行された印刷ジョブは、ＰＣ１０等のＰＣ８２と異なる装置により作成されたものである。このような場合に、印刷予定の印刷ジョブが、プリンタ８０に送信されると、その印刷ジョブ、つまり、ＰＣ８２で作成された印刷ジョブは、ＰＣ１０等のＰＣ８２と異なる装置からプリンタ８０に送信されている印刷ジョブの後に実行されるため、印刷予定の印刷ジョブにおいて、ユーザ単位のバナーページを挿入する必要がある。そこで、最新ユーザＩＤと印刷予定ユーザＩＤとが異なる場合に、ＣＵＰＳフィルタ３２は、印刷ジョブとして、ユーザ単位のバナーページの印刷指示をプリンタ８０に送信した後に、通常ページの印刷指示をプリンタ８０に送信する。これにより、第１実施形態と同様の効果を奏することが可能となる。
【００８３】
なお、第２実施形態において、ジョブ単位のバナーページの挿入が設定されている場合に、第１実施形態とほぼ同様の処理が実行されるが、第２実施形態では、通常ページの用紙サイズ、つまり、印刷対象画像データに基づく画像が印刷される印刷用紙の用紙サイズに応じて、ジョブ単位のバナーページの挿入を無効にすることができる。
【００８４】
詳しくは、印刷ジョブが実行されるＰＣでは、上述したように、そのＰＣのＬＣＤに設定画面１００が表示される。この設定画面１００に、第２実施形態では、印刷条件設定プルダウンメニュー１０２ａ〜ｃ及び、バナーページ設定プルダウンメニュー１０６ａ〜ｃだけでなく、用紙サイズに応じてジョブ単位のバナーページの挿入をキャンセルするためのキャンセルボタン（図示省略）も表示される。そして、このキャンセルボタンが操作されると、用紙サイズに応じてジョブ単位のバナーページの挿入を無効にするための設定（以下、「無効設定」と記載する）がＯＮに設定され、そのことを示す情報が、設定条件情報に含まれる。
【００８５】
また、ＣＵＰＳフィルタ３２は、印刷ジョブをプリンタ８０に送信する前に、第１実施形態と同様に、ジョブ単位のバナーページの挿入が設定されているか否かを判断する。そして、第１実施形態では、ジョブ単位のバナーページの挿入が設定されている場合に、ＣＵＰＳフィルタ３２は、ジョブ単位のバナーページの印刷指示を送信していたが、第２実施形態では、ジョブ単位のバナーページの挿入が設定されている場合に、ＣＵＰＳフィルタ３２は、設定条件情報に基づいて、無効設定がＯＮに設定されているか否かを判断する。そして、無効設定がＯＮに設定されている場合に、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブに基づく印刷処理時の印刷用紙のサイズ（以下、「印刷予定用紙サイズ」と記載する）と、プリンタ８０において直近で実行された印刷処理時の印刷用紙のサイズ（以下、「実行済み最新用紙サイズ」と記載する）とが同じであるか否かを判断する。
【００８６】
つまり、ＣＵＰＳフィルタ３２は、データ記憶領域３４に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、通常ページの印刷用紙を、印刷予定用紙サイズとして取得する。また、ＣＵＰＳフィルタ３２は、最新印刷履歴情報に含まれるサイズ情報を、実行済み最新用紙サイズとして取得する。そして、ＣＵＰＳフィルタ３２は、印刷予定用紙サイズと実行済み最新用紙サイズとが同じであるか否かを判断する。
【００８７】
この際、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合において、印刷予定の印刷ジョブに基づいて印刷される印刷用紙のサイズと、その印刷予定の印刷ジョブの前にプリンタ８０で実行されている印刷ジョブに基づいて印刷された印刷用紙のサイズとは、異なる。このような場合には、印刷ジョブと印刷ジョブとの間に、バナーページが挿入されなくても、先に実行された印刷ジョブと、その印刷ジョブの後に実行された印刷ジョブとは、用紙サイズの相違によって、容易に区分けすることができる。そこで、ジョブ単位のバナーページの挿入が設定されている場合であっても、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合は、ジョブ単位のバナーページの挿入は実行されない。これにより、無駄なバナーページの使用を抑制することができる。
【００８８】
一方、印刷予定用紙サイズと実行済み最新用紙サイズとが同じ場合において、印刷予定の印刷ジョブに基づいて印刷される印刷用紙のサイズと、その印刷予定の印刷ジョブの前にプリンタ８０で実行されている印刷ジョブに基づいて印刷された印刷用紙のサイズとは、同じである。このような場合には、先に実行された印刷ジョブと、その印刷ジョブの後に実行された印刷ジョブとを、用紙サイズの相違によって区分けすることはできない。そこで、ジョブ単位のバナーページの挿入が設定されており、印刷予定用紙サイズと実行済み最新用紙サイズとが同じ場合に、ジョブ単位のバナーページの挿入は実行される。これにより、用紙サイズの相違によって区分けすることのできない印刷ジョブを、バナーページによって、容易に区分けすることができる。
【００８９】
なお、上述した第２実施形態におけるバナーページの挿入の有無の判断等の処理は、図１１及び図１２に示すフローに従って、ＣＵＰＳフィルタ３２，７２により実行される。なお、ＣＵＰＳフィルタ３２とＣＵＰＳフィルタ７２とにより実行される処理は同じであるため、以下に、ＣＵＰＳフィルタ３２のフローが実行される際の処理を説明する。
【００９０】
まず、ＣＵＰＳフィルタ３２は、ＣＵＰＳサーバ３０により出力された印刷ジョブを取得し（Ｓ３００）、取得した印刷ジョブをデータ記憶領域３４に記憶する（Ｓ３０２）。そして、ＣＵＰＳフィルタ３２は、フラグＡ及びフラグＢを「０」にセットする（Ｓ３０４）。フラグＡは、ユーザ単位のバナーページの挿入が設定されているか否かを示すフラグであり、フラグＢは、ジョブ単位のバナーページの挿入が設定されているか否かを示すフラグである。そして、フラグＡ＝「０」は、ユーザ単位のバナーページの挿入を実行しないことを示し、フラグＢ＝「０」は、ジョブ単位のバナーページの挿入を実行しないことを示す。
【００９１】
次に、ＣＵＰＳフィルタ３２は、プリンタ８０との通信をオープンする指示をＯＳに送信する（Ｓ３０６）。続いて、ＣＵＰＳフィルタ３２は、印刷履歴情報をプリンタ８０から取得し（Ｓ３０８）取得した印刷履歴情報から最新印刷履歴情報を抽出する（Ｓ３１０）。そして、ＣＵＰＳフィルタ３２は、ユーザ単位のバナーページ設定がＯＮに設定されているか否か、つまり、ユーザ単位のバナーページの挿入が設定されているか否かを判断する（Ｓ３１２）。
【００９２】
この際、ユーザ単位のバナーページ設定がＯＮに設定されている場合（Ｓ３１２：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、印刷予定ユーザＩＤを特定する（Ｓ３１４）。そして、ＣＵＰＳフィルタ３２は、印刷予定の印刷ジョブのユーザと、最新印刷履歴情報の印刷ジョブのユーザとが同じであるか否かを判断する（Ｓ３１６）。つまり、ＣＵＰＳフィルタ３２は、最新ユーザＩＤと印刷予定ユーザＩＤとが同じであるか否かを判断する。そして、最新ユーザＩＤと印刷予定ユーザＩＤとが異なる場合（Ｓ３１６：ＮＯ）に、ＣＵＰＳフィルタ３２は、フラグＡを「１」にセットする（Ｓ３１８）。フラグＡ＝「１」は、ユーザ単位のバナーページの挿入を実行することを示す。そして、Ｓ３２０に進む。一方、最新ユーザＩＤと印刷予定ユーザＩＤとが同じ場合（Ｓ３１６：ＹＥＳ）に、Ｓ３１８の処理がスキップされ、Ｓ３２０に進む。なお、ユーザ単位のバナーページ設定がＯＮに設定されていない場合（Ｓ３１２：ＮＯ）にもＳ３２０に進む。
【００９３】
そして、Ｓ３２０において、ＣＵＰＳフィルタ３２は、ジョブ単位のバナーページ設定がＯＮに設定されているか否か、つまり、ジョブ単位のバナーページの挿入が設定されているか否かを判断する（Ｓ３２０）。この際、ジョブ単位のバナーページ設定がＯＮに設定されている場合（Ｓ３２０：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、無効設定がＯＮに設定されているか否かを判断する（Ｓ３２２）。そして、無効設定がＯＮに設定されている場合（Ｓ３２２：ＹＥＳ）に、ＣＵＰＳフィルタ３２は、印刷予定用紙サイズと実行済み最新用紙サイズとを特定し、印刷予定用紙サイズと実行済み最新用紙サイズとが同じであるか否かを判断する（Ｓ３２３）。
【００９４】
この際、印刷予定用紙サイズと実行済み最新用紙サイズとが同じである場合（Ｓ３２３：ＹＥＳ）に、Ｓ３２４に進む。また、Ｓ３２２において、無効設定がＯＮに設定されていない場合（Ｓ３２２：ＮＯ）にも、Ｓ３２４に進む。そして、Ｓ３２４において、ＣＵＰＳフィルタ３２は、フラグＢを「１」にセットする（Ｓ３２４）。フラグＢ＝「１」は、ジョブ単位のバナーページの挿入を実行することを示す。そして、Ｓ３２６に進む。また、Ｓ３２０において、ジョブ単位のバナーページ設定がＯＦＦに設定されている場合（Ｓ３２０：ＮＯ）、および、Ｓ３２３において、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合（Ｓ３２３：ＮＯ）に、Ｓ３２６に進む。
【００９５】
そして、Ｓ３２６において、ＣＵＰＳフィルタ３２は、フラグＡとフラグＢとが、共に０にセットされているか否かを判断する（Ｓ３２６）。この際、フラグＡとフラグＢとが、共に０にセットされていない場合（Ｓ３２６：ＮＯ）に、バナーページ印刷サブルーチンが実行される（Ｓ３２８）。このバナーページ印刷サブルーチンは、図６乃至図９に示すサブルーチン、つまり、第１実施形態のバナーページ印刷サブルーチンと略同じであるため、異なるステップのみを説明する。
【００９６】
まず、第２実施形態のバナーページ印刷サブルーチンでは、Ｓ２００において、ＣＵＰＳフィルタ３２が、フラグＢが「１」にセットされているか否かを判断する。そして、フラグＢが「１」にセットされている場合に、Ｓ２０２以降の処理が実行される。一方、フラグＢが「０」にセットされている場合、すなわちフラグＡが「１」にセットされている場合に、Ｓ２５０以降の処理が実行される。
【００９７】
そして、バナーページ印刷サブルーチンが終了すると、メインルーチンに戻り、Ｓ３３０に進む。なお、Ｓ３２６において、フラグＡとフラグＢとが、共に０にセットされている場合（Ｓ３２６：ＹＥＳ）にも、Ｓ３３０に進む。Ｓ３３０では、ＣＵＰＳフィルタ３２は、通常ページの印刷指示をプリンタ８０に送信する（Ｓ３３０）。そして、ＣＵＰＳフィルタ３２が、プリンタ８０との通信をクローズする指示をＯＳに送信し（Ｓ３３２）、本フローが終了する。
【００９８】
なお、Ｓ１０５を実行するＣＰＵ１２は、第１枚数取得手段の一例である。Ｓ１１２を実行するＣＰＵ１２は、第２枚数取得手段の一例である。Ｓ１１４を実行するＣＰＵ１２は、判断手段の一例である。Ｓ１３４を実行するＣＰＵ１２は、記憶制御手段の一例である。Ｓ１３２，Ｓ２３２，Ｓ３３０を実行するＣＰＵ１２は、送信手段の一例である。Ｓ２１４を実行するＣＰＵ１２は、印刷データ取得手段の一例である。Ｓ２２６を実行するＣＰＵ１２は、トレイ情報取得手段の一例である。Ｓ３０２を実行するＣＰＵ１２は、記憶制御手段の一例である。Ｓ３１０を実行するＣＰＵ１２は、第１情報取得手段の一例である。Ｓ３１４を実行するＣＰＵ１２は、第２情報取得手段の一例である。Ｓ３１６を実行するＣＰＵ１２は、判断手段の一例である。
【００９９】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、ジョブ単位のバナーページに対して無効設定が設定されているが、ユーザ単位のバナーページに対して無効設定が設定されてもよい。
【０１００】
また、上記実施形態では、ＣＰＵ１２によって図３乃至図９、図１１、図１２に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。また、上記実施形態では、他の印刷ジョブの境界を仕切る仕切り紙としてバナーページを挿入する例を説明したが、これに限らず、仕切り紙として白紙を挿入するようにしてもよい。
【符号の説明】
【０１０１】
１０：ＰＣ、１２：ＣＰＵ、３２：ＣＵＰＳフィルタ、５０：ＰＣ、５２：ＣＰＵ、７２：ＣＵＰＳフィルタ、８０：プリンタ
【図１】
2019114200.tif 000003
【図２】
2019114200.tif 000004
【図３】
2019114200.tif 000005
【図４】
2019114200.tif 000006
【図５】
2019114200.tif 000007
【図６】
2019114200.tif 000008
【図７】
2019114200.tif 000009
【図８】
2019114200.tif 000010
【図９】
2019114200.tif 000011
【図１０】
2019114200.tif 000012
【図１１】
2019114200.tif 000013
【図１２】
2019114200.tif 000014