以下,本発明にかかるプログラムを搭載した情報処理装置を具体化した第1の実施の形態について,添付図面を参照しつつ詳細に説明する。本形態は,プリンタと接続可能なパーソナルコンピュータ(PC)に本発明を適用したものである。
本形態のPC100は,図1に示すように,ネットワークを介してプリンタ200と接続されている。PC100は,CPU31と,ROM32と,RAM33と,HDD34と,USBインターフェース(USBIF)36と,ネットワークインターフェース(ネットワークIF)37と,ディスプレイ41と,操作部42と,を有している。CPU31は,制御部の一例であり,USBインターフェース36とネットワークインターフェース37は,通信部の一例である。
ROM32には,PC100を起動するための起動プログラム等が記憶されている。RAM33は,各種処理が実行される際の作業領域として,あるいは,データを一時的に記憶する記憶領域として利用される。HDD34には,各種のアプリケーションプログラムやデータが記憶される。CPU31は,ROM32やHDD34から読み出したプログラムに従って,RAM33やHDD34に記憶されているデータを使用し,各種の処理を実行する。HDD34は,記憶部の一例である。
具体的に,本形態のPC100のHDD34には,監視プログラム341と,プリンタドライバ342と,アプリケーションプログラム(アプリケーション)343と,スプーラ344と,オペレーティングシステム(OS)345と,が記憶されている。監視プログラム341は,プリンタ200の状態を監視して,印刷ジョブを調整するプログラムであり,PC100の電源オン時に起動される。なお,本形態の監視プログラム341は,プリンタドライバ342とは異なるモジュールである。
プリンタドライバ342は,プリンタ200に送信する印刷ジョブを生成するプログラムである。プリンタドライバ342は,プリンタ200用のものである。PC100は,さらに,他のプリンタ用のプリンタドライバを備えていてもよい。アプリケーション343は,ユーザから印刷指示を受け付けることが可能なプログラムである。
スプーラ344は,プリンタドライバ342にて生成された印刷ジョブをHDD34に記憶させ,順次プリンタ200に送信するプログラムである。なお,スプーラ344は,OS345とともに用意される汎用のものであってもよいし,プリンタ200に専用のものであってもよい。本形態のPC100は,汎用のスプーラ344を使用する。
USBインターフェース36は,USBケーブル等を介してUSB接続された機器と通信を行うためのハードウェアである。ネットワークインターフェース37は,無線LAN,有線LAN等にてネットワークに接続された機器との通信を行うためのハードウェアである。ディスプレイ41は,各種の情報を表示する装置である。操作部42は,キーボードやマウスを含み,ユーザによる入力操作を受け付ける装置である。
また,本形態のPC100と接続されるプリンタ200は,図1に示すように,CPU231と,ROM232と,RAM233と,NVRAM(不揮発性RAM)234と,を含むコントローラ230を備えている。さらに,プリンタ200は,画像形成部210と,ネットワークインターフェース(ネットワークIF)237と,操作パネル240と,を備え,これらがコントローラ230に電気的に接続されている。
ROM232には,プリンタ200を制御するための各種制御プログラムや各種設定,初期値等が記憶されている。RAM233は,各種制御プログラムが読み出される作業領域として,あるいは,印刷ジョブ等のデータを一時的に記憶する記憶領域として利用される。CPU231は,ROM232から読み出した制御プログラムに従って,その処理結果をRAM233またはNVRAM234に記憶させながら,プリンタ200の各構成要素を制御する。
画像形成部210は,用紙に画像を印刷するための構成である。画像形成部210の画像形成方式は,電子写真方式であっても,インクジェット方式であってもよい。ネットワークインターフェース237は,LANケーブル等を用いてネットワークを介して接続された装置と通信を行うためのハードウェアである。また,操作パネル240は,各種の情報を表示する液晶ディスプレイと,ユーザによる指示入力を受け付けるボタン群とを備えている。
なお,図1では,ネットワークに接続される機器として,PC100とプリンタ200とのみを示しているが,さらに他の機器が接続されていてもよい。また,PC100とプリンタ200との接続方法は,ネットワーク接続に限らず,USB接続であってもよい。
続いて,印刷動作について説明する。PC100は,図2に示すように,例えば,アプリケーション343にて,ユーザからプリンタ200での印刷指示を受け付ける。印刷指示を受け付けると,PC100は,プリンタ200用のプリンタドライバ342を起動する。そして,PC100は,プリンタドライバ342に,受け付けた印刷指示にて指定されている画像データに基づく印刷ジョブを生成させる。印刷ジョブには,画像データから変換された印刷データ,ジョブ設定,送信先,の各情報が含まれる。
さらに,PC100は,スプーラ344の実行により,生成された印刷ジョブをHDD34に記憶させる。具体的には,PC100は,印刷ジョブがプリンタドライバ342からスプーラ344に渡されると,スプーラ344に,HDD34内に記憶領域を確保させ,確保した記憶領域に印刷ジョブを記憶させる。PC100は,スプーラ344に印刷ジョブを記憶させた場合,図2に示すように,定期的にプリンタ200と通信を行い,プリンタ200の稼動状態を確認する。具体的には,PC100は,スプーラ344に,プリンタ200に稼動状態の問い合わせを実行させ,プリンタ200の回答に基づいて,プリンタ200がジョブ受信可能な状態であるか否かを判断させる。PC100は,スプーラ344にて,プリンタ200がジョブ受信可能な状態であると判断された場合,HDD34に記憶されている印刷ジョブを,記憶順にプリンタ200に送信する。
また,PC100は,監視プログラム341の実行により,スプーラ344とは別に,定期的にプリンタ200と通信を行い,プリンタ200の稼動状態を確認する。そして,PC100は,プリンタ200が印刷ジョブを処理可能な状態ではないと判断した場合,スプーラ344によりHDD34に記憶されている印刷ジョブを調整する。監視プログラム341の詳細については,後述する。
なお,プリンタ200は,ジョブ受信可能な状態であっても,印刷を実行できない状態がある。例えば,インクあるいはトナー等の消耗品が枯渇した,シートのジャムが発生した等のエラーが発生している状態や,エラーからの復帰や検査等のユーザによる作業中には,プリンタ200は,ジョブ受信は可能であっても印刷はできない。PC100は,プリンタ200の回答に基づいて,プリンタ200が印刷ジョブを処理できない処理不可状態であるか否かを判断できる。
一方,印刷ジョブを受信したプリンタ200は,印刷ジョブのジョブ設定を読み出し,当該印刷ジョブが即時印刷ジョブであるか蓄積印刷ジョブであるかを判断する。つまり,印刷ジョブのジョブ設定には,当該印刷ジョブが即時印刷ジョブであるか蓄積印刷ジョブであるかを示す情報が含まれる。
即時印刷ジョブは,印刷可能であれば,受信後直ちに印刷が実行されるジョブである。プリンタ200は,受信した印刷ジョブが即時印刷ジョブであれば,図2に示すように,印刷可能な状態となり次第,直ちに印刷を実行して,印刷物を排出する。プリンタ200は,例えば,他の印刷ジョブの実行中であれば,他の印刷ジョブの実行が終了した後,続いて,受信した即時印刷ジョブの印刷を実行する。
また,蓄積印刷ジョブは,受信後直ちには印刷が実行されず,プリンタ200の記憶部であるRAM233に一旦蓄積されるジョブである。プリンタ200は,受信した印刷ジョブが蓄積印刷ジョブであれば,図2に示すように,受信した印刷ジョブをRAM233に蓄積し,ユーザによる印刷開始の指示入力を含む印刷条件を満たしたことに応じて印刷を実行する。
なお,蓄積印刷ジョブの印刷条件は,当該印刷ジョブのジョブ設定にて指定されている。印刷条件としては,例えば,蓄積されている印刷ジョブのうち印刷させる印刷ジョブの選択および印刷開始の指示入力の受け付け,または印刷ジョブの選択および印刷開始の指示入力に加えて印刷ジョブに設定されているユーザIDやパスワードの入力の受け付け,が該当する。つまり,蓄積印刷ジョブの設定は,単にRAM233に蓄積されて印刷開始指示を待つ設定であってもよいし,印刷実行時にパスワードを要求するセキュア設定であってもよい。
続いて,本形態のPC100にて実行される監視動作について説明する。本形態のPC100は,印刷指示を受け付けると,印刷ジョブを生成してHDD34に記憶する。そして,本形態の監視動作では,図3(A)に示すように,PC100は,HDD34に少なくとも1つの印刷ジョブPが記憶されていれば,プリンタ200に稼動状態を問い合わせ,プリンタ200が印刷ジョブを処理できる状態であるか否かを判断する。そして,プリンタ200が印刷可能な状態であると判断した場合,PC100は,前述したように,HDD34に記憶されている印刷ジョブを,記憶順にプリンタ200に送信する。
一方,本形態のPC100は,プリンタ200が印刷ジョブを処理できない状態であると判断した場合,HDD34に記憶されている印刷ジョブであって,プリンタ200への送信が開始されていない印刷ジョブPのジョブ設定を変更する。具体的には,PC100は,図3(B)に示すように,即時印刷ジョブの印刷ジョブPのジョブ設定を,蓄積印刷ジョブQのジョブ設定に変更する。
例えば,PC100とプリンタ200との少なくとも一方において,ネットワークとの通信状態に異常が発生していれば,PC100は,プリンタ200からの回答を受信することができない。この場合には,印刷ジョブの送信も不可能である。そのため,PC100は,問い合わせの送信後,所定の回答待機時間が経過しても回答を受信しない場合,プリンタ200にて印刷処理の実行が不可能な状態であると判断する。つまり,通信エラーは,処理不可状態の一例である。そして,PC100は,HDD34に記憶されている印刷ジョブPの設定を,図3(B)に示すように,蓄積印刷ジョブQに変更してHDD34に記憶させる。PC100は,プリンタ200との通信状態が回復したら,図3(C)に示すように,蓄積印刷ジョブQをプリンタ200に送信する。
また,プリンタ200において,エラーの発生中やユーザによる作業中であれば,プリンタ200は,印刷可能な状態ではない。例えば,消耗品が不足していたり,消耗品の交換のためにカバーが開けられていたりする状態では,プリンタ200は,印刷を実行できない。PC100は,図3(A)に示すように,プリンタ200の回答に基づいて,プリンタ200が印刷を実行できない状態であると判断できる。つまり,プリンタ200におけるエラー発生中やユーザによる作業中は,処理不可状態の一例である。そして,PC100は,図3(B)に示すように,HDD34に記憶されている印刷ジョブPの設定を蓄積印刷ジョブQに変更してHDD34に記憶させ,変更済みの蓄積印刷ジョブQを,図3(C)に示すように,プリンタ200に送信する。
プリンタ200は,受信した蓄積印刷ジョブQを一旦自身のRAM233に蓄積し,印刷可能な状態となっても,印刷条件を満たすまで印刷を開始しない。そして,プリンタ200は,例えば,図3(D)に示すように,操作パネル240を介してユーザによる印刷開始の指示を受け付けた後,記憶している蓄積印刷ジョブQの印刷を実行する。そして,プリンタ200は,蓄積印刷ジョブQの印刷物を排出する。蓄積印刷ジョブQの印刷物の印刷内容は,当初の印刷ジョブPと同じである。プリンタ200は,蓄積印刷ジョブQの印刷を,ユーザによる印刷開始の指示を待って開始するので,ユーザの意図しないタイミングで印刷が開始されることがない。従って,印刷物が放置される可能性は低い。
続いて,本形態のPC100にて前述した監視動作を実現するための処理である監視処理の手順について,図4のフローチャートを参照して説明する。この監視処理は,CPU31にて,監視プログラム341が起動されている間に定期的に実行される。
CPU31は,監視処理の実行を開始すると,まず,OSから現在の時刻を取得して開始時刻として記憶する(S101)。この開始時刻は,後述する経過時間の判断に用いられる。次に,CPU31は,スプーラ344によりHDD34に記憶され,待機中となっている印刷ジョブが有るか否かを判断する(S102)。具体的には,CPU31は,スプーラ344に印刷ジョブの有無を問い合わせることにより,プリンタ200への送信が開始されておらず,待機中の状態でHDD34に記憶されている印刷ジョブの有無を判断する。そして,HDD34に記憶されている印刷ジョブが無いと判断した場合(S102:NO),CPU31は,監視処理を終了する。
一方,HDD34に記憶されている印刷ジョブが有ると判断した場合(S102:YES),CPU31は,プリンタ200に稼動状態を問い合わせる(S103)。CPU31は,ネットワークインターフェース37を介して,プリンタ200に,稼動状態の問い合わせ情報を送信する。
そして,CPU31は,プリンタ200からの回答を受信したか否かを判断する(S104)。受信していないと判断した場合(S104:NO),CPU31は,問い合わせの送信後,所定の待機時間が経過したか否かを判断する(S105)。所定の待機時間が経過していないと判断した場合(S105:NO),CPU31は,回答を受信するか,待機時間が経過するかのいずれかとなるまで待機する。待機時間は,例えば5秒であり,予め決めてROM32またはHDD34に記憶されている。
プリンタ200からの回答を受信したと判断した場合(S104:YES),CPU31は,受信した回答に基づいて,プリンタ200が,印刷可能な状態であるか否かを判断する(S106)。S105とS106とは,状態判断処理の一例である。そして,印刷可能であると判断した場合(S106:YES),CPU31は,監視処理を終了する。
一方,問い合わせの送信後,待機時間を超えてもプリンタ200から回答が得られない場合(S105:YES),または,プリンタ200が印刷不可能な状態であると判断した場合(S106:NO),CPU31は,この監視処理の実行開始から所定時間が経過したか否かを判断する(S107)。つまり,CPU31は,S101にて取得した開始時刻と,S107の判断を実行する現在時刻との差が,予め設定した所定時間以上であるか否かを判断する。所定時間は,例えば,1〜30分の間でユーザによる指定が可能であり,HDD34に記憶されている。S107は,時間判断処理の一例である。
所定時間が経過していないと判断した場合(S107:NO),CPU31は,S103に戻って,再びプリンタ200に問い合わせる。一方,初回の問い合わせから所定時間後も印刷不可能状態が継続している場合(S107:YES),CPU31は,印刷ジョブの設定を変更する処理である設定変更処理を実行する(S110)。S110は,変更処理の一例である。
プリンタ200との通信が不調であったり,プリンタ200が印刷不可能な状態であったとしても,例えば,簡単な作業中であれば,すぐに印刷可能な状態に戻ることが予想される。短時間の印刷不可能状態であれば,ユーザの意図しないタイミングで印刷物が出力される可能性が低いので,印刷ジョブの設定を変更せず,単に回復を待って送信した方が好ましい。つまり,本形態のPC100では,プリンタ200の処理不可状態が検知されてから,所定時間の経過を待っても処理不可状態が継続している場合に,印刷ジョブの設定を変更する。
次に,監視処理のS110にて実行される設定変更処理の手順について,図5のフローチャートを参照して説明する。設定変更処理では,CPU31は,まず,スプーラ344にてHDD34に記憶された印刷ジョブのうち,最も早く記憶された印刷ジョブを読み出す(S201)。そして,CPU31は,読み出した印刷ジョブのジョブ設定を解析する(S202)。そして,CPU31は,解析結果に基づいて,読み出した印刷ジョブが,蓄積印刷ジョブであるか否かを判断する(S203)。S203は,設定判断処理の一例である。
読み出した印刷ジョブが,蓄積印刷ジョブではないと判断した場合(S203:NO),CPU31は,読み出した印刷ジョブのユーザについて,パスワートが設定済みであるか否かを判断する(S204)。印刷ジョブのユーザは,例えば,ジョブ設定の中に記憶されている。S204は,ユーザ判断処理の一例である。PC100は,設定済みのパスワードについて,例えば,図6に示すようなパスワード表51をRAM33に記憶している。パスワード表51には,パスワードを設定済みのユーザのユーザIDに関連付けて,そのユーザのパスワードと,ジョブ設定を変更した印刷ジョブの印刷ジョブIDと,が記憶されている。そして,S204では,CPU31は,RAM33からパスワード表51を読み出し,S201にて読み出した今回の印刷ジョブのユーザのユーザIDに対応付けて,パスワードと印刷ジョブIDとが記憶されているか否かを判断する。
なお,PC100は,スプーラ344による印刷ジョブの送信が実行された後,パスワード表51に記憶されている印刷ジョブIDを削除する。つまり,パスワード表51に記憶されている印刷ジョブIDは,スプーラ344にてHDD34に記憶され,待機中の印刷ジョブのみである。従って,パスワード表51に印刷ジョブIDが記憶されているか否かの判断は,HDD34に同一ユーザの複数の印刷ジョブが記憶されているか否かの判断と同等である。
パスワートが設定済みではないと判断した場合(S204:NO),CPU31は,新規にパスワードを生成する(S205)。つまり,CPU31は,パスワード表51に記憶されているパスワード以外のパスワードを生成し,S201にて読み出した今回の印刷ジョブのユーザのユーザIDに関連付けて,パスワード表51に記憶させる。
そして,CPU31は,S205にて生成したパスワードを,ユーザに通知する(S206)。CPU31は,例えば,ユーザが印刷指示を入力したPC100のディスプレイ41に,プリンタ200が印刷不可能な状態であり印刷ジョブにパスワードを設定した旨と,設定したパスワードと,を表示させる。S206は,通知処理の一例である。
一方,今回の印刷ジョブのユーザについて,パスワードが設定済みであると判断した場合(S204:YES),CPU31は,当該ユーザに設定されているパスワードを取得する(S207)。つまり,CPU31は,今回の印刷ジョブのユーザのユーザIDとパスワードとが,既にパスワード表51に記憶されている場合,ユーザIDに関連付けて記憶されているパスワードをパスワード表51から読み出す。S205またはS207は,取得処理の一例である。
そして,CPU31は,S205またはS207にて取得したパスワードを,今回の印刷ジョブのジョブ設定に追加し,当該印刷ジョブを蓄積印刷ジョブに変更する(S208)。印刷ジョブの設定の変更は,例えば,蓄積印刷ジョブであることを示すコマンド,及び,パスワードを示すコマンドを,印刷ジョブのジョブ設定に付加することで行うことができる。そして,CPU31は,これらのコマンドを付加した印刷ジョブをスプーラ344に渡し,HDD34に記憶させる(S209)。ここで,CPU31は,各コマンドを付加した印刷ジョブに対して印刷ジョブIDを生成し,印刷ジョブと生成した印刷ジョブIDとをスプーラ344に渡す。
なお,CPU31は,S209にて印刷ジョブを記憶させた後,元の印刷ジョブをスプーラ344にてHDD34から削除させる。さらに,CPU31は,S209にてスプーラ344に渡した印刷ジョブの印刷ジョブIDを,ユーザIDに関連付けてパスワード表51に記憶させる。
S209の後,または,読み出した印刷ジョブが蓄積印刷ジョブであると判断した場合(S203:YES),CPU31は,さらに次の印刷ジョブがHDD34に記憶されているか否かを判断する(S210)。印刷ジョブが既に蓄積設定となっていれば,ジョブ設定を変更する必要はない。本形態のPC100では,印刷ジョブが蓄積印刷ジョブではない場合に設定の変更を行うことで,処理負担を軽減できる。
そして,次の印刷ジョブが有ると判断した場合(S210:YES),CPU31は,S201に戻って次の印刷ジョブを読み出す。一方,次の印刷ジョブが無いと判断した場合(S210:NO),CPU31は,設定変更処理を終了して,図4の監視処理に戻る。そして,CPU31は,監視処理のS110に示した設定変更処理の後,監視処理を終了する。
本形態のPC100では,プリンタ200が印刷不可能な状態であると判断した場合,スプーラ344にてHDD34に記憶されている印刷ジョブの設定を蓄積印刷ジョブの設定に変更し,さらに,パスワードを付加する。そのため,プリンタ200の状態が印刷可能な状態に回復した後,印刷ジョブの印刷を実行させる際には,当該パスワードの入力が求められるので,第三者による印刷の実行を防ぐことができる。
また,同一ユーザの複数の印刷ジョブがHDD34に記憶されている場合には,各印刷ジョブに同じパスワードが設定されるので,それぞれ異なるパスワードが設定される場合に比較して,印刷ジョブの印刷を実行させる際のユーザの負担が軽減される。さらに,パスワードを自動的に生成した場合には,生成したパスワードを該当するユーザに通知するので,ユーザは,パスワードを確実に認識できる。
なお,S209では,元の印刷ジョブをHDD34から削除し,変更後の印刷ジョブをHDD34に追加して記憶させる。そのため,複数の印刷ジョブが記憶されていれば,変更後の印刷ジョブは,他の印刷ジョブより後順となる。一方,HDD34に記憶されている印刷ジョブに対して,部分的な変更を加えることが可能であれば,ジョブ設定の内容だけを書き換えるとよい。つまり,記憶順を変更せずにジョブ設定のみを変更できる場合には,削除せずに書き換えを行うとよい。
第1の形態のPC100は,スプーラ344によりHDD34に印刷ジョブが記憶されていれば,監視プログラム341に基づく監視処理を定期的に実行する。そして,プリンタ200が印刷不可能な状態であると判断した場合,PC100は,印刷ジョブの設定を,蓄積印刷ジョブの設定に変更する。一方,スプーラ344は,プリンタ200にジョブ送信が可能であれば,蓄積されている印刷ジョブを送信する。このとき,送信された印刷ジョブが,監視処理にて設定が変更された後の印刷ジョブであれば,プリンタ200は,RAM33に印刷ジョブを蓄積する。そして,プリンタ200は,印刷条件が満たされるまで,印刷ジョブの印刷を実行しない。従って,ユーザの意図しないタイミングで印刷が開始されることはなく,印刷物が放置される可能性は低い。
続いて,本発明にかかるプログラムを搭載した情報処理装置を具体化した第2の実施の形態について,添付図面を参照しつつ詳細に説明する。第2の形態は,第1の形態の監視処理のS110の設定変更処理に代えて,印刷ジョブの印刷物の後に白紙を出力する白紙ジョブを追加する点で,第1の形態とは異なる。第2の形態の情報処理装置の構成は,第1の形態と同じである。また,第2の形態の処理のうち,第1の形態と同じ処理については,同じ符号を付して説明を省略する。
第2の形態のPC100でも,第1の形態のPC100と同様に,プリンタ200に稼動状態を問い合わせる。そして,プリンタ200が印刷不可能な状態であると判断した場合,PC100は,図7に示すように,スプーラ344にてHDD34に記憶されている印刷ジョブPの後に,白紙ページを含む白紙ジョブRを追加する。PC100は,印刷ジョブPのジョブ設定は変更しない。このようにすると,プリンタ200が印刷可能な状態となった後,印刷ジョブPに続いて,白紙ジョブRが実行される。
第2の形態のPC100の監視処理にて実行される白紙挿入処理の手順について,図8のフローチャートを参照して説明する。白紙挿入処理では,CPU31は,まず,印刷ジョブの読み出し(S201)と,印刷ジョブの解析(S202)とを行う。そして,CPU31は,解析結果に基づいて,読み出した印刷ジョブのジョブ設定が蓄積印刷ジョブであるか否かを判断する(S203)。
読み出した印刷ジョブのジョブ設定が蓄積印刷ジョブではないと判断した場合(S203:NO),CPU31は,読み出した印刷ジョブをHDD34から削除し,設定の変更等を行うことなく,スプーラ344にてHDD34の最後に記憶させる(S301)。
そして,CPU31は,白紙を出力する白紙ジョブを生成させる(S302)。CPU31は,プリンタドライバ342に白紙画像を印刷する印刷ジョブである白紙ジョブを生成させる。あるいは,白紙ジョブは,監視プログラム341のインストールセットに予め含まれていてもよい。その場合,CPU31は,インストール時に白紙ジョブをHDD34に記憶させておき,S302にて,記憶している白紙ジョブを読み出す。なお,白紙ジョブは,白紙ページを含む印刷ジョブであればよく,印刷せずに1枚の白紙を出力する印刷ジョブであってもよいし,一面に幾何学模様等を印刷し,他面を白紙ページとして出力する印刷ジョブであってもよい。
CPU31は,S302にて生成した白紙ジョブを,S301にて記憶させた印刷ジョブの次に,スプーラ344によりHDD34に記憶させる(S303)。これにより,HDD34には,蓄積印刷ジョブではない印刷ジョブ,つまり,即時印刷ジョブの次に,白紙ジョブが記憶される。なお,白紙ジョブのジョブ設定も,即時印刷ジョブである。なお,HDD34に記憶されている複数の印刷ジョブの間に,新たに印刷ジョブを挿入することができる場合には,読み出した印刷ジョブを削除して再度記憶させる代わりに,印刷ジョブの後に白紙ジョブを追加して挿入してもよい。
そして,S303の後,または,読み出した印刷ジョブのジョブ設定が蓄積印刷ジョブであると判断した場合(S203:YES),CPU31は,さらに次の印刷ジョブがHDD34に記憶されているか否かを判断する(S210)。次の印刷ジョブが有ると判断した場合(S210:YES),CPU31は,S201に戻って次の印刷ジョブを読み出す。一方,次の印刷ジョブが無いと判断した場合(S210:NO),CPU31は,白紙挿入処理を終了して,監視処理に戻る。
第2の形態のPC100では,プリンタ200が印刷不可能な状態であると判断した場合,スプーラ344により,即時印刷ジョブの後に,白紙ジョブをHDD34に記憶させる。従って,プリンタ200は,スプーラ344から即時印刷ジョブの後に白紙ジョブを受信する。そして,プリンタ200は,印刷可能な状態となると,即時印刷ジョブの印刷を実行した後,白紙ジョブの印刷を実行する。つまり,即時印刷ジョブの印刷物の上に白紙ジョブの印刷物が排出されるので,即時印刷ジョブの印刷物の,第三者による印刷物の簡易な視認が抑制される。
以上,詳細に説明したように,第1の形態または第2の形態のPC100は,プリンタ200が印刷不可能な状態であると判断した場合,スプーラ344によりHDD34に記憶されている印刷ジョブを調整する。具体的には,PC100は,即時印刷ジョブのジョブ設定を,蓄積印刷ジョブに変更することにより,印刷物の放置を抑制する。あるいは,PC100は,即時印刷ジョブの後に,白紙ジョブを追加することにより,第三者による印刷物の簡易な視認を抑制する。従って,第1の形態または第2の形態のPC100によれば,印刷物に印刷された情報の漏洩を抑制できる。
なお,本実施の形態は単なる例示にすぎず,本発明を何ら限定するものではない。したがって本発明は当然に,その要旨を逸脱しない範囲内で種々の改良,変形が可能である。例えば,PCに限らず,サーバ,携帯機器等,プリンタドライバと監視プログラムとをインストールできる装置であれば適用可能である。
また,印刷ジョブの送信先の装置は,プリンタ200に限らず,コピー機,複合機,FAX装置等,印刷機能と通信機能とを有する装置であれば適用可能である。また,印刷方式は,電子写真方式でもインクジェット方式でもよい。
また,印刷ジョブをHDD34に記憶させるとしたが,RAM33に記憶させてもよい。つまり,RAM33が,情報処理装置の記憶部の一例であってもよい。
また,設定変更処理にて即時印刷ジョブを蓄積印刷ジョブに変更した場合,パスワードの設定はしなくてもよい。例えば,プリンタ200の操作パネル240にて印刷ジョブが選択され,スタートボタンが押下されることで,印刷が開始されるとしてもよい。このようにしても,ユーザの意図しないタイミングで印刷されていたということは回避されるので,印刷物の放置は抑制される。ただし,パスワードを設定した方が,より情報の漏洩を抑制できる。
また,同一ユーザであれば,複数の印刷ジョブに共通のパスワードを設定するとしたが,印刷ジョブごとに異なるパスワードとしてもよい。その場合には,パスワード表51を記憶する必要はなく,S204の判断と,S207の処理とを削除して,S203にてNOの場合にはS205へ進むとすればよい。ただし,共通のパスワードとすれば,印刷実行時のユーザの手間は少ない。
また,PC100による自動的なパスワードの生成に代えて,パスワード表51に予めユーザごとのパスワードを設定しておいてもよい。この場合には,印刷ジョブの設定を変更した後に,パスワードの通知をしなくてもよい。
また,本形態では,パスワードの通知は,ディスプレイ41への表示にて行うとしたが,例えば,音声メッセージによる通知としてもよいし,ユーザごとに登録された携帯端末装置等に送信するとしてもよい。
また,監視処理のS107では,処理開始からの経過時間を所定時間と比較するとしたが,プリンタへの問い合わせ(S103)からの経過時間としてもよいし,回答受信(S104)からの経過時間としてもよいし,印刷不可能状態であると判断した後の経過時間としてもよい。また,S107による所定時間の待機動作は,無くてもよい。ただし,所定時間待機することで,例えば,シート切れに対するシートの補充等,短時間の中断であれば印刷ジョブの設定が変更されないので,ユーザの手間がむやみに増えることはない。
また,予め監視処理を組み込んだプリンタドライバを提供してもよい。すなわち,実施の形態では,プリンタドライバ342と監視プログラム341とが別々のモジュールであるとしたが,1つのモジュールであってもよい。ただし,監視プログラム341がプリンタドライバ342とは異なるモジュールであれば,従来のプリンタドライバが組み込まれているPC100であっても,本願発明を適用可能である。
また,第1の形態の監視プログラムと第2の形態の監視プログラムとをともに備えるPCとしてもよい。そして,PC100は,例えば,印刷ジョブの送信先のプリンタが,蓄積印刷ジョブに対応しているか否かに応じて,いずれを実行するかを決定してもよい。具体的に,PC100は,送信先となりうるプリンタの型番等に対応付けて,蓄積印刷ジョブの処理に対応しているか否かを示す情報を記憶し,対応している場合には第1の形態の監視プログラムを実行し,対応していない場合には第2の形態の監視プログラムを実行するとしてもよい。
また,実施の形態に開示されている処理は,単一のCPU,複数のCPU,ASICなどのハードウェア,またはそれらの組み合わせで実行されてもよい。また,実施の形態に開示されている処理は,その処理を実行するためのプログラムを記録した記録媒体,または方法等の種々の態様で実現することができる。