JP6992496B2 - 制御プログラム及び、情報処理装置 - Google Patents

制御プログラム及び、情報処理装置 Download PDF

Info

Publication number
JP6992496B2
JP6992496B2 JP2017249424A JP2017249424A JP6992496B2 JP 6992496 B2 JP6992496 B2 JP 6992496B2 JP 2017249424 A JP2017249424 A JP 2017249424A JP 2017249424 A JP2017249424 A JP 2017249424A JP 6992496 B2 JP6992496 B2 JP 6992496B2
Authority
JP
Japan
Prior art keywords
print job
printer
print
cumulative number
cups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017249424A
Other languages
English (en)
Other versions
JP2019114200A (ja
Inventor
政敏 門田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017249424A priority Critical patent/JP6992496B2/ja
Priority to US16/225,052 priority patent/US10409534B2/en
Publication of JP2019114200A publication Critical patent/JP2019114200A/ja
Application granted granted Critical
Publication of JP6992496B2 publication Critical patent/JP6992496B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、プリンタと通信可能な情報処理装置のコンピュータが読み取り可能な制御プログラム等に関する。
プリンタから排出された印刷済みの用紙の持ち主を判別し易くするために、複数の印刷ジョブの間に、バナーページ(仕切り紙)が挿入される技術が知られている。そして、そのような技術において、下記特許文献に、同じユーザから連続して印刷ジョブがプリンタに送信された場合に、印刷ジョブの間へのバナーページの挿入を省略する技術が記載されている。
特開2003-29945号公報
上記特許文献に記載の技術では、印刷ジョブを受信したプリンタが、当該印刷ジョブのユーザを識別し、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入が省略される。このため、このような機能を実現するために、印刷ジョブのユーザを識別し、ユーザが同じであるか否かの判断を行うことが可能な特別な機能を、プリンタに組み込む必要がある。本願は、このような課題を解決することを目的とする。
上記課題を解決するために、実施例に開示する制御プログラムは、プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第1累積枚数を記憶するように構成されており、前記コンピュータを、前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第1累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第1枚数取得手段と、前記プリンタにより印刷ジョブが送信された後に、前記第1枚数取得手段により取得された第1累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第2累積枚数を、前記記憶部に記憶させる記憶制御手段と、前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第2累積枚数を前記記憶部から取得する第2枚数取得手段と、前記第1枚数取得手段により取得された第1累積枚数と、前記第2枚数取得手段により取得された第2累積枚数とが一致するか否かを判断する判断手段と、して機能させ、前記送信手段は、前記判断手段により第1累積枚数と第2累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする制御プログラム。
また、上記課題を解決するために、実施例に開示する制御プログラムは、プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、前記コンピュータを、前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、前記プリンタに記憶されている識別情報のうちの最後に印刷される第1識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第1情報取得手段と、前記記憶制御手段により前記記憶部に記憶された識別情報である第2識別情報を前記記憶部から取得する第2情報取得手段と、前記第1情報取得手段により取得された第1識別情報と、前記第2情報取得手段により取得された第2識別情報とが一致するか否かを判断する判断手段と、前記判断手段により第1識別情報と第2識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1識別情報と第2識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、して機能させることを特徴とする。
また、上記課題を解決するために、実施例に開示する情報処理装置は、プリンタと通信可能な通信インタフェースと、記憶部と、制御部と、を備える情報処理装置であって、前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第1累積枚数を記憶するように構成されており、前記制御部を、前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第1累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第1枚数取得手段と、前記プリンタにより印刷ジョブが送信された後に、前記第1枚数取得手段により取得された第1累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第2累積枚数を、前記記憶部に記憶させる記憶制御手段と、前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第2累積枚数を前記記憶部から取得する第2枚数取得手段と、前記第1枚数取得手段により取得された第1累積枚数と、前記第2枚数取得手段により取得された第2累積枚数とが一致するか否かを判断する判断手段と、して機能させ、前記送信手段は、前記判断手段により第1累積枚数と第2累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする。
また、上記課題を解決するために、実施例に開示する情報処理装置は、プリンタと通信可能な通信インタフェースと、記憶部と、制御部と、を備える情報処理装置であって、前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、前記制御部を、前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、前記プリンタに記憶されている識別情報のうちの最後に印刷される第1識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第1情報取得手段と、前記記憶制御手段により前記記憶部に記憶された識別情報である第2識別情報を前記記憶部から取得する第2情報取得手段と、前記第1情報取得手段により取得された第1識別情報と、前記第2情報取得手段により取得された第2識別情報とが一致するか否かを判断する判断手段と、前記判断手段により第1識別情報と第2識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1識別情報と第2識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、して機能させることを特徴とする。
実施例に開示する制御プログラムは、プリンタと通信可能な情報処理装置にインストールされており、プリンタにより印刷された印刷用紙の累積的な枚数である第1累積枚数をプリンタから取得する。また、制御プログラムは、情報処理装置から送信された印刷ジョブに基づいて印刷される印刷枚数の累積的な枚数である第2累積枚数を、情報処理装置に記憶させている。そして、制御プログラムが、第1累積枚数と第2累積枚数とに基づいて、同じユーザが連続して印刷ジョブをプリンタに送信しているか否かを判断し、判断結果に応じて、バナーページの挿入の有無を、プリンタに指示する。これにより、上記特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略することができる。
実施例に開示する制御プログラムは、プリンタと通信可能な情報処理装置にインストールされており、プリンタにおいて最後に実行された印刷ジョブのユーザを識別可能な第1識別情報をプリンタから取得する。また、制御プログラムは、印刷予定の印刷ジョブのユーザを識別可能な第2識別情報を特定する。そして、制御プログラムが、第1識別情報と第2識別情報とに基づいて、同じユーザが連続して印刷ジョブをプリンタに送信しているか否かを判断し、判断結果に応じて、バナーページの挿入の有無を、プリンタに指示する。これにより、上記特別な機能が組み込まれていないプリンタにおいても、同じユーザの印刷ジョブが連続する場合に、印刷ジョブの間へのバナーページの挿入を省略することができる。
プリンタシステム1のブロック図である。 設定画面100を示す図である。 第1実施形態のCUPSフィルタ32のフローチャートを示す図である。 第1実施形態のCUPSフィルタ32のフローチャートを示す図である。 第1実施形態のCUPSフィルタ32のフローチャートを示す図である。 バナーページ印刷サブルーチンを示す図である。 バナーページ印刷サブルーチンを示す図である。 バナーページ印刷サブルーチンを示す図である。 バナーページ印刷サブルーチンを示す図である。 印刷履歴情報を概念的に示す図である。 第2実施形態のCUPSフィルタ32のフローチャートを示す図である。 第2実施形態のCUPSフィルタ32のフローチャートを示す図である。
<プリンタシステムの構成>
図1は、本実施形態に係るプリンタシステム1のブロック図である。図1に示すプリンタシステム1は、PC(情報処理装置の一例)10、PC(情報処理装置の一例)50、プリンタ(プリンタの一例)80、PC82、PC86、PC88を備える。
PC10は、PC82及びPC86と通信可能とされている。そして、PC10において、それらPC82及びPC86に対して、プリンタ80を共有するプリンタ共有が設定されており、PC10は、サーバPCとして機能し、PC82及びPC86は、クライアントPCとして機能する。なお、PC82及びPC86では、PC10に対して、ディレクトリ共有が設定されている。また、PC50は、PC88と通信可能とされている。そして、PC50において、PC88に対して、プリンタ80を共有するプリンタ共有が設定されており、PC50は、サーバPCとして機能し、PC88は、クライアントPCとして機能する。なお、PC88では、PC50に対して、ディレクトリ共有が設定されている。
PC10は、CPU(コンピュータ及び制御部の一例)12、メモリ14、LCD16、入力I/F18、USBI/F(通信インタフェース及びUSBインタフェースの一例)20を主に備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。
CPU12は、メモリ14内のCUPS(登録商標)サーバ30、CUPSクライアント31、CUPSフィルタ(制御プログラムの一例)32に従って処理を実行する。CUPSサーバ30及びCUPSクライアント31は、Linux(登録商標)を用いて印刷処理を実行するものであり、CUPSフィルタ32は、印刷処理をプリンタ80に実行させるためのものである。なお、以下の説明では、CUPSフィルタ32等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「CUPSフィルタ32が」という記載は、「CUPSフィルタ32を実行するCPU12が」ということを意味する場合がある。
また、メモリ14は、データ記憶領域(記憶部の一例)34を備える。データ記憶領域34は、CUPSフィルタ32等の実行に必要なデータなどを記憶する領域であり、PPD36を含む。PPD36は、印刷処理を行うためのプリンタ定義ファイルである。なお、メモリ14は、RAM、ROM、フラッシュメモリ、HDD、CPU12が備えるバッファなどが組み合わされて構成されている。
ちなみに、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
LCD16は、PC10の各種機能を表示する。入力I/F18は、キーボード,マウス等を含み、ユーザ操作を入力するためのインタフェースである。USBI/F20は、USB規格に準拠して外部装置に信号の送受信を行うためのI/Fであり、プリンタ80に接続されている。これにより、PC10は、プリンタ80とデータの送受信を行うことができる。
また、PC50は、CPU(コンピュータ及び制御部の一例)52、メモリ54、LCD56、入力I/F58、ネットワークI/F(通信インタフェース及びネットワークインタフェースの一例)60を主に備えている。これらの構成要素は、バス62を介して互いに通信可能とされている。なお、ネットワークI/F60を除く構成要素は、PC10の構成要素と同じであるため、説明を省略する。
ネットワークI/F60は、LAN等のネットワーク78を介して、外部装置に信号の送受信を行うためのI/Fであり、プリンタ80に接続されている。これにより、PC50は、プリンタ80とデータの送受信を行うことができる。なお、メモリ54は、PC10のメモリ14と同様に、CUPSサーバ70、CUPSクライアント71、CUPSフィルタ72、PPD76を含むデータ記憶領域74を備えている。
また、PC10と通信可能なPC82及びPC86と、PC50と通信可能なPC88とは、それぞれ、メモリ90を備えている。各メモリ90は、CUPSクライアント96、CIFS/Samba共有領域98を有している。CUPSクライアント96は、Linux(登録商標)を用いて印刷処理を実行するものである。CIFS/Samba共有領域98は、ディレクトリ共有時に使用される記憶領域である。なお、PC82,86,88は、CPU、LCD等を当然備えているが、説明および図が煩雑となるため、記載等を省略する。また、PC82,86,88は、それぞれPC10及びPC50とLAN等のネットワークを介して接続されている。
<プリンタシステムの作動>
プリンタシステム1では、PC10及びPC50は、プリンタ80に印刷ジョブを送信し、プリンタ80に印刷ジョブに基づく印刷処理を実行させることが可能であり、PC82,86,88の各々は、自身と通信可能なPC10,50に印刷ジョブを送信し、その印刷ジョブを受信したPC10,50が、プリンタ80に印刷ジョブを送信することで、プリンタ80に印刷ジョブに基づく印刷処理を実行させることができる。
つまり、プリンタシステム1では、5台のPC10,50,82,86,88の各々により作成された印刷ジョブに基づく印刷処理を、プリンタ80に実行させることができる。このように、プリンタ80は、多くのユーザが作成した印刷ジョブに基づく印刷処理を実行することができるため、プリンタ80では、プリンタ80により印刷された印刷用紙をユーザ毎に区別するべく、ユーザ単位で、印刷ジョブの前にバナーページが挿入される。つまり、例えば、PC10からプリンタ80に送信された印刷ジョブに基づく印刷処理が実行された後に、PC82からプリンタ80に送信された印刷ジョブが実行される場合に、そのPC82から送信された印刷ジョブの前に、バナーページが挿入される。一方、PC10からプリンタ80に送信された最初の印刷ジョブに基づく印刷処理が実行された後に、PC10からプリンタ80に2番目に送信された印刷ジョブが実行される場合は、その2番目に送信された印刷ジョブの前に、バナーページは挿入されない。バナーページには、例えば、ユーザ名、印刷ジョブ名、ホスト名、印刷日時が印刷される。
また、プリンタ80では、ユーザ単位だけでなく、ジョブ単位でも、印刷ジョブの前にバナーページが挿入される。つまり、印刷ジョブが実行される毎に、当該印刷ジョブの前にバナーページが挿入される。なお、ユーザ単位及び、ジョブ単位の各々において、バナーページの挿入の有無を選択することが可能とされている。
具体的には、PC10,50,82,86,88の何れかの装置において、プリンタ80による印刷設定画面の表示がユーザにより指示される場合に、その装置のLCD16等に、図2に示すように、設定画面100が表示される。なお、設定画面100を表示するための画像は、PC10のPPD36および、PC50のPPD76に記憶されている情報を基に作成される。このため、PC10,50で設定画面100が表示される場合に、CUPSサーバ30,70が、PPD36,76から情報を取得し、その情報に基づいて設定画面100を表示する。また、PC82,86で設定画面100が表示される場合に、PC82,86のCUPSクライアント96が、PC10のPPD36から情報を取得し、その情報に基づいて設定画面100を表示する。また、PC88で設定画面100が表示される場合に、PC88のCUPSクライアント96が、PC50のPPD76から情報を取得し、その情報に基づいて設定画面100を表示する。
設定画面100には、印刷処理時における印刷条件を設定するための複数の印刷条件設定プルダウンメニュー102a~cと、バナーページの挿入の有無などを設定するためのバナーページ設定プルダウンメニュー106a~cとが表示される。印刷条件設定プルダウンメニュー102aは、印刷用紙のサイズを設定するためのプルダウンメニューであり、印刷条件設定プルダウンメニュー102bは、そのサイズの印刷用紙の給紙トレイを設定するためのプルダウンメニューであり、印刷条件設定プルダウンメニュー102cは、印刷時の解像度を設定するためのプルダウンメニューである。
また、バナーページ設定プルダウンメニュー106aは、ジョブ単位のバナーページの挿入の要否等を設定するためのプルダウンメニューであり、バナーページ設定プルダウンメニュー106bは、ユーザ単位のバナーページの挿入の有無等を設定するためのプルダウンメニューである。バナーページ設定プルダウンメニュー106a及び、バナーページ設定プルダウンメニュー106bの各々が操作されると、各プルダウンメニューにプルダウンリストが表示され、そのプルダウンリストには、「バナーページ1」、「バナーページ2」、「ユーザ指定」、「OFF」が表示される。「バナーページ1」、「バナーページ2」、「ユーザ指定」の各々は、バナーページの挿入を有効にするための操作ボタンである。そして、「バナーページ1」が選択されると、予め設定された第1設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。また、「バナーページ2」が選択されると、予め設定された第2設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。また、「ユーザ指定」が選択されると、ユーザにより任意に設定されたユーザ設定画像がバナーページに印刷され、そのバナーページが、ジョブ単位、若しくは、ユーザ単位で挿入される。
なお、第1設定画像の画像データ、および、第2設定画像の画像データは、CUPSフィルタの一部として、当該CUPSフィルタのインストール時に同時にPC10に記憶される。一方、ユーザ設定画像は、ユーザが任意に設定することができるため、PC10,50,82,86,88の各々において、ユーザ設定画像の画像データが作成される。そして、PC10,50で作成されたユーザ設定画像の画像データは、それぞれメモリ14,54に記憶され、PC82,86,88で作成されたユーザ設定画像の画像データは、CIFS/Samba共有領域98に記憶される。なお、プルダウンリストの「OFF」は、バナーページの挿入を無効にするための操作ボタンである。
また、バナーページ設定プルダウンメニュー106cは、バナーページの給紙トレイを設定するためのプルダウンメニューである。本実施形態では、プリンタ80は給紙トレイとしてトレイA,Bを備えており、そのうちの一部をバナーページ用の給紙トレイとして利用することができる。バナーページ設定プルダウンメニュー106cが操作されると、そのプルダウンメニューにプルダウンリストが表示され、そのプルダウンリストには、「OFF」、「トレイA」、「トレイB」「ユーザ設定」等が表示される。そして、プルダウンリストの「OFF」が選択されると、印刷ジョブにより指定されるトレイと同一のトレイ(通常はプルダウンメニュー102bにより指定されたトレイと同じ)からバナーページが給紙される。また、プルダウンリストの「トレイA」、「トレイB」等の任意のトレイが選択されると、選択されたトレイからバナーページが給紙される。なお、PC10,50において、設定画面100が表示され、プルダウンリストの「トレイA」、「トレイB」等の任意のトレイが選択されると、選択されたトレイに関する情報が、PPD36,76に記憶され、PC82,86,88において、設定画面100が表示され、プルダウンリストの「トレイA」、「トレイB」等の任意のトレイが操作されると、操作されたトレイに関する情報が、CIFS/Samba共有領域98に記憶される。
上記設定画面100において、印刷条件設定プルダウンメニュー102a~c、バナーページ設定プルダウンメニュー106a~cへの操作により、印刷設定、バナーページ設定などの印刷ジョブの設定条件(以下、「ジョブ設定条件」と記載する)が設定され、ユーザが図示しない印刷ボタンの選択を行うと、PC10,50では、CUPSクライアント31,71が、印刷対象の画像の画像データ(以下、「印刷対象画像データ」と記載する)と、ジョブ設定条件を示す情報(以下、「設定条件情報」と記載する)とに基づいて、印刷ジョブを作成し、PC82,86,88では、CUPSクライアント96が、印刷対象画像データと設定条件情報とに基づいて、印刷ジョブを作成する。
なお、印刷ジョブには、ユーザ毎に設定されるユーザID(識別情報の一例)が含まれる。このユーザIDは通常はPC10,50,82,86,88にログインする際に使用するログイン名であり、CUPSクライアント31,71,96により自動的に付与される。このため、印刷ジョブに含まれるユーザIDに基づいて、印刷ジョブの作成元を識別することができる。ただし、ユーザIDは、ユーザ毎に、「ito」,「sato」などに設定されるが、ユーザIDを設定していないユーザのために、ユーザIDとして「guest」が設定されている。このため、ユーザIDを設定していないユーザは、ユーザIDとして「guest」を用いることが可能とされているが、ユーザIDとして「guest」が用いられた場合に、印刷ジョブに含まれるユーザIDに基づいて、印刷ジョブの作成元を識別することができない。
そして、PC82,86のCUPSクライアント96が、印刷ジョブを作成すると、作成した印刷ジョブを、PC10のCUPSサーバ30に送信する。また、PC88のCUPSクライアント96が、印刷ジョブを作成すると、作成した印刷ジョブを、PC50のCUPSサーバ70に送信する。そして、PC10のCUPSサーバ30は、PC82,86から受信した印刷ジョブ、若しくは、自身で作成した印刷ジョブを、CUPSフィルタ32に出力する。また、PC50のCUPSサーバ70は、PC88から受信した印刷ジョブ、若しくは、自身で作成した印刷ジョブを、CUPSフィルタ72に出力する。
以下に、CUPSフィルタ32,72が印刷ジョブを受け付けた後のCUPSフィルタ32,72の処理について説明するが、CUPSフィルタ32とCUPSフィルタ72とは、一部を除いて、殆ど同じ処理を実行するため、CUPSフィルタ32とCUPSフィルタ72との同じ処理に関して、CUPSフィルタ32の処理を代表して説明し、CUPSフィルタ32とCUPSフィルタ72との異なる処理に関して、CUPSフィルタ32とCUPSフィルタ72との各々の処理を説明する。
CUPSフィルタ32は、印刷ジョブを受け付けると、その印刷ジョブをPDLデータ等のプリンタ80により処理可能な印刷データに変換し、その印刷データをプリンタ80に送信する。プリンタ80は、印刷ジョブに基づく印刷処理を実行する。この際、プリンタ80は、印刷処理を実行する毎に、印刷処理により印刷された印刷用紙の枚数を累積的に加算し、その加算された累積枚数(以下、「プリンタ側累積枚数」と記載する)(第1累積枚数の一例)を記憶している。この累積枚数は通常はメンテナンスや消耗品補給などのために汎用的に使用されるものであり、PC側から所定の手続きにより読み取ることができるものである。この所定の手続きとしては例えばPJL(PrintJob Language 登録商標)などの汎用的な方法が知られている。
また、CUPSフィルタ32においても、送信した印刷ジョブに基づいて印刷される印刷用紙の累積的な累積枚数(以下、「PC側累積枚数」と記載する)(第2累積枚数の一例)が、データ記憶領域34に記憶される。詳しくは、CUPSフィルタ32は、印刷ジョブをプリンタ80に送信する前に、プリンタ80からプリンタ側累積枚数を取得している。そして、CUPSフィルタ32は、印刷ジョブをプリンタ80に送信した後に、送信した印刷ジョブに基づいて印刷される印刷用紙の枚数を、プリンタ80から取得したプリンタ側累積枚数に加算し、その換算された枚数を、PC側累積枚数として、データ記憶領域34に記憶する。また、プリンタ80においても、受信した印刷ジョブに基づく印刷処理が完了すると、その印刷処理により印刷された印刷用紙の枚数が、それまでにプリンタ80に記憶したプリンタ側累積枚数に加算され、その加算された枚数が、プリンタ側累積枚数として記憶される。つまり、プリンタ80において、受信した印刷ジョブに基づく印刷処理が完了する毎に、プリンタ側累積枚数が更新される。
このため、CUPSフィルタ32が印刷ジョブをプリンタ80に送信した後のデータ記憶領域34に記憶されたPC側累積枚数と、その印刷ジョブに基づく印刷処理を完了した後のプリンタ側累積枚数とは、通常、同じとなる。しかしながら、CUPSフィルタ32から受信した印刷ジョブ、つまり、PC10から受信した印刷ジョブが完了した後に、プリンタ80が、CUPSフィルタ72、つまり、PC50から印刷ジョブを受信し、その印刷ジョブに基づく印刷処理を実行すると、その印刷処理の完了に伴って、プリンタ側累積枚数が更新される。この際、PC50から受信した印刷ジョブの印刷処理の完了に伴って更新されたプリンタ側累積枚数は、当然、PC10のデータ記憶領域34に記憶されているPC側累積枚数より多くなる。つまり、プリンタ側累積枚数がPC10のPC側累積枚数より多い場合には、プリンタ80が、PC50から受信した印刷ジョブに基づく印刷処理を実行していると考えられる。
そこで、PC10のCUPSフィルタ32は、印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC10のPC側累積枚数と比較することで、異なるユーザが印刷ジョブを指示したか否かを判断する。具体的には、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブから設定条件情報を抽出し、その設定条件情報に基づいて、ユーザ単位のバナーページの挿入が有効に設定されているか否かを判断する。ちなみに、設定画面100のバナーページ設定プルダウンメニュー106bにおいて、「バナーページ1」、「バナーページ2」、「ユーザ指定」のいずれかが選択されている場合に、ユーザ単位のバナーページの挿入が有効に設定されていると判断され、「OFF」が選択されている場合に、ユーザ単位のバナーページの挿入が無効に設定されていると判断される。そして、ユーザ単位のバナーページの挿入が有効に設定されている場合に、CUPSフィルタ32は、印刷ジョブを送信する前に、プリンタからプリンタ側累積枚数を取得し、データ記憶領域34に記憶されているPC側累積枚数を取得する。そして、プリンタ側累積枚数がPC側累積枚数より多い場合に、CUPSフィルタ32は、ユーザ単位のバナーページが、印刷対象画像データに基づいて印刷されるページ(以下、「通常ページ」と記載する)の前に挿入されるように、印刷ジョブをプリンタ80に送信する。
詳しくは、CUPSフィルタ32は、バナーページに印刷される画像が第1設定画像若しくは、第2設定画像に設定されている場合に、第1設定画像若しくは、第2設定画像の画像データを、メモリ14から取得する。また、CUPSフィルタ32は、バナーページに印刷される画像がユーザ設定画像に設定されている場合に、印刷ジョブの作成元がPC10であるかPC82,86であるかを判断する。つまり、印刷ジョブの作成元がサーバPCであるかクライアントPCであるかを判断する。そして、印刷ジョブの作成元がサーバPCである場合に、CUPSフィルタ32は、ユーザ設定画像の画像データを、PC10のメモリ14のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得し、印刷ジョブの作成元がクライアントPCである場合に、CUPSフィルタ32は、ユーザ設定画像の画像データを、クライアントPCのCIFS/Samba共有領域98のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得する。なお、設定画面100のバナーページ設定プルダウンメニュー106bにおいて、「バナーページ1」、「バナーページ2」が選択されている場合に、バナーページに印刷される画像が第1設定画像若しくは、第2設定画像に設定されていると判断され、「ユーザ指定」が選択されている場合に、バナーページに印刷される画像がユーザ設定画像に設定されていると判断される。なお、クライアントPCからユーザ設定画像の画像データを取得できない場合は、エラー処理が実行される。エラー処理は、エラー画面の表示,印刷ジョブの停止などである。
また、CUPSフィルタ32は、バナーページの給紙トレイが「トレイA」、「トレイB」に設定されている場合に、設定された給紙トレイに関する情報(以下、「トレイ情報」と記載する)「ユーザ指定」に設定されている場合に、印刷ジョブの作成元がサーバPCであるかクライアントPCであるかを判断する。そして、印刷ジョブの作成元がサーバPCである場合に、CUPSフィルタ32は、トレイ情報を、PC10のメモリ14のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得し、印刷ジョブの作成元がクライアントPCである場合に、CUPSフィルタ32は、トレイ情報を、クライアントPCのCIFS/Samba共有領域98のユーザ毎に設けられた記憶領域のうち印刷ジョブのユーザに対応する記憶領域から取得する。なお、クライアントPCからトレイ情報を取得できない場合は、エラー処理が実行される。また、CUPSフィルタ32は、バナーページの給紙トレイが「OFF」に設定されている場合に、印刷ジョブに設定されている印刷用紙の給紙トレイの情報をバナーページのトレイ情報として取得する。
そして、CUPSフィルタ32は、バナーページに印刷される画像の画像データおよび、トレイ情報を取得すると、取得した画像の画像データ及びトレイ情報とともに、バナーページの印刷指示を、プリンタ80に送信する。これにより、バナーページの印刷指示を受信したプリンタ80は、印刷指示とともに受信したトレイ情報に応じた給紙トレイからバナーページを給紙し、その給紙されたバナーページに、印刷指示とともに受信した画像データに基づく画像を印刷することで、所定の画像が印刷されたバナーページがプリンタ80から排出される。
また、CUPSフィルタ32は、バナーページの印刷指示を送信した後に、通常ページの印刷指示をプリンタ80に送信する。なお、CUPSフィルタ32は、通常ページの印刷指示とともに、データ記憶領域34に記憶されている印刷対象画像データと、設定条件情報に含まれる印刷設定に関する情報とを、プリンタ80に送信する。そして、通常ページの印刷指示を受信したプリンタ80は、印刷指示とともに受信した印刷設定に関する情報に応じた印刷設定に従って、印刷指示とともに受信した印刷対象画像データに基づく印刷処理を実行する。このため、先に排出されたバナーページに続いて、印刷対象画像データに基づく画像が印刷された通常ページが、プリンタ80から排出される。これにより、プリンタ80において、PC10から受信した印刷ジョブの前にバナーページが挿入されることで、先に印刷された通常ページ、つまり、PC50から受信した印刷ジョブにより印刷された通常ページと、PC10から受信した印刷ジョブにより印刷された通常ページとを、バナーページにより容易に区別することできる。
また、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数がPC側累積枚数より少ないと判断された場合には、CUPSフィルタ32が、印刷予定の印刷ジョブの前に、既に、別の印刷ジョブをプリンタ80に送信しており、プリンタ80において、その別の印刷ジョブに基づく印刷処理が完了しておらず、実行中であると考えられる。つまり、プリンタ80は、同じユーザが作成した印刷ジョブを連続して実行すると考えられ、ジョブ単位のバナーページの挿入は、必要ないと考えられる。しかしながら、PC10,50とプリンタ80との通信インタフェースの種類に応じて、印刷処理の割込みが入る虞がある。
詳しくは、PC10は、通信インタフェースとして、USBI/F20を用いており、USBI/F20を介して、PC10とプリンタ80とが通信を行っている際に、他のデバイスからプリンタ80に印刷ジョブの割込みを行うことはできない。つまり、プリンタ側累積枚数がPC側累積枚数より少ないと判断された後に、CUPSフィルタ32が印刷ジョブをプリンタ80に送信した場合には、プリンタ80は、PC10において作成された印刷ジョブの実行後に、必ず、PC10において作成された印刷ジョブ実行する。このため、このような場合において、ジョブ単位のバナーページの挿入は、必要ない。そこで、CUPSフィルタ32が印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数がPC側累積枚数より少ないと判断された場合には、印刷ジョブを送信するPC10の通信インタフェースがUSBI/F20であることを条件として、バナーページの印刷指示は送信されず、通常ページの印刷指示が送信される。これにより、同じユーザからの2つの印刷ジョブの間に、ユーザ単位のバナーページは挿入されず、バナーページの浪費を抑制できる。
一方、PC50は、通信インタフェースとして、ネットワークI/F60を用いており、ネットワークI/F60を介して、PC50とプリンタ80とが通信を行っている際に、他のデバイスからプリンタ80に印刷ジョブの割込みを行うことができる。つまり、プリンタ側累積枚数がPC側累積枚数より少ないと判断された後に、CUPSフィルタ72が印刷ジョブをプリンタ80に送信した場合には、プリンタ80は、PC50において作成された印刷ジョブの実行後に、他のデバイス、例えば、PC10から割り込まれた印刷ジョブを受信する虞がある。このため、このような場合において、ユーザ単位のバナーページ挿入の実行が望ましい。そこで、CUPSフィルタ72が印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数がPC側累積枚数より少ないと判断された場合であっても、印刷ジョブを送信するPC10の通信インタフェースがネットワークI/F60であれば、バナーページの印刷指示が送信され、そのバナーページの印刷指示の後に、通常ページの印刷指示が送信される。これにより、異なるユーザにより作成された印刷ジョブに基づく印刷処理が実行される可能性がある場合において、ユーザ単位のバナーページを挿入することができる。
また、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC側累積枚数とが同じであると判断された場合において、CUPSフィルタ32はプリンタ80の状態を確認する。プリンタ80の状態が印刷ジョブを受け付けていない状態であれば、CUPSフィルタ32は印刷予定の印刷ジョブを送信する前に、別の印刷ジョブを送信しており、プリンタ80において、その別の印刷ジョブに基づく印刷処理が完了していると考えられる。つまり、プリンタ80において、CUPSフィルタ32から送信された印刷ジョブが完了しているため、CUPSフィルタ32は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信することなく、通常ページの印刷指示を送信すればよいと考えられる。
一方、プリンタ80の状態が印刷ジョブを受け付けている状態であれば、CUPSフィルタ32から送信された印刷ジョブが完了しているが、他の装置から送信された印刷ジョブに基づく印刷処理が実行中である可能性がある。その他の装置から送信された印刷ジョブが完了しなければ、プリンタ側累積枚数は更新されないためである。よって、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC側累積枚数とが同じであると判断されても、プリンタ80が印刷ジョブに基づく印刷処理を実行している最中に、CUPSフィルタ32が、印刷ジョブを送信すると、その印刷ジョブは、他の装置から送信された印刷ジョブの後に実行される。
また、プリンタ80の状態が印刷ジョブを受け付けている状態であれば、プリンタ80が、CUPSフィルタ32から受信した印刷ジョブを完了する前、若しくは、完了した後に、他の装置から印刷ジョブを受信中である可能性がある。このため、CUPSフィルタ32が、このタイミングで印刷ジョブを送信すると、その印刷ジョブは、他の装置から送信された印刷ジョブの後に実行される。つまり、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC側累積枚数とが同じであると判断されても、プリンタ80が印刷処理実行中である場合、および、印刷ジョブを受信中である場合に、CUPSフィルタ32は、ユーザ単位のバナーページの印刷指示を送信する必要がある。
プリンタ80の状態を確認する処理として、詳しくは、CUPSフィルタ32は、プリンタ80からプリンタのステータス状態を示す情報(以下、「ステータス情報」と記載する)を取得する。なお、ステータス情報は、印刷中を示す情報と、印刷ジョブの受信中を示す情報と、印刷ジョブを受け付けていないアイドル中を示す情報とのうちの何れかとされている。そして、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC側累積枚数とが同じであると判断され、ステータス情報がアイドル中を示す情報である場合に、CUPSフィルタ32は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信することなく、通常ページの印刷指示を送信する。一方、CUPSフィルタ32が印刷予定の印刷ジョブをプリンタ80に送信する前に、プリンタ側累積枚数とPC側累積枚数とが同じであると判断され、ステータス情報が、印刷中又は印刷ジョブの受信中を示す情報である場合に、CUPSフィルタ32は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。
このように、プリンタ側累積枚数とPC側累積枚数とを利用することで、PC10からの送信予定の印刷ジョブが、PC10と異なる装置、つまり、PC50から送信された印刷ジョブに続いて、実行されるか否かを適切に判断することができ、ユーザ単位のバナーページの挿入の有無を適切に判断することができる。ただし、PC10は、自身で作成した印刷ジョブだけでなく、PC82,86で作成された印刷ジョブも、プリンタ80に送信する。このため、プリンタ側累積枚数とPC側累積枚数とを利用した判断手法では、PC10からプリンタ80に送信される印刷ジョブが、PC10で作成された印刷ジョブであるか、PC82,86で作成された印刷ジョブであるかを判断できない。
そこで、CUPSフィルタ32は、印刷ジョブに含まれるユーザIDを利用して、印刷ジョブの作成元を判断する。ユーザIDは、上述したように、印刷ジョブの作成元を識別することが可能であるため、ユーザIDを利用すれば、PC10からプリンタ80に送信される印刷ジョブが、PC10で作成された印刷ジョブであるか、PC82,86で作成された印刷ジョブであるかを判断できる。これにより、CUPSフィルタ32は、1の印刷ジョブを送信した後に、印刷予定の印刷ジョブを送信する場合に、印刷予定の印刷ジョブのユーザが、先に送信した1の印刷ジョブのユーザと同じであるか否かを判断できる。つまり、ユーザ単位のバナーページの挿入の有無を判断できる。
このため、CUPSフィルタ32は、印刷予定の印刷ジョブを送信する前に、印刷予定の印刷ジョブのユーザが、その印刷予定の印刷ジョブの前にプリンタ80に送信された印刷ジョブのユーザIDと同じであるか否かを判断する。つまり、CUPSフィルタ32は、印刷予定の印刷ジョブを送信する前に、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断する。そして、今回のジョブユーザが前回のジョブユーザと異なると判断された場合において、CUPSフィルタ32は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。一方、今回のジョブユーザが前回のジョブユーザと同じと判断された場合において、CUPSフィルタ32は、上述したように、プリンタ側累積枚数とPC側累積枚数とに基づいてユーザ単位のバナーページの挿入の有無を判断し、その判断結果に応じて印刷ジョブをプリンタ80に送信する。
なお、ユーザIDを設定していないユーザのために、ユーザID「guest」が設定されており、そのユーザID「guest」は、印刷ジョブの作成元を識別することができない。このため、印刷予定の印刷ジョブにユーザID「guest」が含まれている場合において、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断でないため、CUPSフィルタ32は、印刷予定の印刷ジョブとして、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示を送信する。これにより、今回のジョブユーザと前回のジョブユーザとが同じである可能性がある場合において、ジョブ単位のバナーページの挿入が実行される。
また、ジョブ単位のバナーページの挿入が設定されている場合に、CUPSフィルタ32は、印刷ジョブを送信する毎に、ジョブ単位のバナーページの送信指示を、プリンタ80に送信する。詳しくは、CUPSフィルタ32は、印刷ジョブから設定条件情報を抽出し、その設定条件情報に基づいて、ジョブ単位のバナーページの挿入が有効に設定されているか否かを判断する。ちなみに、設定画面100のバナーページ設定プルダウンメニュー106aにおいて、「バナーページ1」、「バナーページ2」、「ユーザ指定」のいずれかが選択されている場合に、ユーザ単位のバナーページの挿入が有効に設定されていると判断され、「OFF」が選択されている場合に、ユーザ単位のバナーページの挿入が無効に設定されていると判断される。そして、ユーザ単位のバナーページの挿入が有効に設定されている場合に、バナーページに印刷される画像の画像データおよび、トレイ情報を取得する。なお、ユーザ単位のバナーページに印刷される画像の画像データおよび、トレイ情報の取得方法は、ジョブ単位のバナーページに印刷される画像の画像データおよび、トレイ情報の取得方法と同じである。
そして、CUPSフィルタ32は、バナーページに印刷される画像の画像データおよび、トレイ情報を取得すると、取得したバナーページに印刷される画像の画像データおよび、トレイ情報を、ジョブ単位のバナーページの挿入指示とともに、プリンタ80に送信する。そして、CUPSフィルタ32は、ジョブ単位のバナーページの印刷指示を送信した後に、通常ページの印刷指示をプリンタ80に送信する。これにより、印刷ジョブ毎にバナーページが挿入され、印刷ジョブを容易に区分けすることができる。
なお、ジョブ単位のバナーページの挿入と、ユーザ単位のバナーページの挿入とが設定されている場合であって、ユーザ単位のバナーページが挿入される際には、ジョブ単位のバナーページの挿入が禁止される。これにより、ユーザ単位のバナーページとジョブ単位のバナーページとの同じ個所への挿入を防止することが可能となり、バナーページの無駄な挿入を抑制することができる。
このように、PC10,50は、印刷ジョブをプリンタ80に送信する場合に、バナーページの挿入の有無を判断するとともに、バナーページの印刷指示をプリンタ80に送信している。これにより、プリンタ80に特別な機構を組み込むことなく、必要な場合に、例えば、異なるユーザにより作成された2つの印刷ジョブの間に、バナーページを挿入することが可能となる。つまり、従来の手法では、プリンタにおいて、バナーページの挿入の有無が判断されており、その判断結果に従って、バナーページの印刷処理が実行されていたが、汎用的なプリンタに、そのような機構を組み込むことは困難であった。そこで、PC10,50において、バナーページの挿入の有無を判断するとともに、バナーページの印刷指示をプリンタ80に送信することで、汎用的なプリンタにおいても、必要な場合にバナーページを挿入することが可能となる。
<CUPSフィルタの処理>
上記バナーページの挿入の有無の判断,バナーページの印刷指示の送信,通常ページの印刷指示の送信などは、CPU12,52においてCUPSフィルタ32,72が実行されることによって行われる。なお、CUPSフィルタ32とCUPSフィルタ72とにより実行される処理は同じであるため、以下に、図3乃至図9を用いて、CUPSフィルタ32のフローが実行される際の処理を説明する。
まず、CUPSフィルタ32は、CUPSサーバ30により出力された印刷ジョブを取得する(S100)。次に、CUPSフィルタ32は、取得した印刷ジョブをデータ記憶領域34に記憶する(S102)。そして、CUPSフィルタ32は、SWを「N」にセットする(S103)。SWは、ジョブ単位若しくは、ユーザ単位のバナーページの挿入が設定されているか否かを示すフラグであり、SW=「N」は、ジョブ単位及び、ユーザ単位のバナーページの挿入の何れも実行しないことを示す。
そして、CUPSフィルタ32は、プリンタ80との通信をオープンする指示をOSに送信する(S104)。次に、CUPSフィルタ32は、プリンタ側累積枚数および、ステータス情報をプリンタ80から取得する(S105)。続いて、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、ユーザ単位のバナーページ設定がONに設定されているか否か、つまり、ユーザ単位のバナーページの挿入が設定されているか否かを判断する(S106)。
そして、ユーザ単位のバナーページ設定がONに設定されている場合(S106:YES)に、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブに含まれるユーザIDを取得し、そのユーザIDが「guest」であるか否かを判断する(S108)。この際、ユーザIDが「guest」である場合(S108:YES)に、CUPSフィルタ32は、SWを「U」にセットする(S118)。そして、S120に進む。なお、SW=「U」は、ユーザ単位のバナーページの挿入を実行することを示す。
また、ユーザIDが「guest」でない場合(S108:NO)に、CUPSフィルタ32は、今回のジョブユーザが前回のジョブユーザと同じであるか否かを判断する(S110)。そして、今回のジョブユーザが前回のジョブユーザと異なる場合(S110:NO)に、CUPSフィルタ32は、SWを「U」にセットする(S118)。そして、S120に進む。
また、今回のジョブユーザが前回のジョブユーザと同じ場合(S110:YES)に、CUPSフィルタ32は、データ記憶領域34からPC側累積枚数を取得する(S112)。そして、CUPSフィルタ32は、S105で取得したプリンタ側累積枚数と、S112で取得したPC側累積枚数とが同じであるか否かを判断する(S114)。この際、プリンタ側累積枚数とPC側累積枚数とが異なる場合(S114:NO)に、CUPSフィルタ32は、プリンタ側累積枚数がPC側累積枚数より多いか否かを判断する(S124)。そして、プリンタ側累積枚数がPC側累積枚数より多い場合(S124:YES)に、CUPSフィルタ32は、SWを「U」にセットする(S118)。そして、S120に進む。
一方、プリンタ側累積枚数がPC側累積枚数より少ない場合(S124:NO)に、CUPSフィルタ32は、プリンタ80との通信インタフェースがUSBI/F20であるか否かを判断する(S126)。そして、プリンタ80との通信インタフェースがUSBI/F20でない場合(S126:NO)に、CUPSフィルタ32は、SWを「U」にセットする(S118)。そして、S120に進む。一方、プリンタ80との通信インタフェースがUSBI/F20である場合(S126:YES)に、S122に進む。
また、S114でプリンタ側累積枚数とPC側累積枚数とが同じ場合(S114:YES)に、CUPSフィルタ32は、S105で取得したステータス情報に基づいて、プリンタ80の状態が、印刷ジョブを受け付けている状態か否かを判断する(S116)。そして、プリンタ80の状態が、印刷ジョブを受け付けている状態の場合、すなわち印刷中か印刷ジョブの受信中である場合、(S116:YES)に、CUPSフィルタ32は、SWを「U」にセットする(S118)。そして、S120に進む。一方、プリンタ80の状態が、印刷ジョブを受け付けていない状態である場合(S116:NO)に、S122に進む。なお、S106でユーザ単位のバナーページ設定がOFFに設定されている場合(S106:NO)にも、S122に進む。
そして、S122において、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、ジョブ単位のバナーページ設定がONに設定されているか否か、つまり、ジョブ単位のバナーページの挿入が設定されているか否かを判断する(S122)。そして、ジョブ単位のバナーページ設定がONに設定されている場合(S122:YES)に、CUPSフィルタ32は、SWを「J」にセットする(S128)。そして、S120に進む。また、ジョブ単位のバナーページ設定がOFFに設定されている場合(S122:NO)に、S128の処理がスキップされ、S120に進む。なお、SW=「J」は、ジョブ単位のバナーページの挿入を実行することを示す。
そして、S120において、CUPSフィルタ32は、SWが「N」にセットされているか否かを判断する(S120)。この際、SWが「N」にセットされていない場合(S120:NO)、つまり、SWが「U」若しくは、「J」にセットされている場合に、バナーページ印刷サブルーチンが実行される(S130)。
バナーページ印刷サブルーチンでは、図6に示すように、CUPSフィルタ32は、SWが「J」にセットされているか否かを判断する(S200)。この際、SWが「J」にセットされている場合(S200:YES)に、CUPSフィルタ32は、ジョブ単位のバナーページの設定を読み取る(S202)。つまり、データ記憶領域34に記憶されている印刷ジョブに含まれる設定条件情報から、ジョブ単位のバナーページの設定に関する情報を読み取る。そして、CUPSフィルタ32は、読み取った情報に基づいて、バナーページに印刷される画像がユーザ設定画像に設定されているか否かを判断する(S204)。
この際、バナーページに印刷される画像がユーザ設定画像に設定されていない場合(S204:NO)、つまり、バナーページに印刷される画像が第1設定画像、若しくは、第2設定画像に設定されている場合に、CUPSフィルタ32は、サーバPC、つまり、PC10のメモリ14から第1設定画像、若しくは、第2設定画像の画像データを取得する(S206)。そして、S208に進む。
また、バナーページに印刷される画像がユーザ設定画像に設定されている場合(S204:YES)、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブの依頼主がクライアントPCであるか否かを判断する(S210)。つまり、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブに含まれるユーザIDが、PC82若しくは、PC86を示しているか否かを判断する。または、印刷ジョブの依頼主を示す情報が印刷ジョブに含まれていれば、その情報を基に判断することも可能である。この際、データ記憶領域34に記憶されている印刷ジョブの依頼主がサーバPCである場合(S210:NO)、つまり、印刷ジョブに含まれるユーザIDがPC10を示している場合に、CUPSフィルタ32は、サーバPC、つまり、PC10のメモリ14からユーザ設定画像の画像データを取得する(S212)。そして、S208に進む。
一方、データ記憶領域34に記憶されている印刷ジョブの依頼主がクライアントPCである場合(S210:YES)、つまり、印刷ジョブに含まれるユーザIDがPC82,86を示している場合に、CUPSフィルタ32は、クライアントPC、つまり、PC82,86のCIFS/Samba共有領域98からユーザ設定画像の画像データを取得する(S214)。そして、CUPSフィルタ32は、クライアントPCから画像データを取得できたか否かを判断する(S216)。この際、CUPSフィルタ32は、クライアントPCから画像データを取得できなかった場合(S216:NO)に、エラー処理を実行し(S218)、S208に進む。一方、CUPSフィルタ32は、クライアントPCから画像データを取得できた場合(S216:YES)に、S218の処理をスキップし、S208に進む。
そして、S208において、CUPSフィルタ32は、S202で読み取った情報に基づいて、バナーページの給紙トレイがユーザ設定とされているか否かを判断する(S208)。この際、バナーページの給紙トレイがユーザ設定とされていない場合(S208:NO)に、CUPSフィルタ32は、印刷ジョブ中に指定されている印刷用紙の給紙トレイ設定をトレイ情報として取得する(S220)。そして、S232に進む。
また、バナーページの給紙トレイがユーザ設定とされている場合(S208:YES)に、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブの依頼主がクライアントPCであるか否かを判断する(S222)。この際、データ記憶領域34に記憶されている印刷ジョブの依頼主がサーバPCである場合(S222:NO)に、CUPSフィルタ32は、サーバPC、つまり、PC10のメモリ14からトレイ情報を取得する(S224)。そして、S232に進む。
一方、データ記憶領域34に記憶されている印刷ジョブの依頼主がクライアントPCである場合(S222:YES)に、CUPSフィルタ32は、クライアントPC、つまり、PC82,86のCIFS/Samba共有領域98からトレイ情報を取得する(S226)。そして、CUPSフィルタ32は、クライアントPCからトレイ情報を取得できたか否かを判断する(S228)。この際、CUPSフィルタ32は、クライアントPCからトレイ情報を取得できなかった場合(S228:NO)に、エラー処理を実行し(S230)、S232に進む。一方、CUPSフィルタ32は、クライアントPCからトレイ情報を取得できた場合(S228:YES)に、S230の処理をスキップし、S232に進む。
そして、S232において、CUPSフィルタ32は、バナーページの印刷指示を、バナーページに印刷される画像の画像データおよび、トレイ情報とともに、プリンタ80に送信する(S232)。これにより、バナーページ印刷サブルーチンが終了する。
また、S200において、SWが「J」にセットされていない場合(S200:NO)、つまり、SWが「U」にセットされている場合に、CUPSフィルタ32は、ユーザ単位のバナーページの設定を読み取る(S250)。つまり、データ記憶領域34に記憶されている印刷ジョブに含まれる設定条件情報から、ユーザ単位のバナーページの設定に関する情報を読み取る。そして、CUPSフィルタ32は、S252~S278の処理を実行するが、S252~S278の処理は、先に説明したS204~S230の処理のジョブ単位のバナーページに対する説明をユーザ単位のバナーページに対する説明に読み替えた場合と同じである。このため、S252~S278の処理の説明は省略する。そして、S252~S278の処理の処理が終了すると、S232において、CUPSフィルタ32は、バナーページの印刷指示を、バナーページに印刷される画像の画像データおよび、トレイ情報とともに、プリンタ80に送信する(S232)。これにより、バナーページ印刷サブルーチンが終了する。
そして、バナーページ印刷サブルーチンが終了すると、メインルーチンに戻り、S132に進む。なお、S120において、SWが「N」にセットされている場合(S120:YES)にも、S132に進む。S132では、CUPSフィルタ32は、通常ページの印刷指示をプリンタ80に送信する(S132)。この際、CUPSフィルタ32は、印刷対象画像データをPDLデータ等のプリンタ80により処理可能な印刷データに変換し、PDLデータと、設定条件情報に含まれる印刷設定に関する情報とを、印刷指示とともにプリンタ80に送信し、データ記憶領域34の印刷ジョブを削除する。次に、CUPSフィルタ32は、データ記憶領域34に記憶されているPC側累積枚数を更新する(S134)。つまり、プリンタ80に送信した印刷指示に基づいて実行される印刷処理において印刷される印刷用紙の枚数を、S105で取得したプリンタ側累積枚数に加算し、その換算した枚数を、PC側累積枚数として更新する。そして、CUPSフィルタ32は、クローズコマンド、つまり、プリンタ80との通信をクローズする指示をOSに送信し(S136)、本フローが終了する。
<第2実施形態>
上記第1実施形態では、プリンタ側累積枚数とPC側累積枚数とに基づいて、CUPSフィルタ32,72が、ユーザ単位のバナーページの挿入の有無を判断していたが、第2実施形態では、プリンタ80に記憶されている印刷履歴情報に基づいて、CUPSフィルタ32,72が、ユーザ単位のバナーページの挿入の有無を判断する。
具体的に、第2実施形態のプリンタ80は、課金管理、業務管理などを目的とした印刷履歴として印刷履歴情報を記憶する機能を有している。印刷履歴情報はプリンタ80で印刷可能であるとともに、通常はEWS(embeddedweb server)の機能を用いたネットワークのhttpプロトコルやファイル共有のSMBプロトコルなどによりPCに送信可能に構成されている。この機能はネットワークプリンタにおいてはよく知られたものである。印刷ジョブを受信する毎に、図10に示す印刷履歴情報を累積的に記憶している。印刷履歴情報は、印刷処理が実行された日時を示すサブミット時間と、印刷ジョブをプリンタ80に送信した装置、例えば、PC10のIPアドレスと、印刷ジョブの作成元を示すユーザIDと、印刷ジョブの名前を示すジョブ名と、ステータス情報と、設定条件情報に含まれる印刷用紙のサイズを示すサイズ情報とを含む。なお、プリンタ80では、所定数の印刷履歴情報を記憶した場合に、古い印刷履歴情報、つまり、記憶されてから最も時間が経過している印刷履歴情報が消去される。
また、PC10のCUPSフィルタ32は、第1実施形態と同様に、CUPSサーバ30から印刷ジョブを受け付けると、その印刷ジョブをデータ記憶領域34に記憶する。そして、CUPSフィルタ32は、プリンタ80に記憶されている全ての印刷履歴情報を、プリンタ80から取得する。ちなみに、CUPSフィルタ32は、SMB若しくは、HTTPのEWSを利用して、プリンタ80から印刷履歴情報を取得する。CUPSフィルタ32は、印刷履歴情報を取得すると、印刷履歴情報のうちデータ記憶領域34に記憶されている印刷ジョブの直前に印刷される印刷ジョブの印刷履歴情報(以下、「最新印刷履歴情報」と記載する)を抽出する。具体的には取得した印刷履歴情報の中にステータスが「印字中」および「待機中」のものが無い場合は、最後に印刷された印刷ジョブの履歴情報が最新印刷履歴情報となる。また印刷履歴情報の中にステータスが「印字中」および「待機中」のものがある場合は、最後に印刷されるようにスケジュールされた印刷ジョブ(通常は最後に受け付けた印刷ジョブ)の印刷履歴情報が最新印刷履歴情報となる。そして、CUPSフィルタ32は、最新印刷履歴情報に含まれるユーザID(以下、「最新ユーザID」と記載する)(第1識別情報の一例)を特定する。
また、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブ、つまり、印刷予定の印刷ジョブに含まれるユーザID(以下、「印刷予定ユーザID」と記載する)(第2識別情報の一例)を特定する。そして、CUPSフィルタ32は、ユーザ単位のバナーページの挿入が設定されている場合に、最新ユーザIDと印刷予定ユーザIDとが同じであるか否かを判断する。
この際、最新ユーザIDと印刷予定ユーザIDとが同じである場合には、印刷予定の印刷ジョブの作成元と、プリンタ80において最後に実行された印刷ジョブの印刷元とが同じである。つまり、例えば、PC82で作成された印刷ジョブが印刷予定の印刷ジョブである場合に、プリンタ80において直近で実行された印刷ジョブが、PC82により作成されたものである。このような場合に、印刷予定の印刷ジョブが、プリンタ80に送信されると、その印刷ジョブ、つまり、PC82で作成された印刷ジョブは、先にプリンタ80に送信されているPC82で作成された印刷ジョブの後に実行されるため、印刷予定の印刷ジョブにおいて、ユーザ単位のバナーページを挿入する必要はない。そこで、最新ユーザIDと印刷予定ユーザIDとが同じである場合に、CUPSフィルタ32は、印刷ジョブとして、ユーザ単位のバナーページの印刷指示をプリンタ80に送信することなく、通常ページの印刷指示をプリンタ80に送信する。
一方、最新ユーザIDと印刷予定ユーザIDとが異なる場合において、印刷予定の印刷ジョブの作成元と、プリンタ80において直近で実行された印刷ジョブの印刷元とが異なる。つまり、例えば、PC82で作成された印刷ジョブが印刷予定の印刷ジョブである場合に、プリンタ80において直近で実行された印刷ジョブは、PC10等のPC82と異なる装置により作成されたものである。このような場合に、印刷予定の印刷ジョブが、プリンタ80に送信されると、その印刷ジョブ、つまり、PC82で作成された印刷ジョブは、PC10等のPC82と異なる装置からプリンタ80に送信されている印刷ジョブの後に実行されるため、印刷予定の印刷ジョブにおいて、ユーザ単位のバナーページを挿入する必要がある。そこで、最新ユーザIDと印刷予定ユーザIDとが異なる場合に、CUPSフィルタ32は、印刷ジョブとして、ユーザ単位のバナーページの印刷指示をプリンタ80に送信した後に、通常ページの印刷指示をプリンタ80に送信する。これにより、第1実施形態と同様の効果を奏することが可能となる。
なお、第2実施形態において、ジョブ単位のバナーページの挿入が設定されている場合に、第1実施形態とほぼ同様の処理が実行されるが、第2実施形態では、通常ページの用紙サイズ、つまり、印刷対象画像データに基づく画像が印刷される印刷用紙の用紙サイズに応じて、ジョブ単位のバナーページの挿入を無効にすることができる。
詳しくは、印刷ジョブが実行されるPCでは、上述したように、そのPCのLCDに設定画面100が表示される。この設定画面100に、第2実施形態では、印刷条件設定プルダウンメニュー102a~c及び、バナーページ設定プルダウンメニュー106a~cだけでなく、用紙サイズに応じてジョブ単位のバナーページの挿入をキャンセルするためのキャンセルボタン(図示省略)も表示される。そして、このキャンセルボタンが操作されると、用紙サイズに応じてジョブ単位のバナーページの挿入を無効にするための設定(以下、「無効設定」と記載する)がONに設定され、そのことを示す情報が、設定条件情報に含まれる。
また、CUPSフィルタ32は、印刷ジョブをプリンタ80に送信する前に、第1実施形態と同様に、ジョブ単位のバナーページの挿入が設定されているか否かを判断する。そして、第1実施形態では、ジョブ単位のバナーページの挿入が設定されている場合に、CUPSフィルタ32は、ジョブ単位のバナーページの印刷指示を送信していたが、第2実施形態では、ジョブ単位のバナーページの挿入が設定されている場合に、CUPSフィルタ32は、設定条件情報に基づいて、無効設定がONに設定されているか否かを判断する。そして、無効設定がONに設定されている場合に、CUPSフィルタ32は、印刷予定の印刷ジョブに基づく印刷処理時の印刷用紙のサイズ(以下、「印刷予定用紙サイズ」と記載する)と、プリンタ80において直近で実行された印刷処理時の印刷用紙のサイズ(以下、「実行済み最新用紙サイズ」と記載する)とが同じであるか否かを判断する。
つまり、CUPSフィルタ32は、データ記憶領域34に記憶されている印刷ジョブに含まれる設定条件情報に基づいて、通常ページの印刷用紙を、印刷予定用紙サイズとして取得する。また、CUPSフィルタ32は、最新印刷履歴情報に含まれるサイズ情報を、実行済み最新用紙サイズとして取得する。そして、CUPSフィルタ32は、印刷予定用紙サイズと実行済み最新用紙サイズとが同じであるか否かを判断する。
この際、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合において、印刷予定の印刷ジョブに基づいて印刷される印刷用紙のサイズと、その印刷予定の印刷ジョブの前にプリンタ80で実行されている印刷ジョブに基づいて印刷された印刷用紙のサイズとは、異なる。このような場合には、印刷ジョブと印刷ジョブとの間に、バナーページが挿入されなくても、先に実行された印刷ジョブと、その印刷ジョブの後に実行された印刷ジョブとは、用紙サイズの相違によって、容易に区分けすることができる。そこで、ジョブ単位のバナーページの挿入が設定されている場合であっても、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合は、ジョブ単位のバナーページの挿入は実行されない。これにより、無駄なバナーページの使用を抑制することができる。
一方、印刷予定用紙サイズと実行済み最新用紙サイズとが同じ場合において、印刷予定の印刷ジョブに基づいて印刷される印刷用紙のサイズと、その印刷予定の印刷ジョブの前にプリンタ80で実行されている印刷ジョブに基づいて印刷された印刷用紙のサイズとは、同じである。このような場合には、先に実行された印刷ジョブと、その印刷ジョブの後に実行された印刷ジョブとを、用紙サイズの相違によって区分けすることはできない。そこで、ジョブ単位のバナーページの挿入が設定されており、印刷予定用紙サイズと実行済み最新用紙サイズとが同じ場合に、ジョブ単位のバナーページの挿入は実行される。これにより、用紙サイズの相違によって区分けすることのできない印刷ジョブを、バナーページによって、容易に区分けすることができる。
なお、上述した第2実施形態におけるバナーページの挿入の有無の判断等の処理は、図11及び図12に示すフローに従って、CUPSフィルタ32,72により実行される。なお、CUPSフィルタ32とCUPSフィルタ72とにより実行される処理は同じであるため、以下に、CUPSフィルタ32のフローが実行される際の処理を説明する。
まず、CUPSフィルタ32は、CUPSサーバ30により出力された印刷ジョブを取得し(S300)、取得した印刷ジョブをデータ記憶領域34に記憶する(S302)。そして、CUPSフィルタ32は、フラグA及びフラグBを「0」にセットする(S304)。フラグAは、ユーザ単位のバナーページの挿入が設定されているか否かを示すフラグであり、フラグBは、ジョブ単位のバナーページの挿入が設定されているか否かを示すフラグである。そして、フラグA=「0」は、ユーザ単位のバナーページの挿入を実行しないことを示し、フラグB=「0」は、ジョブ単位のバナーページの挿入を実行しないことを示す。
次に、CUPSフィルタ32は、プリンタ80との通信をオープンする指示をOSに送信する(S306)。続いて、CUPSフィルタ32は、印刷履歴情報をプリンタ80から取得し(S308)取得した印刷履歴情報から最新印刷履歴情報を抽出する(S310)。そして、CUPSフィルタ32は、ユーザ単位のバナーページ設定がONに設定されているか否か、つまり、ユーザ単位のバナーページの挿入が設定されているか否かを判断する(S312)。
この際、ユーザ単位のバナーページ設定がONに設定されている場合(S312:YES)に、CUPSフィルタ32は、印刷予定ユーザIDを特定する(S314)。そして、CUPSフィルタ32は、印刷予定の印刷ジョブのユーザと、最新印刷履歴情報の印刷ジョブのユーザとが同じであるか否かを判断する(S316)。つまり、CUPSフィルタ32は、最新ユーザIDと印刷予定ユーザIDとが同じであるか否かを判断する。そして、最新ユーザIDと印刷予定ユーザIDとが異なる場合(S316:NO)に、CUPSフィルタ32は、フラグAを「1」にセットする(S318)。フラグA=「1」は、ユーザ単位のバナーページの挿入を実行することを示す。そして、S320に進む。一方、最新ユーザIDと印刷予定ユーザIDとが同じ場合(S316:YES)に、S318の処理がスキップされ、S320に進む。なお、ユーザ単位のバナーページ設定がONに設定されていない場合(S312:NO)にもS320に進む。
そして、S320において、CUPSフィルタ32は、ジョブ単位のバナーページ設定がONに設定されているか否か、つまり、ジョブ単位のバナーページの挿入が設定されているか否かを判断する(S320)。この際、ジョブ単位のバナーページ設定がONに設定されている場合(S320:YES)に、CUPSフィルタ32は、無効設定がONに設定されているか否かを判断する(S322)。そして、無効設定がONに設定されている場合(S322:YES)に、CUPSフィルタ32は、印刷予定用紙サイズと実行済み最新用紙サイズとを特定し、印刷予定用紙サイズと実行済み最新用紙サイズとが同じであるか否かを判断する(S323)。
この際、印刷予定用紙サイズと実行済み最新用紙サイズとが同じである場合(S323:YES)に、S324に進む。また、S322において、無効設定がONに設定されていない場合(S322:NO)にも、S324に進む。そして、S324において、CUPSフィルタ32は、フラグBを「1」にセットする(S324)。フラグB=「1」は、ジョブ単位のバナーページの挿入を実行することを示す。そして、S326に進む。また、S320において、ジョブ単位のバナーページ設定がOFFに設定されている場合(S320:NO)、および、S323において、印刷予定用紙サイズと実行済み最新用紙サイズとが異なる場合(S323:NO)に、S326に進む。
そして、S326において、CUPSフィルタ32は、フラグAとフラグBとが、共に0にセットされているか否かを判断する(S326)。この際、フラグAとフラグBとが、共に0にセットされていない場合(S326:NO)に、バナーページ印刷サブルーチンが実行される(S328)。このバナーページ印刷サブルーチンは、図6乃至図9に示すサブルーチン、つまり、第1実施形態のバナーページ印刷サブルーチンと略同じであるため、異なるステップのみを説明する。
まず、第2実施形態のバナーページ印刷サブルーチンでは、S200において、CUPSフィルタ32が、フラグBが「1」にセットされているか否かを判断する。そして、フラグBが「1」にセットされている場合に、S202以降の処理が実行される。一方、フラグBが「0」にセットされている場合、すなわちフラグAが「1」にセットされている場合に、S250以降の処理が実行される。
そして、バナーページ印刷サブルーチンが終了すると、メインルーチンに戻り、S330に進む。なお、S326において、フラグAとフラグBとが、共に0にセットされている場合(S326:YES)にも、S330に進む。S330では、CUPSフィルタ32は、通常ページの印刷指示をプリンタ80に送信する(S330)。そして、CUPSフィルタ32が、プリンタ80との通信をクローズする指示をOSに送信し(S332)、本フローが終了する。
なお、S105を実行するCPU12は、第1枚数取得手段の一例である。S112を実行するCPU12は、第2枚数取得手段の一例である。S114を実行するCPU12は、判断手段の一例である。S134を実行するCPU12は、記憶制御手段の一例である。S132,S232,S330を実行するCPU12は、送信手段の一例である。S214を実行するCPU12は、印刷データ取得手段の一例である。S226を実行するCPU12は、トレイ情報取得手段の一例である。S302を実行するCPU12は、記憶制御手段の一例である。S310を実行するCPU12は、第1情報取得手段の一例である。S314を実行するCPU12は、第2情報取得手段の一例である。S316を実行するCPU12は、判断手段の一例である。
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、ジョブ単位のバナーページに対して無効設定が設定されているが、ユーザ単位のバナーページに対して無効設定が設定されてもよい。
また、上記実施形態では、CPU12によって図3乃至図9、図11、図12に示す処理が実行される例を説明したが、これら処理は、CPU12に限らず、ASICや他の論理集積回路により実行されてもよいし、これら処理が、CPU等やASIC、他の論理集積回路が協働することにより実行されてもよい。また、上記実施形態では、他の印刷ジョブの境界を仕切る仕切り紙としてバナーページを挿入する例を説明したが、これに限らず、仕切り紙として白紙を挿入するようにしてもよい。
10:PC、12:CPU、32:CUPSフィルタ、50:PC、52:CPU、72:CUPSフィルタ、80:プリンタ

Claims (9)

  1. プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
    前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第1累積枚数を記憶するように構成されており、
    前記コンピュータを、
    前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、
    前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第1累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第1枚数取得手段と、
    前記プリンタにより印刷ジョブが送信された後に、前記第1枚数取得手段により取得された第1累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第2累積枚数を、前記記憶部に記憶させる記憶制御手段と、
    前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第2累積枚数を前記記憶部から取得する第2枚数取得手段と、
    前記第1枚数取得手段により取得された第1累積枚数と、前記第2枚数取得手段により取得された第2累積枚数とが一致するか否かを判断する判断手段と、
    して機能させ、
    前記送信手段は、
    前記判断手段により第1累積枚数と第2累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする制御プログラム。
  2. 前記送信手段は、
    前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断された場合であっても、前記通信インタフェースがUSBインタフェースであれば、前記仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項1に記載の制御プログラム。
  3. 前記送信手段は、
    前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断され、かつ、前記通信インタフェースがネットワークインタフェースであれば、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項1又は2に記載の制御プログラム。
  4. 前記送信手段は、
    前記判断手段により第1累積枚数と第2累積枚数とが一致すると判断された場合であっても、前記プリンタが待機状態でなければ、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項1乃至3の何れか1項に記載の制御プログラム。
  5. プリンタと通信可能な通信インタフェースと、記憶部とを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
    前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、
    前記コンピュータを、
    前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、
    前記プリンタに記憶されている識別情報のうちの最後に印刷される第1識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第1情報取得手段と、
    前記記憶制御手段により前記記憶部に記憶された識別情報である第2識別情報を前記記憶部から取得する第2情報取得手段と、
    前記第1情報取得手段により取得された第1識別情報と、前記第2情報取得手段により取得された第2識別情報とが一致するか否かを判断する判断手段と、
    前記判断手段により第1識別情報と第2識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1識別情報と第2識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、
    して機能させることを特徴とする制御プログラム。
  6. 前記コンピュータを、
    前記送信手段により送信される印刷ジョブが、前記情報処理装置と異なる装置である第2情報処理装置から受信したものであり、前記送信手段が前記仕切り紙を挿入することを示す印刷ジョブを送信する場合に、当該仕切り紙に印刷するための印刷データを前記第2情報処理装置から取得する印刷データ取得手段として機能させ、
    前記送信手段は、
    前記仕切り紙を挿入することを示す印刷ジョブとともに、前記印刷データ取得手段が取得した印刷データを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項1乃至5の何れか1項に記載の制御プログラム。
  7. 前記コンピュータを、
    前記送信手段により送信される印刷ジョブが、前記情報処理装置と異なる装置である第2情報処理装置から受信したものであり、前記送信手段が前記仕切り紙を挿入することを示す印刷ジョブを送信する場合に、当該仕切り紙を収容する給紙トレイを指定するトレイ情報を、前記第2情報処理装置から取得するトレイ情報取得手段として機能させ、
    前記送信手段は、
    前記仕切り紙を挿入することを示す印刷ジョブとともに、前記トレイ情報取得手段が取得したトレイ情報を、前記通信インタフェースを介して前記プリンタに送信することを特徴とする請求項1乃至6の何れか1項に記載の制御プログラム。
  8. プリンタと通信可能な通信インタフェースと、
    記憶部と、
    制御部と、
    を備える情報処理装置であって、
    前記プリンタは、印刷ジョブを受信する毎に、印刷ジョブに基づく印刷処理を実行するとともに、印刷処理により印刷された印刷用紙の枚数が累積的に加算された累積枚数である第1累積枚数を記憶するように構成されており、
    前記制御部
    前記プリンタに印刷ジョブを、前記通信インタフェースを介して送信する送信手段と、
    前記送信手段により印刷ジョブが送信される前に、前記プリンタに記憶されている第1累積枚数を、前記通信インタフェースを介して、前記プリンタから取得する第1枚数取得
    手段と、
    前記プリンタにより印刷ジョブが送信された後に、前記第1枚数取得手段により取得された第1累積枚数に、当該印刷ジョブに基づいて印刷される印刷用紙の枚数を加算し、加算された枚数である第2累積枚数を、前記記憶部に記憶させる記憶制御手段と、
    前記送信手段により印刷ジョブが送信される前に、前記記憶部に記憶された第2累積枚数を前記記憶部から取得する第2枚数取得手段と、
    前記第1枚数取得手段により取得された第1累積枚数と、前記第2枚数取得手段により取得された第2累積枚数とが一致するか否かを判断する判断手段と、
    して機能
    前記送信手段は、
    前記判断手段により第1累積枚数と第2累積枚数とが一致すると判断された場合に、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1累積枚数と第2累積枚数とが一致しないと判断された場合に、前記仕切り紙を挿入することを示す印刷ジョブを、前記通信インタフェースを介して前記プリンタに送信することを特徴とする情報処理装置。
  9. プリンタと通信可能な通信インタフェースと、
    記憶部と、
    制御部と、
    を備える情報処理装置であって、
    前記プリンタは、印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを受信すると、当該印刷ジョブに基づく印刷処理を実行するとともに、当該識別情報を記憶するように構成されており、
    前記制御部
    前記プリンタに送信予定の印刷ジョブと、当該印刷ジョブの作成元を識別可能な識別情報とを前記記憶部に記憶させる記憶制御手段と、
    前記プリンタに記憶されている識別情報のうちの最後に印刷される第1識別情報を、前記通信インタフェースを介して、前記プリンタから取得する第1情報取得手段と、
    前記記憶制御手段により前記記憶部に記憶された識別情報である第2識別情報を前記記憶部から取得する第2情報取得手段と、
    前記第1情報取得手段により取得された第1識別情報と、前記第2情報取得手段により取得された第2識別情報とが一致するか否かを判断する判断手段と、
    前記判断手段により第1識別情報と第2識別情報とが一致すると判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、他の印刷ジョブとの境界を示す仕切り紙を挿入しないことを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信し、前記判断手段により第1識別情報と第2識別情報とが一致しないと判断された場合に、前記記憶制御手段により記憶された印刷ジョブを、前記仕切り紙を挿入することを示す印刷ジョブとして、前記通信インタフェースを介して前記プリンタに送信する送信手段と、
    して機能することを特徴とする情報処理装置。
JP2017249424A 2017-12-26 2017-12-26 制御プログラム及び、情報処理装置 Active JP6992496B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017249424A JP6992496B2 (ja) 2017-12-26 2017-12-26 制御プログラム及び、情報処理装置
US16/225,052 US10409534B2 (en) 2017-12-26 2018-12-19 Information processing apparatus capable of communicating with printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017249424A JP6992496B2 (ja) 2017-12-26 2017-12-26 制御プログラム及び、情報処理装置

Publications (2)

Publication Number Publication Date
JP2019114200A JP2019114200A (ja) 2019-07-11
JP6992496B2 true JP6992496B2 (ja) 2022-01-13

Family

ID=66950345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017249424A Active JP6992496B2 (ja) 2017-12-26 2017-12-26 制御プログラム及び、情報処理装置

Country Status (2)

Country Link
US (1) US10409534B2 (ja)
JP (1) JP6992496B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7354731B2 (ja) * 2019-09-27 2023-10-03 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
CN111176591B (zh) * 2020-01-03 2024-05-24 深信服科技股份有限公司 基于cups系统的打印审计方法、装置、设备及介质
JP2022032183A (ja) * 2020-08-11 2022-02-25 セイコーエプソン株式会社 サーバー及び印刷システム
CN112799614B (zh) * 2021-01-25 2024-05-10 珠海奔图电子有限公司 基于cups系统的打印控制方法及打印控制装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000326567A (ja) 1999-05-19 2000-11-28 Nec Corp 区切りページ出力方法とプリンタ装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61192662A (ja) * 1985-02-20 1986-08-27 Ricoh Co Ltd 用紙仕分け装置
DE69429761T2 (de) * 1993-11-16 2002-06-06 Fujitsu Ltd Netzwerkdrucker
JPH1184948A (ja) * 1997-09-02 1999-03-30 Minolta Co Ltd 画像形成装置
EP1783597A3 (en) * 1999-11-02 2007-10-03 Canon Kabushiki Kaisha Image processing apparatus and system and control method therefor, image data processing method, image forming apparatus and control method therefor, controller, and storage medium
JP2003029945A (ja) 2001-07-19 2003-01-31 Canon Inc 情報処理装置および印刷制御装置および印刷制御方法および記憶媒体
JP2008073901A (ja) 2006-09-20 2008-04-03 Ricoh Co Ltd 画像形成装置、画像形成制御プログラム及び記録媒体
JP2009230515A (ja) 2008-03-24 2009-10-08 Fuji Xerox Co Ltd 印刷ジョブ制御装置及び印刷ジョブ制御プログラム
JP4973691B2 (ja) 2009-05-27 2012-07-11 ブラザー工業株式会社 プログラム、印刷システム
JP2013069109A (ja) * 2011-09-22 2013-04-18 Sharp Corp 印刷システムおよび印刷方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000326567A (ja) 1999-05-19 2000-11-28 Nec Corp 区切りページ出力方法とプリンタ装置

Also Published As

Publication number Publication date
JP2019114200A (ja) 2019-07-11
US10409534B2 (en) 2019-09-10
US20190196765A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
JP6992496B2 (ja) 制御プログラム及び、情報処理装置
US9323480B2 (en) Image forming system, print data management device, and method of controlling print data management device
EP2085872B1 (en) Image forming apparatus, print control method and control program
JP5676991B2 (ja) 画像形成装置、ジョブログ管理方法、及びプログラム
US11842100B2 (en) Server system, information processing apparatus communicating with server system, control method, and computer-readable storage medium
JP2008036999A (ja) 画像形成装置及び画像形成システム
EP3312716B1 (en) Printing managing apparatus and program
JP4109821B2 (ja) 情報処理装置及びジョブの処理結果確認方法
US8130399B2 (en) Print management apparatus and print management system with plural image forming apparatuses and a designating section that designates one of the image forming apparatuses for printing
JP2013073369A (ja) 印刷制御システム、印刷制御方法、画像処理装置、及び印刷制御プログラム
US20060007487A1 (en) Printer, control method, program and recording medium
US8665478B2 (en) Printing system, control method of the same, print server, control method of the print server, and storage medium
JP6512902B2 (ja) 画像処理装置、その制御方法及び制御プログラム
US20120320418A1 (en) Image processing system including first image processing apparatus, second image processing apparatus and display device
US11593049B2 (en) Printer, non-transitory computer readable medium, and print system for executing printing considering limited functions
JP2006195531A (ja) 画像記録システム
CN109558094B (zh) 信息处理装置、图像形成装置确定方法以及存储介质
JP2007072711A (ja) オンデマンド印刷監視システム、オンデマンド印刷監視方法、オンデマンド印刷監視プログラムおよびオンデマンド印刷装置
JP2015018309A (ja) 印刷ジョブ管理方法、印刷ジョブ管理プログラム、記録媒体、およびデジタル印刷装置
JP3829798B2 (ja) 画像形成装置およびプログラム
US9262109B2 (en) Print instruction apparatus, printing system, and non-transitory computer readable medium
JP2008257624A (ja) 印刷システム
JP2009003621A (ja) 印刷装置及び分散印刷制御装置
JP4586400B2 (ja) 画像形成ジョブ管理システム、ジョブ情報リスト表示方法、コンピュータが読み取り可能な記録媒体およびプログラム
JP7047531B2 (ja) プログラムおよび情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6992496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150