JP4194593B2 - 印刷制御装置及びその制御方法と記憶媒体 - Google Patents

印刷制御装置及びその制御方法と記憶媒体 Download PDF

Info

Publication number
JP4194593B2
JP4194593B2 JP2005321399A JP2005321399A JP4194593B2 JP 4194593 B2 JP4194593 B2 JP 4194593B2 JP 2005321399 A JP2005321399 A JP 2005321399A JP 2005321399 A JP2005321399 A JP 2005321399A JP 4194593 B2 JP4194593 B2 JP 4194593B2
Authority
JP
Japan
Prior art keywords
printer driver
function
job accounting
printed sheets
print
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.)
Expired - Fee Related
Application number
JP2005321399A
Other languages
English (en)
Other versions
JP2006065889A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005321399A priority Critical patent/JP4194593B2/ja
Publication of JP2006065889A publication Critical patent/JP2006065889A/ja
Application granted granted Critical
Publication of JP4194593B2 publication Critical patent/JP4194593B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、例えばパーソナルコンピュータ等の情報処理とプリンタとを含むシステムにおける印刷制御方法および装置および媒体に関するものである。
近年、ネットワークに接続されたプリンタに対して、使用された用紙枚数を使用したユーザごとに計数し、そのデータをもとに課金などを行うジョブアカウンティングシステムが製品化されている。
ジョブアカウンティングシステムにおいては、ユーザ毎に印刷枚数等の課金情報が管理される。そのため、ユーザがジョブアカウンティングシステムに属するプリンタを使用する際には、システムにより認証されて初めて使用可能になるという仕組みが通常である。ユーザはIDやパスワードなどの認証情報を印刷ジョブの実行前にシステムに入力し、認証を受ける。
このジョブアカウンティングシステムをコンピュータにより実現する場合には、オペレーティングシステム(OS)の環境下で実現される。この際、OSの種類によっては、複数の権限レベルを定義できるが、ジョブアカウンティングの設定方法は単一の方法しか提供されていない。たとえば認証情報を保存可能にするかしないかを変更できる機能など、管理者に柔軟な運用方法を提供できていない。
また、たとえば複数の端末が属するネットワーク環境においてジョブアカウンティングを実現する場合には、各ユーザのジョブアカウンティングを集中的に管理することが望ましい。さらに、ジョブアカウンティング用のプログラムを有する端末と、有さない端末とが混在するシステムでは、端末によってはジョブアカウンティングの管理を行うことができない。
本発明は上記従来例に鑑みてなされたもので、サーバ装置の有するジョブアカウンティング機能を用いてジョブアカウンティングを実現することで、柔軟で一元的に管理できるジョブアカウンティング処理を実現する情報処理装置と印刷制御装置及び印刷制御方法を提供することを目的とする。また、プリンタ装置の有するジョブアカウンティング機能を用いてジョブアカウンティングを実現することで、柔軟で一元的に管理できることに加えて、クライアント端末にジョブアカウンティング処理用のプログラムが備えられていなくともジョブアカウンティング処理を実現できる情報処理装置と印刷制御装置及び印刷制御方法を提供することを目的とする。
上記目的を達成するために本発明は次のような構成からなる。すなわち、
プリンタドライバ及びジョブアカウンティングアプリケーションを実行する印刷制御装置であって、
前記印刷制御装置は、
前記ジョブアカウンティングアプリケーションが備えた、アプリケーションから発行された改ページ及び排紙の指示を数えることで印刷枚数を収集する機能を用いて印刷枚数の収集処理を行なう収集処理手段と、
前記プリンタドライバが印刷枚数を収集する機能を有しているか否か特定する特定手段と、
前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合に、前記プリンタドライバから、印刷枚数を示す印刷情報取得する取得手段と、
前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合には前記取得手段により取得した前記印刷枚数を示す印刷情報をサーバ装置に対して通知し、前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していないと特定された場合には前記収集処理手段により収集した印刷枚数をサーバ装置に対して通知する処理を制御する制御手段とを有し、
前記特定手段、取得手段、収集処理手段、制御手段は前記ジョブアカウンティングアプリケーションにより実現される
本発明によれば、サーバ装置の有するジョブアカウンティング機能を用いてジョブアカウンティングを実現することで、柔軟で一元的に管理できるジョブアカウンティング処理を実現できるという効果を奏する。また、プリンタ装置の有するジョブアカウンティング機能を用いてジョブアカウンティングを実現することで、柔軟で一元的な管理が可能であることに加えて、クライアント端末にジョブアカウンティング処理用のプログラムが備えられていなくともジョブアカウンティング処理を実現できるという効果を奏する。
[第1の実施の形態]
以下、本発明を適用するのに好適であるジョブアカウンティングシステムについて説明を行う。
<ジョブアカウンティングシステムの構成要素の概要>
図1は、ジョブアカウンティングシステムの一例を示す図である。このシステムは、クライアントとなるコンピュータ101,102と、ジョブアカウンティングサーバとなるコンピュータ1001と、従来のプリンタ103と、ジョブアカウンティング機能を有するプリンタ104とを含む。コンピュータ101,102では種々のアプリケーションプログラムが実行され、そのアプリケーションプログラムによる出力がプリンタ103あるいはプリンタ104により印刷される。このシステム全体を説明する前に、そのハードウエアあるいはソフトウエアの構成要素であるジョブアカウンティングサーバアプリケーション,ジョブアカウンティングクライアントアプリケーション,ジョブアカウンティング機能付きプリンタなどについて説明する。
(ジョブアカウンティング機能付きプリンタ)
ジョブアカウンティング機能付きプリンタは、通常の(従来の)プリンタとしての機能に加えて、印刷したページ数や用紙サイズ、両面・片面印刷の別、カラー・モノクローム印刷の別などをユーザ毎に蓄積・管理するジョブアカウンティング機能と、ユーザの認証を行う認証機能とを有する。ユーザの認証は、後述するジョブアカウンティングクライアントアプリケーションから送られてくる認証情報を、予め格納されているユーザ固有の情報と照合し、正式なユーザであることを認証するか否かを応答する機能である。
(従来のプリンタ)
従来のプリンタは、ジョブアカウンティング機能を持たず、受信した印刷データを基に印刷を遂行する。
(ジョブアカウンティングサーバアプリケーション)
ジョブアカウンティングサーバアプリケーションは、ジョブアカウンティング機能を持たない従来のプリンタに対して、ジョブアカウンティング機能つきプリンタが有するジョブアカウンティング機能と同様の機能を提供する。ジョブアカウンティングサーバアプリケーションはジョブアカウンティングサーバとして機能するサーバコンピュータ上で実行され、その機能はジョブアカウンティング機能付きプリンタから印刷機能を取り除いたものに相当する。
この機能は2つに大別できる。第1は、ユーザの認証機能、第2はジョブアカウンティング機能である。ユーザの認証機能はジョブアカウンティング機能付きプリンタと同様である。しかしながら、ジョブアカウンティングサーバアプリケーションは印刷機能を持たないため、ジョブアカウンティング情報を印刷しながら生成できない。そこで、ジョブアカウンティング機能については、ジョブアカウンティングクライアントアプリケーションから送信されるジョブアカウンティング情報を蓄積・管理するというものとなっている。
(ジョブアカウンティングクライアントアプリケーション)
ジョブアカウンティングクライアントアプリケーションは大別して2つの機能を有する。第1にユーザの認証機能である。ジョブアカウンティングクライアントアプリケーションはプリンタドライバから認証を要求されると、その要求とともに受信した認証情報をジョブアカウンティングサーバアプリケーション、あるいは、ジョブアカウンティング機能付きプリンタに送信し、認証結果を受信してプリンタドライバに返す。
第2は、ジョブアカウンティング情報の生成機能である。この機能は、使用するプリンタがジョブアカウンティング機能付きプリンタでない従来のプリンタである場合に限って遂行される。ジョブアカウンティングクライアントアプリケーションは、後述するようにして印刷に関する情報を取得し、その情報から印刷ページ数やサイズ等のジョブアカウンティング情報を生成する。そして、生成したジョブアカウンティング情報をジョブアカウンティングサーバアプリケーションに送信する。この第2の機能は、ネットワーク上にジョブアカウンティングサーバアプリケーションを有するコンピュータが存在する場合に限って機能する。なお、本実施形態ではこれらの認証機能、ジョブアカウンティング機能を単一モジュール内で実現しているが、機能別のモジュールであっても良い。
(プリンタドライバ)
プリンタドライバは、本実施形態においては2種類に分類できる。第1は、ジョブアカウンティング機能に対応したプリンタドライバである。このプリンタドライバは、印刷に先立って、ユーザの認証要求のためのUIをコンピュータの画面上に実現し、認証要求をジョブアカウンティングクライアントアプリケーションに対して発行する認証機能を有している。さらに、アプリケーションから受信した印刷要求に応じて生成した印刷データに基づいて、印刷ページ数やサイズといったジョブアカウンティング情報の基となる情報をジョブアカウンティングクライアントアプリケーションに渡す機能を有する。ただし、使用されるプリンタ自体は、ジョブアカウンティング機能つきプリンタと、その機能のない従来のプリンタとがある。ジョブアカウンティング機能付きプリンタを使用する場合には、ジョブアカウンティング情報あるいはその基となる情報をジョブアカウンティングクライアントアプリケーションに渡さなくてもよいので、その場合には後者の機能は備えていなくとも良い。第2は、従来のプリンタのプリンタドライバであって、ジョブアカウンティング機能に対応していないプリンタドライバである。これは、上述した2つの機能をともに有していない。
<ジョブアカウンティングシステムの詳細>
次に、図1の構成における各部の動作を説明する。特にジョブアカウンティングクライアントアプリケーション101の動作に関しては、図13のフローチャートを参照して説明する。印刷ネットワーク上に接続されたコンピュータ1001にはジョブアカウンティングサーバアプリケーション100が存在する。サーバコンピュータ1001,クライアントコンピュータ101,クライアントコンピュータ102では、オペレーションシステム(OS)が動作しており、それぞれのクライアントコンピュータ101,102で動作しているOSをそれぞれOS1、OS2とする。
クライアントコンピュータ101において、アプリケーション101aは、OSのGDI101b(グラフィックデバイスインターフェース:OS1の中でグラフィック描画を行うシステム)に対して、API(アプリケーションプログラミングインターフェース)を呼び出す。
ジョブアカウンティングクライアントアプリケーション101eは、そのAPIを監視(フック)する(図13ステップS1301)。これにより、改ページや排紙を指示するAPIを何度呼び出したかをカウントして、アプリケーションが発行したジョブの排紙枚数やページ枚数を取得する。ただし、APIのフックにより得た情報は、プリンタドライバ101cが印刷ジョブの情報を通知する機能をもたない場合に使用される。この機能は、プリンタドライバがジョブアカウンティング機能をサポートする場合には備えられているので、ジョブアカウンティングクライアントアプリケーション101eは、プリンタドライバ101cがジョブアカウンティング機能を有するか否か判定する(ステップS1302)。
プリンタドライバ101cがジョブアカウンティング機能を有しており、印刷情報をジョブアカウンティングクライアントアプリケーション101eに対して通知できる場合、フックして取得した情報は破棄し(ステップS1304)、プリンタドライバ101cで取得した情報をジョブアカウンティングサーバアプリケーション100に通知する(ステップS1305)。一方プリンタドライバ101cがジョブアカウンティング機能をサポートしていない場合には、ジョブアカウンティングサーバアプリケーション100に、APIのフックにより得た情報を送信する。
GDI101bは、アプリケーションからの印刷要求に基づいて生成した印刷データをスプーラ101dに転送して蓄積させる。スプーラ101dは、プリンタ103の状態を監視しながら、印刷データをプリンタ103に送信する。
クライアントコンピュータ102においては、アプリケーション102aがGDI102bに対してAPIを呼び出して印刷ジョブを発行すると、アプリケーションが呼び出したAPIをプリンタドライバ102cが印刷データに変換して、その印刷データをシステムスプーラ102dに転送して蓄積させる。システムスプーラ102dは、プリンタ103の状態を監視して、プリンタ103がレディー状態であれば印刷データをプリンタ103に送信する。
ジョブアカウンティングクライアントアプリケーション102eは、プリンタドライバ102cからのAPI通知をもとに、システムスプーラ102dを監視して、印刷データとジョブアカウンティング情報を関連付けて管理を行い、その印刷ジョブの排紙枚数或いはページ数などの情報を取得する。情報取得の方法については後述する。ジョブアカウンティングクライアントアプリケーション102eは、ジョブアカウンティングクライアントアプリケーション101eと同様に、APIをフックして得た情報あるいはプリンタドライバ102cから取得したジョブアカウンティング情報をジョブアカウンティングサーバアプリケーション100に通知する前述のとおり、本実施例では、ネットワーク上に接続されたコンピュータにジョブアカウンティングサーバアプリケーション100が存在し、ジョブアカウンティングクライアントアプリケーション102で取得したジョブアカウンティング情報をジョブアカウンティングサーバアプリケーション100で蓄積・管理するものとしているが、印刷ジョブの情報を計数や管理などの機能は、ジョブアカウンティング機能つきプリンタ104に対して印刷データを送出する場合においては、ジョブアカウンティング機能つきプリンタ104自身により実現される。また、ユーザの認証については、認証作業自体はプリンタ104で行われるが、その際のユーザインターフェース(UI)はジョブアカウンティング機能つきプリンタ104のプリンタドライバにより実現される。
すなわち、ユーザがプリンタ104を用いて印刷を行う場合には、従来のプリンタを使用する場合と同様、アプリケーションがGDIにデータを渡すと、そのデータに基づいてプリンタ104のプリンタドライバが印刷データを生成する。その印刷データは、システムスプーラに一時蓄積された後に、プリンタ104に送信される。プリンタ104は受信データに基づいて印刷を遂行するとともに、ページ数や用紙サイズ、両面印刷あるいはカラー印刷の別といった印刷種類に応じて、ユーザ毎のジョブアカウンティング情報を生成し、蓄積・管理する。
なお、図1に示したシステムには、ジョブアカウンティング機能付きプリンタ104と、ジョブアカウンティング機能を有さない従来のプリンタ103とが共存している。このようなシステムでは、クライアントコンピュータからジョブアカウンティング機能つきプリンタ104を用いて印刷を行う場合にも、ジョブアカウンティングクライアントアプリケーション102eによってアプリケーションからのAPIの呼び出しをフックすることにより、あるいは、プリンタドライバからデータを提供されることにより、その印刷ジョブの排紙枚数或いはページ数といったジョブアカウンティング情報を取得し、それをジョブアカウンティングサーバアプリケーションに送付することで、ジョブアカウンティング情報をジョブアカウンティングサーバアプリケーションによって一元的に管理することが可能である。この場合には、プリンタ104におけるジョブアカウンティング情報の管理が実行されてもかまわない。すなわち、ネットワーク上に複数のジョブアカウンティングシステムが存在してもよい。
<コンピュータの構成>
ここで、図1のクライアントコンピュータ101,101及びサーバコンピュータ1001のハードウエア構成を、図3を参照して簡単に説明しておく。図3において、コンピュータ3000は、ROM3のプログラム用ROMに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が統括的に制御する。CPU1はまた、アプリケーションやGDIを含むOS,後述するフローチャートの手順も含めたプリンタドライバプログラム,システムスプーラ,ジョブアカウンティングクライアントアプリケーションなどのプログラムを実行して、前述した機能を実現する。
RAM2は、CPU1の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。LANインターフェース(LANI/F)8は、ローカルエリアネットワークに接続されて、プリンタ103やプリンタ104、他のコンピュータ等のネットワーク上の機器との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMヘのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(表示内容と印刷内容とを一致させる機能)を可能としている。また、CPU1はCRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
なお、図1ではプリンタはすべてネットワークプリンタであるのでLANインターフェース8を介してコンピュータはプリンタに接続されるが、パラレルインターフェースやUSBなどといったインターフェースを有し、プリンタとローカルに接続されるような構成であっても本発明を適用できる。
<ジョブアカウンティング処理の流れ>
図2は、図1におけるホストコンピュータからジョブアカウンティング機能つきプリンタ104への印刷データ送出の流れについて説明した図である。図2においては、コンピュータ200は図1のコンピュータ101あるいは102に相当し、プリンタ104とはネットワーク経由で接続されていても、直接接続されていてもよい。また、ここではジョブアカウンティングサーバアプリケーション100が存在していないことを想定している。また、プリンタドライバはジョブアカウンティング機能に対応したものである。なおここではOSとしてマイクロソフト社のウインドウズ(登録商標)を用いるものとしているので、グラフィックエンジンとしてグラフィックデバイスインターフェース(GDI)を用いているが、他のOSを用いるのであれば、そのOSに用意されたグラフィックエンジンを利用すればよい。
アプリケーション201、グラフィックエンジン(GDI)202、プリンタドライバ203、およびシステムスプーラ204は、ホストコンピュータ上の外部メモリ11などに保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってホストコンピュータ内の内部メモリ2にロードされ実行されるプログラムモジュールである。
グラフィックエンジン(GDI)202は、印刷装置ごとに用意されたプリンタドライバ203をコンピュータの内部メモリにロードし、アプリケーション201の出力をプリンタドライバ203に設定する。アプリケーション201から受け取る印刷データを、プリンタドライバによって読み取ることが可能な形式に変換し、プリンタドライバ203へ出力する。
プリンタドライバ203は、印刷開始時にジョブアカウンティングクライアントアプリケーション205に対して認証要求を行う。ジョブアカウンティングクライアントアプリケーション205はジョブアカウンティング機能つきプリンタ104に認証を問い合わせ、結果を取得し、さらにプリンタドライバ203に結果を通知する。認証が成功したならば、グラフィックエンジン(GDI)202から受け取った描画データに基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってシステムスプーラ204を経て印刷データとして出力される。ジョブアカウンティング機能つきプリンタ104に印刷データが送出される場合、印刷データ内に後述する認証情報が付加されて送出される。なお、後述するように、この認証要求先はジョブアカウンティングサーバアプリケーションの場合もある。
図4および図5は、プリンタドライバ203からジョブアカウンティングクライアントアプリケーション205に対して渡される情報の一例を示した図である。図4の情報は印刷の開始時に認証要求のために渡される。図5の情報は、印刷終了時にジョブアカウンティング情報として渡される。ジョブアカウンティングクライアントアプリケーション102eは、この通知をトリガーとして、前述のとおり定期的にシステムスプーラ102dを監視して、印刷データとジョブアカウンティング情報を関連付けて管理を行う。
図4において、ジョブ情報401には、このジョブがジョブアカウンティング機能つきプリンタに送付されるのか、それともジョブアカウンティング機能のないプリンタに送付されるかを識別するための情報や、後述するユーザIDやパスワードといった認証情報が含まれる。これは図5においても同様である。
ジョブ識別子402は、ジョブアカウンティングクライアントアプリケーション205がスプーラに投入される印刷ジョブとの関連付けを行うための識別子を含む。
図5においては、APIの戻り値403は、印刷開始時にプリンタドライバからAPIによりジョブアカウンティングクライアントアプリケーション205に図4の情報を通知した際に、それに対してジョブアカウンティングクライアントアプリケーション205から渡された引数を含む。
総用紙枚数404は、このジョブ排紙する総用紙枚数を含む。この情報を元に課金などを代表するジョブアカウンティングが実現可能となる。
ブロック化情報405は、1印刷ジョブ内で、用紙サイズや用紙タイプ、あるいはNアップ印刷(1枚の中にNページ印刷する機能)の指定など、詳細情報406の項目のうちのいずれかが変わる場合に、それら項目が共通する用紙ごとに分割されたブロックを示す情報を含む。1ジョブ中で上記項目が変わらなければ1ジョブが1ブロックとなる。
詳細情報406には、各ブロックに対して、両面片面の別、用紙タイプ、用紙サイズ、カラー情報、1枚あたりのページ数、部数、ブロックの総用紙枚数の各詳細情報が含まれる。これら情報により、より詳細なジョブアカウンティング機能が提供可能となる。
前述のとおり、図4、図5に示すジョブアカウンティング情報は、プリンタドライバからジョブアカウンティングクライアントアプリケーション205に渡されるが、ジョブアカウンティング機能つきプリンタ104では使用されない。
<ジョブアカウンティングのユーザインターフェース>
図6以降、プリンタドライバ203におけるジョブアカウンティングシステムにおける処理の流れについて説明する。なお、ここで、プリンタドライバ203はジョブアカウンティング機能に対応した、ジョブアカウンティング機能つきのプリンタ104であるものとする。しかしながら、プリンタドライバがジョブアカウンティング機能に対応していれば、プリンタそのものは従来プリンタ103であってもよい。
図6はジョブアカウンティングシステムにおけるプリンタドライバ203の機能を設定するためのグラフィックユーザインターフェース(GUI)の画面である。これを単にプリンタ設定とも呼ぶ。図中のチェックボックス601がチェックONの場合、プリンタドライバ203はジョブアカウンティングシステムの一部として動作する。一方チェックボックス601がチェックOFFの場合、プリンタドライバ203はジョブアカウンティングシステムとは無関係に印刷データのみを送信する。
左側のアイコン602はチェックボックス601と連動して表示される。本アイコンはプリンタドライバが所有するシート(GUIとして表示される種々の画面)すべてに表示されるもので、ジョブアカウンティングの設定状況がユーザに一目でわかるように設計されている。
チェックボックス603は、ログインユーザごとに異なる権限をもつことを許すOSにおいて、コンピュータの環境設定などが許可された管理者権限をもつユーザがプリンタの設定を行う場合に表示される。このチェックボックスのON/OFFにより、このプリンタドライバを用いるユーザに対して、ジョブアカウンティングで必要となるパスワード情報を保持できるか否かを決定する。
具体的には、チェックボックス603がチェックONの場合とOFFの場合で、認証情報入力ボタン604を押下した際に表示されるダイアログが異なる。チェックONの場合には、図7のダイアログが表示される。この場合、ユーザは、認証情報として部門あるいはユーザを特定するID701と、ID701に対するパスワード702を入力可能となる。
一方、チェックボックス603がOFFの場合には、図8のダイアログが表示される。すなわち、ユーザは、認証情報として部門あるいはユーザを特定するID701のみ入力可能となる。このように、ユーザごとに異なる権限を設定できるOSにおいては、管理者によるセキュリティ管理のバリエーションを提供可能である。
図7の認証情報の入力画面におけるボタン703は、入力されたID701およびパスワード702がジョブアカウンティングの情報として正しいかどうかを問い合わせるためのボタンである。ID701とパスワード702が入力されている場合に押下か可能となる。ボタン703が押下されると、プリンタドライバ203はジョブアカウンティングクライアントアプリケーション205に認証情報の照合を要求する。ジョブアカウンティングクライアントアプリケーション205は、ジョブアカウンティングサーバアプリケーション100あるいはジョブアカウンティング機能つきプリンタ104に認証情報を送信して認証を要求する。
(ケース1)
ジョブアカウンティングサーバアプリケーション100がシステム内に存在する場合、認証情報をジョブアカウンティングサーバアプリケーション100に送信して認証を要求する。
(ケース2)
プリンタドライバ203がジョブアカウンティング機能つきプリンタ104用のプリンタドライバである場合、プリンタ104に認証情報を送信して認証を要求する。
(ケース3)
プリンタドライバ203がジョブアカウンティング機能つきプリンタ104用のプリンタドライバであり、かつジョブアカウンティングサーバアプリケーション100がシステム内に存在する場合、つまり、ジョブアカウンティングシステムがひとつの印刷システムに2つ存在する場合、プリンタ104に認証情報を送信して認証を要求するとともに、認証情報をジョブアカウンティングサーバアプリケーション100に送信して認証を要求する。
ここで、後述する設定に応じて入力された認証情報を保存(キャッシュ)しておき、保存されている認証情報を送信して認証要求を行うこともできる。このように、認証情報をキャッシュすることによって、認証情報の問い合わせ時間を短縮することができる。
問い合わせによって認証情報が正しいと判断された場合、図9に示すメッセージが表示される。一方、誤っていると判断された場合、図10に示すメッセージが表示される。
チェックボックス704は、印刷時に認証情報を確認するかどうかを選択可能にするボタンである。チェックボックス704がチェックONの場合、アプリケーションから印刷命令がなされ、プリンタドライバ203による印刷が開始され、印刷データが送出される直前に図11に示すダイアログ1101を表示する。一方、チェックボックス704がチェックOFFの場合、ダイアログ1101は表示されず、保存された認証情報を用いて印刷が行われる。
ただし、チェックボックス704がチェックOFFの場合においても、認証情報が保存されていない場合は、認証情報の入力を要求するために、たとえば図12のように、パスワード702が空白状態で表示されるなどして、ダイアログ1101が表示されることになる。
このように、チェックボックス603の指定によって入力された認証情報を保持しておくことができ、入力の手間を省き、認証時間を短縮することができる。また、ボタン703の押下によって、保存する認証情報が正しいかどうかをあらかじめ確認することができ、ユーザに対して正しい認証情報を保存できるための方法を提供することができる。
補足として説明するならば、チェックボックス603においてジョブアカウンティングで必要となるパスワード情報を保持しないように設定されている場合は、パスワード702は保持されないので、チェックボックス704は表示される意味がなく、ダイアログ1101が必ず表示されることになる。なお、保存するかしないか指定できる認証情報は本実施形態ではパスワードに限られており、IDは無条件に保存されるものとする。しかし、パスワードとIDとをともに保存するか否かの指定を行えるようにしても良い。
図7のチェックボックス704をオンにしておけば、ダイアログ1101は印刷ジョブ毎に表示されるので、ユーザは認証情報を編集でき、印刷ごとに異なるIDを用いた印刷が可能となる。たとえば、複数IDを用いて印刷を行うような環境においてプリンタドライバ203が使用される場合、印刷ジョブの処理開始時に認証情報を確認させ、入力し直させることで、IDごとに確実に認証を行わせることが可能となる。一方、単一の認証情報しか使用しないような環境においてプリンタドライバ203が使用される場合、印刷開始時の認証情報の確認を省略すれば、操作ステップを少なくすることが可能となる。
このように、チェックボックス704を設けることによって、印刷時の認証情報の確認するしないを設定可能となり、ジョブアカウンティングにおける操作ステップの減少が図れる。また、印刷ジョブごとに認証情報を変更しやすくなり、利便性が向上する。
印刷開始時にダイアログ1101が表示された場合、OKボタン1102押下によって、印刷データ送出直前に認証情報が送出される。これによって、認証情報が正しければ印刷可と判断され、印刷データを送出する。認証情報が正しくなければ、図10のメッセージが表示され、OKボタン1001押下により、ダイアログ1101が表示される。ユーザは再度認証情報を入力し、OKボタン1102を押下することにより認証情報を送出する。
一方、保存している認証情報を送出する場合にはダイアログ1101は表示されない。認証情報が正しくなければ、図10のメッセージが表示され、OKボタン1001押下により、ダイアログ1101が表示される。ユーザは再度認証情報を入力し、再度OKボタン1102を押下することにより認証情報を送出する。キャンセルボタン1103押下により、印刷を中止することができる。この場合、プリンタドライバアプリケーションはプリンタドライバ203より印刷の失敗が通知され、以降の印刷データの送出を行わない。
<プリンタ設定の処理手順>
図17は、図6のUI画面を表示し、設定を行う際の処理手順のフローチャートである。この画面は、所定のプリンタ設定のための操作を行うことで表示され、ここではプリンタドライバにより実行される。
まず、ステップS1701で図6のUI画面をディスプレイモニタ、例えば図3のCRT10上に表示する。次にステップS1702でその操作を行っているユーザが、プリントの環境設定が許可された管理者ユーザであるか判定する。環境設定が許可されていないユーザの場合には、ステップS1703で、図6のチェックボックス603(認証情報保存のための設定)を消去あるいはグレイアウトするとともに、このチェックボックスに対する入力を行えない状態とする。もちろんこの逆に、管理者ユーザであればチェックボックス603を表示するようにしてもよい。
このようにしてUI画面を表示したなら、ステップS1704でユーザによる入力を待ち、入力があればステップS1705でその内容を判定する。入力が「OK」ならばステップS1706で入力されたプリント設定を保存し、処理を終了する。ここでは認証情報を保存する設定がされており、認証情報が入力されているならその情報も保存される。入力がキャンセルボタンであれば、入力されたプリント設定を破棄して処理を終える。
また、押されたボタンが、プリンタ設定画面の設定ボタン604を押した際に開かれる図7の画面における「ベリファイ」ボタン703であれば、後述する図14のステップS1408と同様にして、入力されている認証情報をジョブアカウンティングクライアントアプリケーションに渡し、認証を求める。認証結果がジョブアカウンティングクライアントアプリケーションから返されたなら、その結果を判定して、前述したように成功なら図9の画面を、失敗なら図10の画面を表示して、ユーザに認証情報が正しく設定されているか否かを知らせる。また、その他の入力であれば、入力に応じて表示画面を更新し、ステップS1704で入力を待つ。
このようにして、管理者に限って認証情報の保存の設定を変更させることができ、また、認証情報を印刷に先立って確認しておくことができる。
<プリンタドライバによるジョブアカウンティング処理手順>
図14は、上述したプリンタドライバによるジョブアカウンティングの処理の流れを示したフローチャートである。
ステップS1401において、アプリケーションより印刷命令を受ける。ステップS1402において、ジョブアカウンティング(図7のチェックボタン601)がONであるか判定し、ONならステップS1403へ進み、OFFならステップS1411へ進む。
ステップS1403において、チェックボタン704によって、印刷時に図11の認証情報の確認ダイアログを表示するかどうか判定し、表示する場合はステップS1405へ進み、表示しない場合はステップS1404へ進む。
ステップS1404において、認証情報を保持しているか判定し、保持していればステップS1413へ進み、保持していなけれステップS1405へ進む。ステップS1404における判定は、例えば図5のチェックボタン603をチェックし、オンであれば認証情報は保持されているものと判定する。また、さらに認証情報の格納領域を調べ、ヌルデータなど特定のデータ以外のデータが格納されていれば認証情報が保持されていると判定しても良い。
ステップS1405においては、認証情報を印刷開始前に確認する設定がされているか、あるいは、認証情報が保存されていないので、認証情報確認ダイアログ1101を表示し、ユーザからの入力を待つ。
ステップS1406においては、ユーザのイベント入力が印刷実行要求(OKボタン1102押下)であればステップS1407へ進み、そうでなければステップS1410へ進む。ステップS1407において、保持している認証情報によって印刷を開始する。このとき、認証情報の保存の設定がされている場合には、その情報を不揮発性媒体の所定の領域に保存する。
ステップS1408においては認証処理を実行する。具体的にはジョブアカウンティングクライアントアプリケーション205に対して、図4に示す情報を通知する。ジョブアカウンティングクライアントアプリケーション205は取得した情報をジョブアカウンティングサーバアプリケーション100あるいはジョブアカウンティング機能つきプリンタ104へ送信し、認証結果を得る。
プリンタドライバはこの認証結果をジョブアカウンティングクライアントアプリケーションから受け取り、認証が成功したならステップS1411へ進み、失敗すればステップS1409へ進む。ステップS1409においては認証失敗メッセージを表示し、ユーザの入力を待ち、OKボタン1001押下によりステップS1405に戻る。
ステップS1410において、ユーザのイベント入力が印刷中止要求(キャンセルボタン1103押下)であるか判定し、そうである場合、ステップS1412へ進み、そうでなければ次のイベントを待つ。
ステップS1411において、システムスプーラに対してデータの送信が開始される。送信を終えたなら、ステップS1414でジョブアカウンティングがオンであるか判定し、ジョブアカウンティングがONの場合は、印刷終了時にステップS1415で、図5に示す情報をジョブアカウンティングクライアントアプリケーション205に対して通知する。ジョブアカウンティングサーバアプリケーション100はジョブアカウンティングクライアントアプリケーション205からこの情報を受信し、これに基づいてジョブアカウンティングを行う。なお、ジョブアカウンティングサーバアプリケーションがネットワークシステム内に存在しない場合には、この情報は送信しなくて良い。
一方、ジョブアカウンティング機能つきプリンタ104は、印刷処理にともなってプリンタ内部で計数する。
ステップS1412においては、アプリケーションに対して印刷の中止が通知される。
ステップS1404において認証情報を保持していると判定された場合には、ステップS1413において保存されている認証情報を保存領域からRAM上の認証情報の領域に読込み、ステップS1408に進んで、その認証情報を用いて認証処理を遂行する。
図15は、ステップS1411における印刷処理をさらに詳しく示したフローチャートである。
ステップS1501では、グラフィックエンジンから渡されたグラフィックデータ(印刷しようとする画像や文書等のデータ)を取り込み、ステップS1502で新たなブロックを設ける必要があるか判定する。ここでは、新たに印刷データの生成を開始する場合や、図5の詳細情報406に含まれる、両面片面の別、用紙タイプ、用紙サイズ、カラー情報、1枚あたりのページ数、部数の各条件のうち、いずれかが変更される場合に、新たなブロックを生成するものとする。
ステップS1503では、新たなブロックを生成する。新たに生成するブロックが新たな印刷ジョブの先頭である場合には、まず図5のプリンタ名からブロック化情報405までの領域をメモリに確保し、その時点で確定している情報を該当する領域に書き込む。
そして、ステップS1504では、新たなブロックの詳細情報のための領域を図5のフォーマットで確保し、両面片面の別、用紙タイプ、用紙サイズ、カラー情報、1枚あたりのページ数、部数など、その時点で画定している情報を書き込む。
次にステップS1505では、グラフィックデータからプリンタに送信する例えばPDLコマンドを生成する。ステップS1506で生成したコマンドが排紙コマンドであるか判定し、排紙コマンドであれば、ステップS1507で、該当ブロックの詳細情報における用紙枚数を計数する。
そして、ステップS1508で印刷ジョブ終了であるか判定し、終了であれば印刷データをOSによりプリンタに送信させて、処理を終了する。
以上のようにして、プリンタドライバは、印刷データを生成しつつ詳細なジョブアカウンティング情報を生成する。
<ジョブアカウンティング機能付きプリンタによる認証処理>
図16はジョブアカウンティング機能付きプリンタによる認証処理手順である。ジョブアカウンティングサーバアプリケーションによる認証処理も同様の手順となる。
プリンタドライバからジョブアカウンティングクライアントアプリケーションにステップS1408で認証情報が送られると、認証情報はジョブアカウンティングクライアントアプリケーションからジョブアカウンティング機能付きプリンタへと送られる。図15はその時点から開始される。ステップS1601で、受信した認証情報を、あらかじめ格納された、正しい認証情報のデータベースと照合する。ステップS1602でその結果を判定し、照合が成功すれば、ステップS1603で認証成功をジョブアカウンティングクライアントアプリケーションへと応答し、失敗すれば、ステップS1604で認証失敗をジョブアカウンティングクライアントアプリケーションへ応答する。こうして、本実施形態のジョブアカウンティングシステムでは次のような特徴的機能が実現される。
(1)印刷に先立ってユーザの認証を行えるために、印刷時に認証を行った際に認証情報が誤りであったことが判明するといった事態を防止できる。
(2)管理者ユーザにより、認証情報を保存するか否かの設定を行うことができる。このために、管理者は、プリンタの使用状況や、プリンタの接続されたネットワークシステム全体の状況に応じて、この設定を変えられる。例えば、印刷単価が比較的高価なカラープリンタについて、認証情報をかならず使用する都度入力させて管理を厳格にし、比較的安価で使用する頻度も高いモノクロームのプリンタについては、認証情報を保存させて操作を容易にすることができる。また、アカウントの管理単位が異なる複数の部署で共有されているプリンタについては、部署毎のアカウント情報を正確に把握するために、認証情報を印刷の都度入力させる、といったことが可能となる。
(3)認証情報の保存が設定されている場合には、保存した認証情報を用いることでユーザによる認証情報の入力の手間を省き、印刷に要する時間を短縮できる。
(4)認証情報を印刷ジョブ毎に入力させる設定を選択できるために、複数のユーザが使用する端末においては認証情報の保存の有無にかかわらず印刷ジョブ毎に認証情報を入力させ、単独のユーザが占有する端末においては、認証情報の保存が設定されていれば、保存された認証情報を用いて印刷を遂行させることができる。このため、単独ユーザの端末に対しては効率的な処理を、複数のユーザにより共有される端末については正確なアカウント管理を行うことができる。
(5)プリンタドライバにより、単に枚数のみならず、両面・片面の別や用紙タイプ、用紙サイズ、カラー情報、1枚あたりのページ数などに応じてジョブアカウンティング情報を生成できるために、正確なアカウント管理が可能である。
[第2の実施形態]
本実施形態の印刷システムは、図2で示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図18に示すように、アプリケーションからの印刷データを一旦中間コードデータでスプールする構成をとってもよい。
図18は、図2のシステムを拡張したもので、グラフィックエンジン202からプリンタドライバ203へ印刷命令を送る際に、一旦中間コードからなるスプールファイル303を生成する構成をとる。図2のシステムでは、アプリケーション201が印刷処理から開放されるのは、プリンタドライバ203がグラフィックエンジン202からのすべての印刷命令をプリンタの制御コマンドヘ変換し終った時点である。これに対して、図18のシステムでは、アプリケーション201が印刷処理から開放されるのは、プリンタドライバ内のスプーラ(以下スプーラ)302がすべての印刷命令を中間コードデータに変換し、スプールファイル303に出力した時点である。通常、後者の方が短時間で済む。また、図18で示すシステムにおいては、スプールファイル303の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを1ページに縮小して印刷する等、多彩なページハンドリング機能を実現することができる。また、後述するが、ジョブの結合、ページ入れ替えなどの編集、データのプレビューも可能である。さらに、データを解析してカラー・白黒判定などにより、プリンタの機能加味した省資源印刷、パフォーマンスの向上を実現できる。
これらの目的のために、図2のシステムに対し、図18の様に中間コードデータでスプールする様、システムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ203が提供するウィンドウから設定を行う。
以下、図18における拡張方式の基本的な処理を説明する。まず、グラフィックエンジン202からの印刷命令をディスパッチャ301が受け取る。ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令が、アプリケーション201からグラフィックエンジン202へ発行された印刷命令の場合には、ディスパッチャ301は外部メモリ11に格納されているスプーラ302をロードし、プリンタドライバ203ではなくスプーラ302へ印刷命令を送付する。
スプーラ302は受け取った印刷命令を中間コードに変換してスプールファイル303に出力する。また、スプーラ302は、プリンタドライバ203に対して設定されている印刷データに関する加工設定をプリンタドライバ203から取得してスプールファイル303に保存する。なお、スプールファイル303は外部メモリ上にファイルとして生成するが、内部メモリ生成されても構わない。更にスプーラ302は、外部メモリに格納されているスプールファイルマネージャ304をロードし、スプールファイルマネージャ304に対してスプールファイル303の生成状況を通知する。その後、スプールファイルマネージャ304は、スプールファイル303に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
スプールファイルマネージャ304がグラフィックエンジン202を利用して印刷を行えると判断した際には、外部メモリに格納されているデスプーラ305をロードし、デスプーラ305に対して、スプールファイル303に記述された中間コードの印刷処理を行うように指示する。
デスプーラ305はスプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、もう一度グラフィックエンジン202経由で出力する。
ディスパッチャ301がグラフィックエンジン202から受け取った印刷命令がデスプーラ305からグラフィックエンジン202へ発行された印刷命令の場合には、ディスパッチャ301はスプーラ302ではなく、プリンタドライバ203に印刷命令を送る。
プリンタドライバ203はプリンタ制御コマンドを生成し、システムスプーラ204に送出する。
<印刷ジョブのスプール処理>
更に、図18では、これまで説明した拡張システムに加えて、プレビューア306、設定変更エディタ307を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、図19の1901に示すように、プリンタドライバのプロパティにおいて、「出力先の指定」を行う手段であるプルダウンメニューにおいて、“Edit and Preview”を指定する。
このように、プリンタドライバのプロパティで設定されている内容は、設定ファイルとしてOSが提供する構造体(Windows(登録商標) OSでは、DEVMODEと呼ばれる)に格納される。その構造体には、例えばスプールファイル303に含まれる加工設定中にスプールファイルマネージャ304にストアを行うかどうかの設定が含まれている。この設定をスプールファイルマネージャ304がプリンタドライバを介して加工設定を読み込み、ストア指定がなされていた場合、前述したようにスプールファイル303にページ描画ファイルとジョブ設定ファイルとが生成・格納され、図20のようにスプールファイルマネージャのウィンドウ画面がポップアップされ、スプールファイル303にスプールされたジョブがリスト表示される。図20には、4つのジョブがスプールされている例を示しており、メニューバーもしくは、そのすぐ下のメニューアイコンを押下することにより、ジョブの操作を行うことができる。
メニューバーとメニューアイコンの操作の数は同じである。操作種類としては、ジョブを選択した状態で、「印刷」(Print)、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」(Proof Print)、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」(Print Preview)、中間コードのスプールファイルを削除する「削除」(Delete)、中間コードのスプールファイルのコピーを生成する「複製」(Duplicate)、複数の中間コードのスプールファイルのジョブを結合して1つのジョブにする「結合」(Combine)、結合ジョブを元の複数のジョブに分割する「分割」(Separate)、単体ジョブもしくは結合ジョブの印刷設定(レイアウト設定やフィニッシング設定等)を変更する「ジョブ編集」(Change Print Settings)、あるジョブの印刷順序を最初にする「先頭に移動」(Move to-Top)、あるジョブの印刷順序を1つ早くする「1つ上に移動」(Move to-Previous)、あるジョブの印刷順序を1つ遅くする「1つ下に移動」(Move to-Next)、あるジョブの印刷順序を最後にする「最後に移動」(Move to-Last)の以上11個の操作がある。
スプールファイルマネージャのウィンドウ画面(図20)上で、ある単体ジョブもしくは結合ジョブのプレビュー指定がされた場合、プレビューア306をロードし、プレビューア306に対して、スプールファイル303に記述された中間コードのジョブのプレビュー処理を行うように指示する。
プレビューア306はスプールファイル303に含まれる中間コードのページ描画ファイル(PDF)を順次読み出し、スプールファイル303に格納されているジョブ設定ファイル(SDF)に含まれる加工設定情報の内容に従って加工し、グラフィックエンジン202に対してGDI関数を出力し、グラフィックエンジン202が自身のクライアント領域に描画データを出力することによって、画面上の出力が可能となる。
グラフィックエンジン202は、指定された出力先に応じて適切なレンダリングを行うことが可能である。このことから、プレビューア306は、デスプーラ305同様に、スプールファイル303に含まれる中間コードをスプールファイル303に含まれる加工設定の内容に従って加工し、グラフィックエンジン202を利用して出力する方法で実現可能となる。このようにプリンタドライバで設定されている加工設定をジョブ設定ファイルとしてスプールファイル303に格納し、このジョブ設定ファイルに基づいてページ描画ファイルのデータを加工して出力することにより、実際の描画データがどのように印刷されるか、更には、Nアップ(Nページの論理ページを1ページの物理ページに縮小配置して印刷する処理)指定されている場合、両面印刷されている場合、製本印刷指定されている場合、スタンプが指定されている場合、それぞれに応じて、プリンタで出力されるものに近い印刷プレビューをユーザに提供することができる。なお、従来の文書作成等のアプリケーションソフトウェアが有しているプレビュー機能は、あくまでそのアプリケーションにおけるページ設定に基づいて描画しているため、プリンタドライバでの印刷設定が反映されず、実際に印刷出力されるプレビューをユーザに認識させることはできなかった。
上記のようにプレビュー処理を行うことにより、図21のようにスプールファイル303に含まれる印刷の加工設定の大プレビューがプレビューア306によって画面上に表示され、その後、ユーザの非表示指示によって、プレビューア306がクローズされ、制御がスプールファイルマネージャのウィンドウ画面(図20)に移行する。
そして、ユーザがプレビューア306によって表示された内容に従って、印刷を行うならば、スプールファイルマネージャ304上で、「印刷」(Print)もしくは「セーブして印刷」(Proof Print)を指示することにより印刷要求を発行する。印刷要求は前述したように、デスプーラ305によりジョブ設定ファイルに基づいてページ描画ファイルを加工してGDI関数を生成し、グラフィックエンジン202に伝えられ、ディスパッチャ301経由で、プリンタドライバ203に印刷命令が送られ、印刷が実行される。
このように、"Edit and Preview"の設定においてスプールが指定されると、生成された印刷データはジョブ単位でスプーラに格納される。スプールされた印刷ジョブが複数選択され、選択されたジョブに関して「結合」が指定されると、スプーラは選択された印刷ジョブを結合してひとつのジョブにする。
<スプールされた印刷ジョブのジョブアカウンティング処理>
このようなスプールシステムにおいてジョブアカウンティングを行う場合において、印刷データがスプールされた後の処理について図22を用いて説明する。
ステップS2201において、スプールファイルマネージャ304はイベント入力をうける。
ステップS2202において、イベントが印刷命令ならばステップS2203へ進み、そうでなければステップS2204へ進む。
ステップS2203において、スプールファイルマネージャ304はデスプーラ305を起動し、印刷指令を発行する。デスプーラ305はこの場合図21におけるアプリケーションと同様の働きを行う。よって、印刷時の認証情報の問い合わせは、再度ディスパッチャ301経由でプリンタドライバ203に印刷要求がなされた時に行われる。この後は、図14のステップS1402以降のよりと同様となる。
ステップS2204において、イベントがジョブ結合要求ならばステップS2205へ進み、そうでなければステップS2206へ進む。
ステップS2205において、選択された複数ジョブを結合ジョブとして扱う。具体的には、これら複数ジョブのスプールファイル303を単一のデスプーラ305によって一度に印刷要求(ステップS2203の処理)がなされる。
なお、アプリケーションからの印刷データはディスパッチャ301によってスプーラ204に印刷データが渡されるため、この時点ではプリンタドライバ203にはデータは送出されていない。
すなわち、図20に示すような、複数ジョブが結合されて印刷される場合においても、結合前の各ジョブに対して認証要求が行われるのではなく、結合されて1ジョブになった後に認証処理が行われる仕組みになっている。
また、第1の実施形態で説明した操作と同様に、図11に示した認証情報入力画面において、キャンセルボタン1103が押下された場合のスプールシステムの処理方法について図23を用いて説明する。なお、この処理手順は図14とほとんど同一であるので、図23には、図14と異なる部分に限って示す。具体的には、図14のステップS1412以降の処理が異なる。まず、ステップS1410でステップS2301の印刷中止の命令がアプリケーションではなくデスプーラ305に通知される。
ステップS2302において、デスプーラ305は、印刷中止をスプールファイルマネージャ304に通知し、内部メモリからアンロードされる。
そして、ステップS2303において、スプールファイルマネージャ304はスプーラ302によって生成されたスプールファイル303を消去して、内部メモリからアンロードされる。これにより、ジョブアカウンティングシステムにスプールシステムが拡張構成された場合もスプールファイルが外部メモリ内に保持されることなくジョブアカウンティングが行われることとなる。以上の手順により、本実施形態のジョブアカウンティングシステムでは次のような特徴的機能が実現される。
(6)結合操作により、複数の印刷ジョブをひとつに結合した印刷ジョブについては、単一の印刷ジョブとして、結合されたジョブ全体に対して1回の認証処理が行われる。これにより、ユーザによる操作の簡略化と印刷の迅速化が実現できる。
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーグ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現する、図13乃至図17あるいは図22,23の手順を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
ジョブアカウンティングシステムの一例を示す図である。 プリンタが接続されたホストコンピュータの典型的なプリントシステムの構成を示すブロック図である。 コンピュータの構成を示すブロック図である。 プリンタドライバからジョブアカウンティングクライアントアプリケーションに対して渡される情報の一例を示す図である。 プリンタドライバからジョブアカウンティングクライアントアプリケーションに対して渡される情報の一例を示す図である。 プリンタドライバによるプリント設定のUI画面の一例を示す図である。 チェックボックス603がチェックONの場合、ボタン604を押下した際に表示されるダイアログの一例を示す図である。 チェックボックス603がチェックOFFの場合、ボタン604を押下した際に表示されるダイアログの一例を示す図である。 認証情報が正しいと判断された場合表示されるメッセージボックスの一例を示す図である。 認証情報が不正であると判断された場合表示されるメッセージボックスの一例を示す図である。 認証情報確認ダイアログの一例を示す図である。 認証情報確認ダイアログの一例を示す図である。 ジョブアカウンティングクライアントアプリケーションの処理を示すフローチャートである。 第1の実施形態におけるクライアント端末による印刷処理手順のフローチャートである。 第1の実施形態におけるクライアント端末による印刷処理手順のフローチャートである。 第1の実施形態におけるサーバあるいはジョブアカウンティング機能つきプリンタによる認証処理手順のフローチャートである。 プリンタドライバによるプリント設定の手順を示すフローチャートである。 アプリケーションからの印刷命令を中間コードスプールするプリントシステムの構成を示すブロック図である。 スプールを行わせる際のプリンタドライバGUIの一例を示す図である。 印刷設定変更、プレビューを行う際に表示されるGUIの一例を示す図である。 プレビュー画面の一例を示す図である。 第2の実施形態における印刷処理を示すフローチャートである。 第2の実施形態における印刷処理を示すフローチャートである。
符号の説明
100 ジョブアカウンティングサーバアプリケーション
101 クライアントコンピュータ1
101a アプリケーション
101b GDI
101c プリンタドライバ
101d システムスプーラ
101e ジョブアカウンティングクライアントアプリケーション
102 クライアントコンピュータ2
102a アプリケーション
102b GDI
102c プリンタドライバ
102d スプーラ
102e ジョブアカウンティングクライアントアプリケーション
103 従来プリンタ
104 ジョブアカウンティング機能つきプリンタ

Claims (6)

  1. プリンタドライバ及びジョブアカウンティングアプリケーションを実行する印刷制御装置であって、
    前記印刷制御装置は、
    前記ジョブアカウンティングアプリケーションが備えた、アプリケーションから発行された改ページ及び排紙の指示を数えることで印刷枚数を収集する機能を用いて印刷枚数の収集処理を行なう収集処理手段と、
    前記プリンタドライバが印刷枚数を収集する機能を有しているか否かを特定する特定手段と、
    前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合に、前記プリンタドライバから、印刷枚数を示す印刷情報を取得する取得手段と、
    前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合には前記取得手段により取得した前記印刷枚数を示す印刷情報をサーバ装置に対して通知し、前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していないと特定された場合には前記収集処理手段により収集した印刷枚数をサーバ装置に対して通知する処理を制御する制御手段とを有し、
    前記特定手段、取得手段、収集処理手段、制御手段は前記ジョブアカウンティングアプリケーションにより実現されることを特徴とする印刷制御装置。
  2. 前記収集処理手段は、前記アプリケーションによる改ページ及び排紙の指示するプリンタドライバのAPI呼び出し回数を数えることで、印刷枚数を収集する請求項1に記載の印刷制御装置。
  3. プリンタドライバを実行するとともに、ジョブアカウンティングアプリケーションを実行して特定手段と取得手段と収集処理手段と制御手段として機能する印刷制御装置の制御方法であって、
    前記収集処理手段が、アプリケーションから発行された改ページ及び排紙の指示を数えることで印刷枚数を収集する収集処理を行なう収集処理工程と、
    前記特定手段が、前記プリンタドライバが印刷枚数を収集する機能を有しているか否かを特定する特定工程と、
    前記取得手段が、前記特定工程により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合に、前記プリンタドライバから、印刷枚数を示す印刷情報を取得する取得工程と、
    前記制御手段が、前記特定工程により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合には前記取得工程により取得した前記印刷枚数を示す印刷情報をサーバ装置に対して通知し、前記特定工程により前記プリンタドライバが印刷枚数を収集する機能を有していないと特定された場合には前記収集処理工程により収集した印刷枚数をサーバ装置に対して通知する処理を制御する制御工程と
    を有することを特徴とする印刷制御装置の制御方法。
  4. 前記収集処理工程では、前記アプリケーションによる改ページ及び排紙の指示するプリンタドライバのAPI呼び出し回数を数えることで、印刷枚数情報を取得する請求項3に記載の印刷制御装置の制御方法。
  5. コンピュータにより実行されるジョブアカウンティングアプリケーションプログラムを記憶したコンピュータ可読記憶媒体であって、
    前記ジョブアカウンティングアプリケーションが備えた、アプリケーションから発行された改ページ及び排紙の指示を数えることで印刷枚数を収集する機能を用いて印刷枚数の収集処理を行なう収集処理手段と、
    前記コンピュータにより実行されるプリンタドライバが印刷枚数を収集する機能を有しているか否かを特定する特定手段と、
    前記特定手段により、前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合に、前記プリンタドライバから、印刷枚数を示す印刷情報を取得する取得手段と、
    前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していると特定された場合には前記取得手段により取得した前記印刷枚数を示す印刷情報をサーバ装置に対して通知し、前記特定手段により前記プリンタドライバが印刷枚数を収集する機能を有していないと特定された場合には前記収集処理手段により収集した印刷枚数をサーバ装置に対して通知する処理を制御する制御手段と
    してコンピュータを機能させるジョブアカウンティングアプリケーションプログラムを記憶したことを特徴とするコンピュータ可読記憶媒体。
  6. 前記収集処理手段は、前記アプリケーションによる改ページ及び排紙の指示するプリンタドライバのAPI呼び出し回数を数えることで、印刷枚数情報を取得する請求項5に記載のコンピュータ可読記憶媒体。
JP2005321399A 2005-11-04 2005-11-04 印刷制御装置及びその制御方法と記憶媒体 Expired - Fee Related JP4194593B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005321399A JP4194593B2 (ja) 2005-11-04 2005-11-04 印刷制御装置及びその制御方法と記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005321399A JP4194593B2 (ja) 2005-11-04 2005-11-04 印刷制御装置及びその制御方法と記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000128543A Division JP4298132B2 (ja) 2000-04-27 2000-04-27 印刷制御装置及び方法及び印刷システム

Publications (2)

Publication Number Publication Date
JP2006065889A JP2006065889A (ja) 2006-03-09
JP4194593B2 true JP4194593B2 (ja) 2008-12-10

Family

ID=36112266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005321399A Expired - Fee Related JP4194593B2 (ja) 2005-11-04 2005-11-04 印刷制御装置及びその制御方法と記憶媒体

Country Status (1)

Country Link
JP (1) JP4194593B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6060731B2 (ja) 2013-02-27 2017-01-18 株式会社リコー プログラム、情報処理装置及び情報管理方法
JP6504923B2 (ja) 2015-05-29 2019-04-24 キヤノン株式会社 情報処理装置、システム、制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2006065889A (ja) 2006-03-09

Similar Documents

Publication Publication Date Title
JP4387553B2 (ja) 印刷制御装置及び方法と情報処理装置及び方法
US7286250B2 (en) Print control apparatus and method, and print system
EP1865409B1 (en) Information processing apparatus, print controlling method, and computer-readable storage medium
US7755783B2 (en) Printing system capable of chasing a printed material
JP3405159B2 (ja) 印刷装置
US8630013B2 (en) Printing control apparatus and method for continuously printing a plurality of jobs
US20040036908A1 (en) Information processing apparatus, print system, printing control method for information processing apparatus, and printing control program
US20120081731A1 (en) Printing system, printing method, print server, control method and computer-readable medium
US8982376B2 (en) Appending a print password and a reprint password to a print job
JP3840035B2 (ja) 印刷制御装置及び方法及び印刷システム
US8773699B2 (en) Information processing apparatus, printing system, and method for controlling the same
JP2022179678A (ja) プログラム
JP2008059372A (ja) 印刷制御装置およびその方法
JP3984774B2 (ja) 印刷制御装置及び方法及び印刷システム
JP4174381B2 (ja) 情報処理装置、分散印刷制御方法及び分散印刷制御プログラム
JP4194593B2 (ja) 印刷制御装置及びその制御方法と記憶媒体
JP4298132B2 (ja) 印刷制御装置及び方法及び印刷システム
JP4164479B2 (ja) 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム
CN110764720B (zh) 打印设备、打印设备的控制方法和存储介质
JP2012221334A (ja) 画像形成システムとその処理方法、画像形成装置、印刷管理サーバー、プリントサーバ、御方法及びプログラム
JP4110021B2 (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2006244278A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071022

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080625

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

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: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees