説明

情報処理装置およびその制御方法、並びにプログラム

【課題】複数のサブシステムから構成される印刷システムにおいて、ジョブキャンセルに関わる事由を、各サブシステム間で共有できないといった不具合があった。
【解決手段】印刷システムに含まれ、印刷処理において下位に位置する下位装置に印刷ジョブを送信する情報処理装置であって、前記印刷ジョブをキャンセルするか否かを判断する判断手段と、前記判断手段により前記印刷ジョブへの処理をキャンセルすると判断された場合、前記下位装置に対し、キャンセルの事由に関する情報を付加した当該印刷ジョブのキャンセルコマンドを発行するキャンセルコマンド発行手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびその制御方法、並びにプログラムに関し、特に印刷システム内において、印刷ジョブのステータスを共有するための制御に関する。
【背景技術】
【0002】
デジタルフォトプリントのシステムは、受注管理システム、印刷管理システム、プリンタといったサブシステムにより構成される。受注管理システムは、エンドユーザーの自宅PC(パーソナルコンピュータ、以後PCと称す)におけるネット注文、或いは、DPEショップにおける注文にてプリント注文を受ける。さらにこのプリント注文は印刷ジョブとして各サブシステムに転送され、印刷管理システムにより所定のプリンタで処理できる形式に変換される。そして、変換された印刷ジョブは、実際にプリントを行う場所(ラボ)に配置された専用のプリンタにより印刷出力される。このようなシステムでは上記各サブシステムはそれぞれ遠隔した場所に設置されることが多い。
【0003】
一方で、従来の印刷システムにおいては、例えばプリンタで紙ジャムなどのエラーが発生した時、それをホストコンピュータに報告していた。そして、紙ジャムのようなエラー種別に加えて、エラー発生時の印刷ページを報告することによって、エラー発生箇所以降の印刷を正確に継続できることを可能とする技術がある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平03−224778号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したデジタルフォトプリントのシステムにおいて、ジョブエラーを含む印刷ジョブが受注管理システムから送信された場合、後続の印刷管理システムにおいては、印刷ジョブをキャンセルさせる指示がプリンタに出される。この場合、従来技術においては、上位に位置する受注管理システムには、印刷管理システムから印刷ジョブに関するエラーが発生したことと、その原因がジョブエラーであることが通知される。もしくは印刷ジョブがキャンセルされたことが通知される。しかし、印刷処理において下位に位置するプリンタには、印刷ジョブに対するキャンセル指示が出されたということしか分からなかった。
【0006】
このため、例えば各サブシステムにおける表示の不一致が生じていた。すなわち、印刷管理システムにおいては、例えば印刷管理システムの表示部に、ジョブエラーであるということが表示され、プリンタにおいてはその表示部に、ジョブキャンセルであると表示されることになる。つまり、プリンタ側ではどういった状況によってキャンセル指示が出されたか知ることができない。また、上位の各サブシステムから発行された印刷ジョブをユーザーがキャンセル操作するケースにおいても、下位のサブシステムである、例えばプリンタはどういった状況によってキャンセル指示が出されたか知ることができない。
【0007】
すなわち、ジョブキャンセルに関わる事由を、各デバイス間で共有できないといった不具合を生じていた。特に、各サブシステムはそれぞれ遠隔した場所に設置されることが多いため、各サブシステムを実際に操作する、エンドユーザー、オペレータ等にとって、ジョブキャンセルに関わる事由が共有できないことはより大きな不具合となっていた。
【0008】
本発明は、従来技術の問題点を解消するものであって、ジョブキャンセルに関わる事由を、印刷システムを構成するサブシステムにて、上位から下位までを通して共有することを可能とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明は、以下の構成を有する。すなわち、印刷システムに含まれ、印刷処理において下位に位置する下位装置に印刷ジョブを送信する情報処理装置であって、前記印刷ジョブをキャンセルするか否かを判断する判断手段と、前記判断手段により前記印刷ジョブへの処理をキャンセルすると判断された場合、前記下位装置に対し、キャンセルの事由に関する情報を付加した当該印刷ジョブのキャンセルコマンドを発行するキャンセルコマンド発行手段とを有する。
【発明の効果】
【0010】
印刷ジョブのキャンセルに関わる事由を、印刷システムを構成する上位システムから下位システムまで通して共有することができる。
【図面の簡単な説明】
【0011】
【図1】実施形態に係るシステム構成の例を示す図。
【図2A】実施形態1の印刷システムの構成例のブロック図。
【図2B】実施形態1の画像処理部の構成例のブロック図。
【図2C】実施形態1の画像処理部の構成例のブロック図。
【図3】印刷管理システムでジョブエラー検出された場合のコマンドシーケンスの例図。
【図4】キャンセルコマンドの例を示す図。
【図5】画像処理部でデータエラー検出された場合のコマンドシーケンスの例図。
【図6】印刷ジョブを受注管理システムがキャンセルした場合のコマンドシーケンス1の例図。
【図7】印刷ジョブを受注管理システムがキャンセルした場合のコマンドシーケンス2の例図。
【図8】実施形態1に係る印刷管理システムでジョブエラー検出した場合の印刷管理システムの動作のフローチャート。
【図9】実施形態1に係る受注管理システムでユーザーキャンセルされた場合の印刷管理システムの動作のフローチャート。
【図10】実施形態1に係る受注管理システムの動作のフローチャート。
【図11】実施形態1に係るプリンタの動作のフローチャート。
【図12】実施形態1に係る印刷ジョブのデータエラーが発生した場合に印刷成果物の体裁により処理を変えるプリンタの動作のフローチャート。
【図13】実施形態2に係る印刷管理システムの構成例のブロック図。
【図14】実施形態2に係るプリンタドライバが印刷管理システムに存在する場合の印刷管理システムの動作のフローチャート。
【図15】実施形態3に係る冊子の印刷体裁の図。
【図16】実施形態3に係る印刷ジョブの例を示す図。
【図17】実施形態3に係る印刷ジョブのジョブエラーが発生した場合に印刷成果物の体裁により処理を変える印刷管理システムの動作のフローチャート。
【図18】実施形態3に係る印刷ジョブのジョブエラーが発生した場合に印刷成果物の体裁により処理を変えるプリンタの動作のフローチャート。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
<実施形態1>
[システム構成]
本実施形態の印刷システムの接続例について説明する。本実施形態の印刷システムは、受注管理システム101、印刷管理システム102、およびプリンタ103を含み、それらはネットワーク104を介して図1のように接続される。なお、図1において、各システムは1台にて示しているが、これに限定するものではない。例えば、受注管理システム101の処理を複数の情報処理装置にて実現するような構成であっても構わない。また、各システムは、例えば、PCなどの汎用的な情報処理装置にて実現可能であるとする。
【0014】
受注管理システム101は、ユーザーによるプリント注文を受け、その注文に対応した印刷設定、画像コンテンツを含む印刷ジョブを生成し、印刷管理システム102に対して発行する。印刷管理システム102は、生成された印刷ジョブを解析・変換し、プリンタ103へ発行する。変換された印刷ジョブを受けたプリンタ103は、印刷設定に従い、印刷するとともにプリンタ103内で管理しているジョブステータス情報を更新する。
【0015】
プリンタ103は、定期的にジョブステータス情報を印刷管理システム102に通知する。なお、プリンタ103は、印刷機能を有する複合機(MFP:MultiFunction Peripheral)などであっても構わない。印刷管理システム102は、受注管理システム101から要求を受けるとジョブステータス情報を受注管理システム101に通知する。
【0016】
なお、本明細書では、処理シーケンスにおいて、先にデータを受信するなど、より処理の実行が早い位置にあるものを他の装置と比べて上位に位置すると記載する。これに対し、より後に処理を行うものを下位に位置すると記載する。
【0017】
(印刷システム)
本実施形態の印刷システムの構成について、図2Aのブロック図を参照して説明する。本実施形態の印刷システムは、受注管理システム101、印刷管理システム102、プリンタ103を含む。印刷管理システム102は、受注管理システム101−印刷管理システム102間のI/F204、コール処理部205、印刷管理部206、ステータス管理部207、印刷処理部208、ステータス処理部209、および、プロトコル処理部210を有する。
【0018】
I/F204は、受注管理システム101からの要求を、印刷管理システム102へ受け渡す境界のI/Fである。I/F204には、印刷管理システム102から受注管理システム101へ向けてのイベント通知I/Fも含まれる。コール処理部205は、受注管理システム101からの要求を、インスタンスとして受け付ける。また、コール処理部205は、受け付けた要求に対する処理結果の返却を行う。具体的には、コール処理部205は、初期化、設定変更、終了、エラー通知などの処理要求受付/結果返却を行う。印刷管理部206は、印刷ジョブ、その他ジョブの要求受付/結果返却を担う。ステータス管理部207は、ステータス取得、リスナ登録の要求受付/結果返却を担う。また、ステータス管理部207は、登録リスナによる差分イベント、トラッキングジョブイベントの通知を担う。
【0019】
印刷処理部208は、印刷管理部206が受け付けた印刷ジョブをキューイングし、プリンタ103へ順次送信する。本実施形態において、印刷処理部208内は、図2Bのように構成される。ジョブ管理部212は、印刷管理部206から受け付けたジョブデータと、変換後のジョブデータとを保持する。ジョブ変換部213は、ジョブデータの解析および変換処理を行う。印刷ジョブのジョブエラーは、印刷処理部208内のジョブ変換部213で検出される。ジョブ送信部214は、変換後のジョブデータをプロトコル処理部210へ投入し、その応答の取得を行う。
【0020】
ステータス処理部209は、ステータス管理部207が受け付けたステータス取得要求をキューイングし、プリンタ103へ送信する。また、ステータス処理部209は、ステータス取得要求の応答としてプリンタ103から取得したステータスをステータスキャッシュとして保持する。更に、ステータス処理部209は、状態遷移を検出し、イベント通知部(不図示)へ投入する。プロトコル処理部210は、各処理部からの要求のキューイング制御、ポート振分けとプリンタ103との送受信制御を行う。
【0021】
本実施形態において、プリンタ103内の画像処理部211は、図2Cのように構成される。印刷管理システム102からの印刷ジョブ受け取ると、画像変換部215は、プリントチケットの印刷設定およびコンテンツデータを解析する。そして、画像変換部215は、解析した印刷設定に合わせコンテンツデータをラスタリングする。次に色変換部216は、ラスタリングされたコンテンツテータをRGB→CMYK変換する。そして、印刷コマンド生成部217は、変換後のコンテンツデータを用いてCMYK形式の印字コマンド生成した後、プリンタエンジン218に渡す。プリンタエンジン218は、生成された印字コマンドに従って、画像出力を行う。
【0022】
本実施形態において、受注管理システム101にて生成され、印刷管理システム102に送信される印刷ジョブは、印刷設定、部数設定等の情報で構成されるプリントチケットと、コンテンツとからなる。ここでのコンテンツは、例えば、JPEG(Joint Photographic Experts Group)、BMP(Bit MaP)、PDF(Portable Document Format)等から構成される。受注管理システム101から印刷管理システム102に投入された印刷ジョブは、I/F204を経由してコール処理部205内の印刷管理部206にて、印刷ジョブとして要求が受け付けられる。そして、印刷管理部206は、疑似ジョブステータスと称する仮のステータスを生成する。
【0023】
疑似ジョブステータスについて説明する。プリンタ103に印刷ジョブを発行し、プリンタ103から実際の印刷ジョブステータスとして返ってくるまでには一般にタイムラグを有する。そのため、プリンタ103からジョブステータス情報を受け取るまでの仮のステータスとして、疑似ジョブステータスを用いる。印刷管理システム102が受け付け、キューイング中の印刷ジョブはプリンタ103へ発行前であるため、プリンタ103のジョブステータス情報としては取得できない。しかし、受注管理システム101から印刷管理システム102への、印刷ジョブ自体の発行は済んでいるので、その状態管理とステータスを印刷管理システム102が行う。
【0024】
疑似ジョブステータスとして管理対象とするステータス項目例を以下に示す。
・受注管理側から指定されたジョブ名
・受注管理側から指定されたユーザー名
・ジョブの種別
・受付番号(注文ID)
・ジョブの優先度
・ジョブステータスのサマリ情報
・ジョブステータスの詳細情報
・ジョブエラー情報
【0025】
さらに印刷ジョブは、印刷管理部206から印刷処理部208に渡され、印刷処理部208が印刷ジョブの解析をするとともに、プリンタ103に対応して最適化されたコマンドに変換される。このとき印刷ジョブを構成するプリントチケットは解析およびコマンド変換されるが、コンテンツは変換されない。変換処理された印刷ジョブは、プロトコル処理部210によってプリンタ103に渡される。そして、プリンタ103内の画像処理部211は、印刷ジョブを構成するプリントチケット情報、つまり印刷設定に従い、コンテンツをレンダリングし、印刷出力する。
【0026】
プリンタ103は、印刷ジョブを受け取った時点で、ジョブステータス情報を生成する。プリンタ103は、定期的なタイミングで、更新されたジョブステータス情報を印刷管理システム102に通知する。
【0027】
更新されたジョブステータス情報は、プロトコル処理部210を経由してステータス処理部209に渡される。そして、ステータス処理部209は受け付けたジョブステータス情報をステータスキャッシュとして保持する。ステータス管理部207からステータス取得の要求があった場合、ステータス処理部209は、更新されたジョブステータス情報をステータス管理部207に渡し、ステータス管理部207は、管理しているジョブステータス情報を更新する。さらに新たに更新されたジョブステータス情報は、I/F204を経由して受注管理システム101に通知される。そして、受注管理システム101は、通知されたジョブステータス情報を用いて、自らが管理しているジョブステータス情報を更新する。
【0028】
[発生するエラー]
ここで、受注管理システム101における、エンドユーザーによるプリント指示の結果、作成される印刷ジョブに対し、下位のサブシステムにてデータ不正によるエラージョブであると判定されてしまうケースがある。そのケースは、大きく分けて2種類である。ひとつは、例えば、プリント指示において、選択した紙メディアが両面印刷できないものであるにもかかわらず、両面印刷を指示した場合や、印刷対象のコンテンツが存在しないなどの場合である。これらは印刷設定を記述したプリントチケットの不正となる。こうしたプリントチケット不正に起因する印刷ジョブのエラーを、以下「ジョブエラー」と称す。
【0029】
またもうひとつは、受注管理システム101において印刷指示した対象のコンテンツが、プリンタ103の印刷対象としていないファイル形式のものである場合や、ファイルそのものが壊れているといった場合がある。この場合は、印刷ジョブの対象とするコンテンツにおける不正に起因したエラーであり、このエラーを以下「データエラー」と称す。以上、本実施形態においては、2種類のデータ不正によるエラーが存在する。
【0030】
本実施形態では、印刷ジョブを構成するプリントチケット情報に関するジョブエラーは印刷管理システム102内の印刷処理部208で検出され、画像コンテンツに関するデータエラーはプリンタ103内の画像処理部211で検出されることになる。
【0031】
[ジョブエラー時のコマンドシーケンス]
印刷管理システム102にてプリントチケットに関するジョブエラーが検出された場合のコマンドシーケンス例を、図3を用いて説明する。
【0032】
まず、印刷管理システム102の印刷処理部208で、印刷ジョブを構成するプリントチケット情報において、プリンタ103へ印刷ジョブの発行途中にジョブエラーが検出された場合のコマンドシーケンス例を説明する。
【0033】
受注管理システム101は、印刷管理システム102に対して予め決まったシーケンスに従い、印刷ジョブを発行する(S301)。
【0034】
印刷ジョブを受けた印刷管理システム102は、プリンタ103に対して印刷ジョブを発行開始できる段階になった時点で印刷ジョブを発行する(S302)。つまり、印刷管理システム102は、受注管理システム101から印刷ジョブのデータをすべて受信し終わる前に、プリンタ103に対し、印刷ジョブ発行を開始し得る。ここで、プリンタ103に対する印刷ジョブ発行の途中に、印刷管理システム102内の印刷処理部208で印刷ジョブのジョブエラーを検出したとする(S303)。この場合、印刷管理システム102は、プリンタ103への印刷ジョブ発行をキャンセルする(S304)。
【0035】
例えば、印刷ジョブが3枚のコンテンツで構成されており、3枚目のコンテンツおよびプリントチケットの処理時にジョブエラーを印刷管理システム102が検出したとする。この場合、印刷管理システム102は、プリンタ103に対して発行した印刷ジョブをキャンセルするためキャンセルコマンドを発行する。
【0036】
具体的には、受注管理システム101において、ユーザーが以下のような設定で印刷指示を行った場合が挙げられる。
・プリントチケットのXMLの記述が正しい体裁になっていない場合
・印刷設定パラメータが不正である場合(片面印刷紙に両面の印刷設定をしている場合や、存在しないパラメータを設定している場合等)
・プリントチケットに記述されたファイル名とコンテンツのファイル名とが一致していない場合
【0037】
こうした場合、印刷管理システム102は、ジョブエラーであると検出する。S304にて印刷管理システム102が発行するキャンセルコマンドにはキャンセルに関わる事由の情報(以下、キャンセル事由)が付加されている。この情報によりプリンタ103は、単なる「ジョブキャンセル」ではなく「ジョブエラー」によるキャンセルであると認識することができる。
【0038】
キャンセルコマンドにキャンセル事由が付加されていないと、プリンタ103は単なる「ジョブキャンセル」と認識し、その結果、プリンタ103のUI(User Interface)に「ジョブキャンセル」と表示してしまう。実際にはシステムのエラー管理の実装によるが、エラーの詳細を区別すればするほど、このような上位と下位のエラー詳細の認識のずれが発生しうる。
【0039】
図4(A)にキャンセルコマンドの例を示す。ここでのキャンセルコマンドは、xmlフォーマットで記述したキャンセル事由が付加されているキャンセルコマンドである。図4(A)において以下の記述が、「ジョブキャンセル」に対応するエラー詳細である。
<operation>ikw:CancelJob</operation>
<vcn2:cancelreason>ikw:InvalidJobStruct</vcn2:cancelreason>
【0040】
さらに印刷管理システム102は、上位に位置する受注管理システム101に対してジョブエラーが発生したことを通知する(S305)。
【0041】
印刷管理システム102から通知(ErrorEventNotify)を受けた受注管理システム101は、下位のシステムに対して、ステータス取得コマンド(GetStatus)発行する。発行されたステータス取得コマンドは、印刷管理システム102を経由してプリンタ103に到達する。プリンタ103は、ジョブステータス情報を印刷管理システム102に返却する(S306)。
【0042】
印刷管理システム102は、プリンタ103から取得したジョブステータス情報を用いて自身が保持するデータに反映し、さらに上位の受注管理システム101にステータス情報を返す。このとき、印刷管理システム102は、必要に応じて「ジョブエラー」の情報をUI表示する。受注管理システム101も受信したジョブステータス情報を自身が保持するデータに反映し、必要に応じて「ジョブエラー」の情報をUI表示する。
【0043】
図4(B)にキャンセルコマンドのキャンセル事由とジョブステータスのエラー情報の例を示す。キャンセルコマンドに付加されるキャンセル事由である<cancelreason>情報を、プリンタ103にてジョブステータスのエラー情報<jobstatusdetail>として管理する。そして、プリンタ103は、ステータス取得の際にジョブステータスのエラー情報である<jobstatusdetail>も含め、上位に位置するシステムに返す。こうすることでエラー情報を上位から下位までの各システムにおいて統一することができる。
【0044】
[データエラー時のコマンドシーケンス]
次に、コンテンツデータにデータエラーが生じている場合について述べる。コンテンツデータにデータエラーが生じている具体的な例を述べる。
・コンテンツのファイルフォーマットとプリントチケットで宣言しているファイルフォーマットとが一致していない場合
・コンテンツのファイルフォーマットがサポート外のファイルである場合
・コンテンツが不正である場合(コンテンツが壊れている場合など)
【0045】
こうした場合、プリンタ103は、データエラーであるとして検出する。プリンタ103内の画像処理部211にて、コンテンツに関するデータエラーが検出された場合のコマンドシーケンス例を、図5を用いて説明する。
【0046】
まず、受注管理システム101は、印刷管理システム102に対して予め決まったシーケンスに従い、印刷ジョブを発行する(S401)。印刷ジョブを受けた印刷管理システム102は、プリンタ103に対して印刷ジョブを発行開始できる段階になった時点で印刷ジョブを発行する(S402)。ここで、プリンタ103が印刷ジョブの受信中に、受信ジョブのデータエラーを検出したとする(S403)。この場合、プリンタ103は、印刷管理システム102にレスポンスとして“NG”を返す(S404)。
【0047】
レスポンスとしてNGを受けた印刷管理システム102は、エラーとなったことをさらに上位の受注管理システム101に通知する(S405)。通知(ErrorEventNotify)を受けた受注管理システム101は、ジョブステータス情報を取得するコマンド(GetStatus)を発行する。そして、印刷管理システム102はさらにプリンタ103に対して、プリンタ103のジョブステータス情報を取得するコマンドを発行する(S406)。
【0048】
プリンタ103は、ジョブステータス情報を上位のシステムに通知する。このとき、ジョブステータス情報にはキャンセルジョブのエラー詳細情報が含まれる(S407)。こうすることで、エラー情報を上位から下位までの各システムにて共有することができる。キャンセルジョブのエラー詳細情報がないと、上位に位置する印刷管理システム102および受注管理システム101は、プリンタ103にてジョブがキャンセルされたとしか判断できない。この場合、印刷管理システム102および受注管理システム101は、プリンタ103が単なる「ジョブキャンセル」をしたと認識し、プリンタ103に対応するUIに「ジョブキャンセル」と表示してしまう。
【0049】
(印刷管理システムにおける処理)
本実施形態における、印刷管理システム102の動作について図8のフローチャートを用いて説明する。なお、本処理は、印刷管理システム102が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。
【0050】
印刷管理システム102は受注管理システム101からNページの印刷ジョブを受信すると本処理を開始する。ここで、印刷ジョブに含まれるNページのうち、着目ページをn枚目のページとして示す。印刷管理システム102は、受信した印刷ジョブに含まれるNページに対して、以下の処理を繰り返す(S701〜S711)。印刷管理システム102は、印刷ジョブの着目ページに対して解析・変換を行う(S702)。
【0051】
S703にて、印刷管理システム102は、印刷ジョブのプリントチケット解析にてプリントチケットにエラーがあるか否かを判定する(S703)。プリントチケットにエラーが無い場合は(S703にてNO)、印刷管理システム102は、送信できる段階になった時点で、着目ページをプリンタ103へ送信する。そして、エラーが発生しない限り、印刷管理システム102は、Nページ分の送信が完了するまで、ジョブ変換/送信処理を繰り返す。そして、印刷管理システム102は、正常にすべてのページの送信が完了した際にその旨をUI上に表示する。
【0052】
プリントチケットにエラーが検出された場合(S703にてYES)、着目ページが2枚目以降のページであるか否かを判定する(S704)。着目ページが1枚目のページである場合(S704にてNO)、印刷管理システム102は、キューにある印刷ジョブを削除する(S707)。そして、S708へ進む。
【0053】
着目ページが2枚目以降のページであれば(S704にてYES)、すでに印刷ジョブがプリンタ103に対して発行されているため、印刷管理システム102は、プリンタ103に対し印刷ジョブのジョブキャンセルコマンドを発行する。このとき、印刷管理システム102は、ジョブキャンセルコマンドに、そのキャンセル事由を付加し送信する(S705)。そして、印刷管理システム102は、着目ページがN枚目のページであるか否かを判定する(S706)。
【0054】
着目ページがN枚目のページでない場合には(S706にてNO)、印刷管理システム102は、キューにある印刷ジョブを削除する(S707)。これにより、印刷ジョブの処理が途中であっても以降の印刷ジョブの発行は行われない。着目ページがN枚目のページである場合には(S706にてYES)、S708へ進む。
【0055】
次に、印刷管理システム102は、上位に位置する受注管理システム101にエラーイベント通知する(S708)。そして、印刷管理システム102は、UIにてキャンセル事由(このケースでは「ジョブエラー」)を表示し、本処理フローを終了する(S709)。
【0056】
(受注管理システムにおける処理)
次に、受注管理システム101の動作について図10のフローチャートを用いて説明する。なお、本処理は、受注管理システム101が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。
【0057】
受注管理システム101は、印刷ジョブを発行し印刷管理システム102に送信するまでに、印刷管理システム102から印刷ジョブのキャンセルを指示されたか否かを判定する(S901)。キャンセルの指示を受けていない場合は(S901にてNO)、受注管理システム101は、印刷ジョブを送信するまでに、印刷管理システム102を含む、より下位に位置するシステムでエラーを検出した通知を受信したか否かを判定する(S902)。
【0058】
印刷管理システム102からエラーの通知を受信していない場合(S902にてNO)、受注管理システム101は、印刷ジョブに対して、ユーザーがキャンセルをしたか否かを判定する(S905)。印刷ジョブをユーザーがキャンセルしない場合は(S905にてNO)、受注管理システム101は、印刷ジョブを印刷管理システム102へ送信する(S909)。そして、本処理フローを終了する。
【0059】
印刷ジョブに対し、ユーザーがキャンセルをした場合は(S905にてYES)、受注管理システム101は、印刷ジョブを印刷管理システム102に送信前か否かを確認する(S906)。印刷ジョブが送信前であれば(S906にてYES)、受注管理システム101は、S908へ進む。印刷ジョブの送信を開始していれば(S906にてNO)、受注管理システム101は、印刷管理システム102へキャンセルコマンドと共に、キャンセル事由を送信する(S907)。そして、受注管理システム101は、UIにてキャンセル事由を表示し、本処理を終了する。なお、ここで表示されるキャンセル事由は、ユーザーにより、印刷ジョブがキャンセルされた旨が提示される。
【0060】
印刷管理システム102から、キャンセルの指示もしくはエラーの通知を受けた場合(S901もしくはS902にてYES)、S903へ進む。そして、受注管理システム101は、印刷管理システム102から各キャンセル事由(この場合、「ジョブエラー」、「データエラー」、「ユーザーキャンセル」のいずれか)を取得する(S903)。その後、受注管理システム101は、取得した各キャンセル事由をUIにて表示する(S904)。そして、本処理フローを終了する。
【0061】
(プリンタにおける処理)
次に、プリンタ103での動作について図11のフローチャートを用いて説明する。なお、本処理は、プリンタ103が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。
【0062】
図11において、処理が開始されると、プリンタ103は、印刷ジョブがユーザーによりキャンセルされたか否かを判定する(S1001)。ユーザーにより印刷ジョブがキャンセルされない場合は(S1001にてNO)、プリンタ103は、印刷管理システム102からジョブキャンセルコマンドおよびそのキャンセル事由を受信したか否かを判定する(S1007)。キャンセルコマンドを受信していない場合は(S1007にてNO)、プリンタ103は、印刷ジョブに対して印刷処理を実行する(S1008)。そして、プリンタ103は、印刷ジョブの印刷が完了したら、その旨をUIに表示させ、本処理フローを終了する。
【0063】
上位に位置する印刷管理システム102からジョブキャンセルコマンドとそれに付加されたキャンセル事由を受信した場合(S1007にてYES)、プリンタ103は、印刷ジョブを削除し、キャンセルする(S1005)。そして、プリンタ103は、UIにキャンセル事由(この場合、「ジョブエラー」)を表示し、本処理フローを終了する(S1006)。
【0064】
ユーザーにより印刷ジョブがキャンセルされた場合(S1001にてYES)、プリンタ103は、印刷管理システム102に印刷ジョブがキャンセルされた旨を通知する(S1002)。そして、プリンタ103は、印刷ジョブに対する画像処理が完了前か否かを確認する(S1003)。画像処理が完了前であれば(S1003にてYES)、プリンタ103は、その印刷ジョブに対する画像処理を中止する(S1004)。そして、S1005へ進む。画像処理が完了後であれば(S1003)にてNO、S1005へ進む。
【0065】
そして、プリンタ103はその印刷ジョブを削除し(S1005)、UIにてキャンセル事由(この場合、「ユーザキャンセル」)を表示する(S1006)。
【0066】
[データエラー検出処理]
次に図12を用いて、印刷ジョブにデータエラーを検出する場合のプリンタ103の動作を説明する。なお、本処理は、プリンタ103が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。
【0067】
ここでは、プリンタ103は、データエラーが発生した場合に印刷成果物の体裁設定により処理を変える。この体裁設定は、プリントチケットに記述されているものとする。処理が開始されると、プリンタ103は、印刷ジョブが単葉印刷か否かを判定する(S1101)。ここでの「単葉印刷」とは、1枚の用紙から構成される印刷物を出力する印刷処理である。「単葉印刷」に対し、複数ページから構成される冊子状の印刷物を出力する印刷処理を「冊子印刷」と記載する。印刷ジョブが単葉印刷である場合(S1101にてYES)、プリンタ103は、S1102〜S1112の処理を行う。印刷ジョブが単葉印刷でない場合(S1101にてNO)、プリンタ103は、S1113〜S1120の処理を行う。
【0068】
プリンタ103は、印刷ジョブを構成するN枚のページに対し、順次着目ページとして処理を行う(S1102)。まず、プリンタ103は、1ページ目を着目ページとして、画像処理を開始する(S1103)。プリンタ103は、着目ページのコンテンツにエラーがあるか否かを判定する(S1104)。コンテンツデータにエラーがあることが検出されると(S1104にてYES)、プリンタ103は、印刷続行が可能な設定かどうかを判断する(S1105)。ここで、印刷続行が可能な設定とは、例えば単葉片面印刷の設定であれば、エラーが発生したページ以外のページは印刷続行が可能として処理を継続することができる。
【0069】
印刷処理が続行可能な設定である場合には(S1105にてYES)、プリンタ103は、上位の印刷管理システム102に対して、着目ページでエラーが発生した旨を通知する(S1106)。そして、プリンタ103は、キャンセル事由(このケースでは「データエラー」)をプリンタ103のUIで表示する(S1107)。そして、S1103に戻り、プリンタ103は、後続のページの画像処理を続行する。
【0070】
S1105にて印刷続行が不可能と判断すると(S1105にてNO)、プリンタ103は、受信した印刷ジョブを削除する(S1108)。印刷続行が不可能な場合とは、例えば、単葉両面印刷の場合、表面の画像データで不正があれば裏面の印刷は続行すべきでない。そして、プリンタ103は、上位の印刷管理システム102に対してデータエラーが発生した旨のエラーイベント通知する(S1109)。そして、プリンタ103は、キャンセル事由(このケースでは「データエラー」)をプリンタ103のUIで表示する(S1110)。そして、本処理フローを終了する。
【0071】
着目ページのコンテンツに不正がない場合(S1104にてNO)、プリンタ103は着目ページの印刷を実行する(S1111)。そして、プリンタ103は、エラーが発生しない限り、すべてのページに対して印刷処理を行う。その後、プリンタ103は、印刷完了の旨をプリンタ103のUIに表示し、本処理フローを終了する。
【0072】
印刷ジョブが単葉印刷ではなく冊子印刷の場合(S1101にてNO)、印刷ジョブを構成するN枚のページに対し、順次着目ページとして処理を行う(S1113)。まず、プリンタ103は、1ページ目に対して、画像処理を開始する(S1114)。プリンタ103は、着目ページのコンテンツにエラーがあるか否かを判定する(S1115)。コンテンツデータにエラーがあることが検出されると(S1115にてYES)、プリンタ103は、受信していた印刷ジョブを削除する(S1116)。そして、プリンタ103は、上位の印刷管理システム102に対してデータエラーが発生した旨のエラーイベントを通知する(S1117)。そして、プリンタ103は、キャンセル事由(このケースでは「データエラー」)をプリンタ103のUI上で表示する(S1118)。そして、本処理フローを終了する。
【0073】
コンテンツにエラーがない場合(S1115にてNO)、プリンタ103は、エラーが発生しない限り、印刷ジョブを構成するすべてのページに対して画像処理を行う(S1119)。そして、プリンタ103は、画像処理が完了した印刷ジョブに対して、印刷を行う(S1120)。その後、プリンタ103は、印刷完了の旨をプリンタ103のUIに表示し、本処理フローを終了する。
【0074】
なお図12では印刷成果物の体裁により処理を切り替えるプリンタの実施形態を説明した(S1101)。しかし、処理を切り替えないプリンタであって構わない。その場合は印刷成果物の体裁に関わらず、コンテンツにエラーがあれば、印刷ジョブを削除するという、S1113からS1120の処理のみとなる。言い換えると単葉印刷の処理が存在しない。
【0075】
[ユーザーキャンセル時のコマンドシーケンス1]
これまで、印刷管理システム102がキャンセルコマンドを発行するケースとして、印刷管理システムにてエラーを検出する場合を説明した。別のケースとして、受注管理システム101から印刷ジョブを発行した後、受注管理システム101にて印刷ジョブをユーザーがキャンセル操作した場合を、図6を用いて説明する。
【0076】
最初に、受注管理システム101は、印刷管理システム102に対して予め決まったシーケンスに従い、印刷ジョブを発行する(S501)。印刷ジョブを受けた印刷管理システム102は、プリンタ103に対して印刷ジョブを発行開始できる段階になった時点でジョブ発行する(S502)。つまり印刷管理システム102は、受注管理システム101から印刷ジョブをすべて受信し終わる前に、プリンタ103にジョブ発行を開始し得る。
【0077】
ここで、印刷管理システム102がプリンタ103に対して印刷ジョブを発行している途中において、受注管理システム101にて印刷ジョブのキャンセルが実行されたとする(S503)。これに伴い、受注管理システム101は、印刷管理システム102に対してキャンセルコマンドを発行する(S504)。受注管理システム101からキャンセルコマンドを受けた印刷管理システム102は、プリンタ103への印刷ジョブの発行をキャンセルする(S505)。このとき、印刷管理システム102が発行するS504のキャンセルコマンドに付加されるキャンセル事由は以下のようになる。これはユーザーによる印刷ジョブ送信のキャンセルが実行されたことを示している。
<operation>ikw:CancelJob</operation>
<vcn2:cancelreason>ikw:user</vcn2:cancelreason>
【0078】
[ユーザーキャンセル時のコマンドシーケンス2]
受注管理システム101から印刷ジョブを受けた印刷管理システム102は、プリンタ103に対して印刷ジョブの発行開始ができる段階になった時点でジョブ発行する。しかし、印刷管理システム102が印刷ジョブを発行する前に、受注管理システム101が印刷ジョブキャンセルを実行し、キャンセルコマンドが印刷管理システム102に到達したとする。この場合、印刷管理システム102は、プリンタ103に対してキャンセルコマンド発行しない。この場合のコマンドシーケンスは図7のようになる。
【0079】
図7において、受注管理システム101は、印刷管理システム102に対して予め決まったシーケンスに従い、印刷ジョブを発行する(S601)。受注管理システム101から印刷ジョブを受けた印刷管理システム102は、プリンタ103に対して印刷ジョブを発行開始できる段階になった時点でジョブ発行する。しかし、それより前に受注管理システム101にて印刷ジョブのキャンセルが実行されたとする(S602)。この場合、受注管理システム101から印刷管理システム102にキャンセルコマンドが通知される(S603)。この時点では、印刷管理システム102は、プリンタ103に対し印刷ジョブを発行しておらず(S604)、キャンセルコマンドの発行は不要と判断する。そのため、印刷管理システム102は、プリンタ103に対してキャンセルコマンドの発行をしない(S605)。
【0080】
印刷管理システム102は、該当する印刷ジョブがキャンセルされたので、上位の受注管理システム101にエラーイベントを通知する(S606)。受注管理システム101は、印刷管理システム102からの通知(ErrorEventNotify)に応答してジョブステータス取得コマンドを発行する。ジョブステータス取得コマンドを受けた印刷管理システム102は、プリンタ103に対してジョブステータス取得コマンドを発行する。この場合、プリンタ103は、該当する印刷ジョブの存在を認識していない状態であるため、印刷管理システム102で管理している疑似ジョブステータスを用いてキャンセル事由と合わせてジョブステータス情報を返却する(S607)。
【0081】
(印刷管理システムにおける処理)
受注管理システム101で印刷ジョブがユーザーキャンセルされた場合の印刷管理システム102の動作について、図9のフローチャートを用いて説明する。なお、本処理は、印刷管理システム102が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。
【0082】
印刷管理システム102は、上位に位置する受注管理システム101から印刷ジョブを受けたのち、受注管理システム101から印刷ジョブをキャンセルするためのキャンセルコマンドを受信したか否かを判定する(S801)。受注管理システム101からキャンセルコマンドを受信した場合(S801にてYES)、印刷管理システム102は、すでに印刷ジョブをプリンタ103に対して送信しているか否かを判断する(S802)。
【0083】
印刷ジョブをプリンタ103に対して送信前であれば(S802にてYES)、印刷管理システム102は、印刷ジョブに対しプリンタ103に発行するためのジョブ変換処理をすでに終了しているかを判断する(S803)。印刷ジョブが変換中であれば(S803にてNO)、印刷管理システム102はジョブ変換を中止する(S804)。その後、印刷管理システム102は、印刷管理システム102のキューにある印刷ジョブを削除し、印刷ジョブの送信を中止する(S805)。その後、S807へ進む。印刷ジョブの変換が終了していれば(S803にてYES)、S805へ直接進む。
【0084】
すでに印刷ジョブをプリンタ103に対して発行していれば(S802にてNO)、印刷管理システム102は、該当する印刷ジョブの印刷を中止するためのキャンセルコマンドにキャンセル事由を付加して発行する。そして、印刷管理システム102は、プリンタ103へ発行したキャンセルコマンドを送信する(S806)。
【0085】
そして、印刷管理システム102は、印刷管理システム102のUIにてキャンセル事由(このケースでは「ユーザーキャンセル」)を表示し、本処理フローを終了する(S807)。
【0086】
受注管理システム101からキャンセルコマンドを受信しない場合(S801にてNO)、印刷管理システム102は、プリンタ103から印刷ジョブのキャンセルイベントの通知を受信したか否かを確認する。ここでの通知は、例えば、プリンタ103が印刷ジョブを受信中にユーザーがプリンタ103のパネル操作で印刷ジョブの受信をキャンセルした場合に通知される。キャンセルイベント通知を受けたら(S808にてYES)、印刷管理システム102は、プリンタ103からジョブステータス情報を取得する(S809)。そして、印刷管理システム102は、上位に位置する受注管理システム101に対してエラーイベントを通知する(S810)。その後、印刷管理システム102は、印刷管理システム102のUIにてプリンタ103より取得したキャンセルステータスに基づいたキャンセル事由(このケースでは「ユーザーキャンセル」)を表示し、本処理フローを終了する(S811)。
【0087】
プリンタ103からキャンセルイベント通知を受信しない場合(S808にてNO)、印刷管理システム102は、印刷ジョブをプリンタ103に送信する(S812)。そして、該当印刷ジョブに特に問題発生せず、すべての印刷ジョブをプリンタ103に送信し、印刷完了すれば、印刷管理システム102は、送信完了の旨を印刷管理システム102上のUIに表示し、本処理フローを終了する。
【0088】
なお、受注管理システム101の動作については図10のフローチャートを用いて説明した流れとなる。この場合、S903において、印刷管理システム102より取得したキャンセル事由は、「ユーザーキャンセル」となり、受注管理システム101は、S904にて受注管理システム101のUI上でその旨を表示する。
【0089】
一方、プリンタ103での動作については図11のフローチャートを用いて説明した流れとなる。この場合、S1006において、プリンタ103は、UIに表示するキャンセル事由は「ユーザーキャンセル」となる。
【0090】
なお、キャンセル事由が「ユーザーキャンセル」である場合、いずれのサブシステムにてユーザーからのキャンセル指示を受けたかの情報を更に含むようにしても構わない。
【0091】
このようにして、本実施形態においては、各サブシステムにて印刷ジョブをキャンセルした事由について、その情報を共有することを可能にしている。更には、各システムでの表示において、整合性を取ることが可能となる。
【0092】
<実施形態2>
本実施形態の印刷システムの構成について、図13のブロック図を参照して説明する。実施形態1と重複する箇所については同じ参照番号を付与している。実施形態1の図2Aでは画像コンテンツをレンダリングする画像処理部211をプリンタ103が備えていたのに対し、本実施形態では印刷管理システム102にプリンタドライバ1201が存在する。つまり、本実施形態では、印刷管理システム102内のプリンタドライバ1201により、画像コンテンツをレンダリングする。
【0093】
本実施形態の場合、印刷ジョブを構成するジョブチケット情報に関するジョブエラーも、画像コンテンツに関するジョブエラーも印刷管理システム102にて検出される。
【0094】
受注管理システム101で生成され印刷管理システム102に送信される印刷ジョブは印刷設定、部数設定等の情報で構成されるジョブチケットと、JPG、BMP、PDF等の画像コンテンツからなる。
【0095】
受注管理システム101から印刷管理システム102に投入された印刷ジョブは、I/F204を経由してコール処理部205内の印刷管理部206にて、印刷ジョブとして要求受付され、疑似ジョブステータスを生成する。印刷ジョブは、印刷処理部208に渡され、解析されるとともに、印刷ジョブを構成するジョブチケットがプリンタ103に対応して最適化されたコマンドに変換される。
【0096】
さらにコンテンツについても、プリンタドライバ1201にてレンダリングされる。プリンタドライバ1201は、第一実施形態の図2Aにおけるプロトコル処理部210の役割も果たし、変換された印刷ジョブは、プリンタ103に渡され、印刷出力される。
【0097】
プリンタ103は印刷ジョブを受け取った時点で、プリンタ103内でジョブステータス情報を生成する。プリンタ103は定期的なタイミングで、更新されたジョブステータス情報を印刷管理システム102に通知する。
【0098】
更新されたジョブステータス情報は、プリンタドライバ1201を介してステータス処理部209に渡され、ステータスキャッシュとして保持される。ステータス処理部209は、ステータス管理部207からの要求に応じて、更新されたジョブステータス情報をステータス管理部207に渡す。そして、ステータス管理部207は、自身が管理しているジョブステータス情報を更新する。さらに更新されたジョブステータス情報は、I/F204を経由して受注管理システム101に通知される。そして、受注管理システム101は、受信したジョブステータス情報を用いて、管理しているジョブステータス情報を更新する。
【0099】
図13に示す構成の本実施形態において、印刷ジョブを構成するジョブチケット情報に関するジョブエラーも、コンテンツに関するデータエラーも印刷管理システム102にて検出される。この場合のコマンドシーケンスは、実施形態1にて示した図3と同様になる。そして、実施形態1の図5にて示したデータエラー時のコマンドシーケンスは本実施形態では発生しないことになる。また、印刷ジョブを受注管理システム101にてキャンセルする場合のコマンドシーケンスについても実施形態1にて示した図6、図7と同様になる。
【0100】
[印刷管理システムの動作]
印刷管理システム102にてジョブエラー検出した場合の印刷管理システム102の動作について図14のフローチャートを用いて説明する。なお、本処理は、印刷管理システム102が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。ここで、印刷ジョブはNページから構成され、着目ページはn枚目のページとして記載する。
【0101】
印刷管理システム102は、受注管理システム101からNページから構成される印刷ジョブを受信すると処理を開始し、印刷ジョブを構成する各ページに対して以下の処理を実行する(S1301〜S1309)。印刷管理システム102は、印刷ジョブの着目ページに対し解析・変換を行う(S1302)。
【0102】
印刷管理システム102は、印刷ジョブのプリントチケット解析にてプリントチケットにエラーがあるか否かを判定する(S1303)。つまり、ここでのエラー判定は、ジョブエラーがあるか否かの判定に該当する。エラーが無い場合は(S1303にてNO)、印刷管理システム102は、着目ページを印刷管理システム102内部の印刷処理部208へ送信する。そして、着目ページにエラーが発生しない限り、印刷管理システム102は、印刷ジョブを構成するすべてのページを印刷処理部208に送信し、S1310へ進む。
【0103】
プリントチケットにエラーがある場合(S1303にてYES)、エラーがある着目ページが最終ページであるか否かを判定する(S1304)。着目ページが最終ページである場合には(S1304にてYES)、S1306に直接進む。着目ページが最終ページでない場合は(S1304にてNO)、印刷管理システム102は、キューにある印刷ジョブを削除する(S1305)。そして、印刷管理システム102は、上位に位置する受注管理システム101にエラーイベントを通知する(S1306)。その後、印刷管理システム102は、印刷管理システム102上のUIにてキャンセル事由(このケースでは「ジョブエラー」)を表示し、本処理フローを終了する(S1307)。
【0104】
印刷管理システム102は、印刷ジョブを構成する各ページに対して以下の処理を実行する(S1310〜S1318)。印刷管理システム102は、着目ページに対して画像処理を実行する(S1311)。そして、印刷管理システム102は、着目ページのコンテンツにエラーがあるか否かを判定する(S1312)。つまり、ここでのエラー判定は、データエラーがあるか否かの判定に該当する。エラーが無い場合は(S1312にてNO)、着目ページにエラーが無い限り、印刷管理システム102は、印刷ジョブを構成するすべてのページの画像処理を行う。そして、S1319へ進む。すべてのページに対する画像処理が終了したら、印刷管理システム102は、プリンタ103へ印刷ジョブを送信し、印刷を実行させる。そして、本処理フローを終了する。
【0105】
着目ページに画像コンテンツのデータエラーが検出された場合(S1312にてYES)、印刷管理システム102は、着目ページが1ページ目であるか否かを判定する。データエラーが検出された着目ページが1ページ目である場合(S1313にてNO)、印刷管理システム102は、印刷管理システム102のキューにある印刷ジョブを削除する(S1315)。そして、S1316へ進む。
【0106】
データエラーが検出された着目ページが1ページ目でない場合(S1313にてYES)、すでに印刷ジョブがプリンタ103に対して発行されている。そのため、印刷管理システム102は、プリンタ103に対し印刷ジョブのジョブキャンセルコマンドに、そのキャンセル事由を付加し、発行する(S1314)。
【0107】
印刷管理システム102は、上位に位置する受注管理システム101に対してエラーイベント通知する(S1316)。そして、印刷管理システム102は、印刷管理システム102上のUIにてキャンセル事由(このケースでは「データエラー」)を表示し、本処理フローを終了する(S1317)。
【0108】
このようにして、本実施形態にて示した構成においても、実施形態1と同様に、各サブシステムにて印刷ジョブをキャンセルした事由について、その情報を共有することが可能となる。更には、各システムでの表示において、整合性を取ることが可能となる。
【0109】
<実施形態3>
本実施形態では、プリンタ103へジョブ発行の途中に、印刷管理システム102でジョブエラー検出した場合の印刷管理システム102のキャンセル処理の例を説明する。実施形態1では、図12のS1101に示すようにプリンタ103が印刷設定に応じてキャンセルの判断基準を切り替えていた。本実施形態では、印刷管理システム102側で、印刷設定に応じた、キャンセルの判断基準を切り替える。システムの全体構成や、他の共通する部分は実施形態1と同様であるので、ここでは省略する。
【0110】
[印刷体裁]
まず、印刷体裁について図15を用いて説明する。単葉の印刷体裁としては、写真プリント、カード、カレンダー、コラージュ、ポスター、ポートレート等がある。冊子の印刷体裁は、中綴じ1401、リング綴じ1402、無線綴じ1403、片面印刷データ貼合1404等がある。
【0111】
中綴じ1401の製本例としては、両面印刷し、印刷物の三方断裁し中央をホチキス止めする。リング綴じ1402の製本例としては、片面または両面印刷したい印刷物に対してリング綴じを行う。無線綴じ1403の製本例としては、両面印刷した印刷物を図15のように糊付けし、無線綴じの中身を表紙でくるむ製本をする。片面印刷データ貼合1404の製本例としては、中身と表紙を図15のように糊付けし、貼り合せの中身をハードカバーの表紙でくるむ。ハードカバーの表紙はラミネートや段ボール貼りされている。
【0112】
例えば、図16のようにジョブが4枚の画像(コンテンツ)で構成されていて3枚目の画像に関してジョブエラーあるいはデータエラーを印刷管理が検出した場合について説明する。このとき、印刷ジョブの印刷体裁が単葉印刷の場合、印刷可能なものは印刷するのが望ましいため、印刷管理システム102は、印刷ジョブのエラーを検出したページを飛ばして印刷ジョブを発行し続ける。さらに、印刷管理システム102は、上位に位置する受注管理システム101に対しては、所定のAPI(Application Program Interface)で印刷が部分成功であることを通知する。このケースでは、画像データ1501、1502、1503、および1504のうち、画像データ1503が不正であるとする。この場合、印刷管理システム102は、画像データ1501、1502のジョブデータをプリンタ103に転送した後、画像データ1503を飛ばして、画像データ1504のジョブデータをプリンタ103に転送する。
【0113】
印刷ジョブの印刷体裁が冊子印刷の場合、一部分でも印刷できないと冊子の印刷体裁が揃わない。そのため、印刷管理システム102は、印刷ジョブのエラーを検出した時点で発行した印刷ジョブをキャンセルするためキャンセルコマンドを発行する。さらに上位に位置する受注管理システム101に対して所定のAPIでジョブエラーであることを通知する。
【0114】
このケースでは、画像データ1501、1502、1503、および1504のうち、画像データ1503が不正であるとする。この場合、印刷管理システム102は、画像データ1501、1502のジョブデータをプリンタ103に転送した後、画像データ1503の画像不正を確認した時点で印刷ジョブをキャンセルし、印刷を止める。つまり、印刷管理システム102は、印刷中の画像データ1501、1502の印刷ジョブをジョブキャンセルし、かつ画像データ1503、1504のジョブデータをプリンタ103に転送しない。
【0115】
以上のように印刷管理システムでジョブキャンセル処理をする際、印刷体裁が冊子か単葉かでキャンセル処理を変えることにより、再印刷の際の効率化を図ることができる。
【0116】
[印刷管理システムにおける処理フロー]
印刷管理システム102にてジョブエラー検出した場合の印刷管理システムの動作について図17のフローチャートで説明する。なお、本処理は、印刷管理システム102が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。ここで、印刷ジョブはNページから構成され、着目ページはn枚目のページとして記載する。
【0117】
印刷管理システム102は、受注管理システム101からN枚のページから構成される印刷ジョブを受信すると処理を開始し、印刷ジョブを構成する各ページに対して以下の処理を実行する(S1601〜S1615)。印刷管理システム102は、印刷ジョブの着目ページに対し解析・ジョブ変換を行う(S1602)。
【0118】
印刷管理システム102は、印刷ジョブのプリントチケット解析にてプリントチケットにエラーがあるか否かを判定する(S1603)。エラーが無い場合は(S1603にてNO)、印刷管理システム102は、着目ページをプリンタ103へ送信する。そして、着目ページにエラーが発生しない限り、印刷管理システム102は、印刷ジョブを構成するすべてのページを解析/変換し、プリンタ103に送信する。そして、本処理フローを終了する。
【0119】
プリントチケットにエラーがある場合(S1603にてYES)、印刷管理システム102は、印刷ジョブが単葉印刷か否かを判定する(S1604)。印刷ジョブが単葉印刷でない場合(S1604にてNO)、S1609へ進む。印刷ジョブが単葉印刷である場合(S1604にてYES)、印刷管理システム102は、印刷続行可能な設定かどうかを判断する(S1605)。印刷続行が不可な設定である場合(S1605にてNO)、S1609へ進む。印刷続行が不可である場合とは例えば、単葉両面印刷において、表面でエラーが見つかった場合などが挙げられる。この場合、エラーが検出された着目ページ以降の印刷は続行すべきでないと判断する。
【0120】
印刷続行が可能である場合(S1605にてYES)、印刷管理システム102は、プリンタ103に対して、エラーページのみ印刷せず他のページを印刷させるために、エラーページを指定したキャンセルコマンドとその事由を送信する(S1606)。以下は、3ページ目のプリントチケット解析でエラーが検出された場合のエラーページを指定するキャンセルコマンドにキャンセル事由が付加された例である。
<operation>ikw:CancelJob</operation>
<vcn2:cancelreason>ikw:InvalidContentsData</vcn2:cancelreason>
<vcn2:cancelpage>3</vcn2:cancelpage>
【0121】
そして、印刷管理システム102は、上位に位置する受注管理システム101に対し、エラーイベントを通知する(S1607)。その後、印刷管理システム102は、キャンセル事由(このケースでは「ジョブエラー」または「データエラー」)をUI上で表示する(S1608)。そして、S1602に戻り、印刷管理システム102は、後続のページの画像処理を続行する。
【0122】
S1609において、印刷管理システム102は、1枚目のページの解析にてエラーが検出されたか否かを判定する。1ページ目の解析にてプリントチケットにエラーが検出された場合(S1609にてNO)、印刷管理システム102は、キューにある印刷ジョブを削除し、印刷ジョブの発行を中止する(S1611)。そして、S1612へ進む。
【0123】
2ページ目以降の解析にてプリントチケットにエラーが検出された場合は(S1609にてYES)、すでに印刷ジョブがプリンタ103に対して発行されている。そのため、印刷管理システム102は、プリンタ103に対し印刷ジョブのジョブキャンセルコマンドに、そのキャンセル事由を付加し、発行する(S1610)。
【0124】
その後、印刷管理システム102は、上位に位置する受注管理システム101に対してもエラーイベント通知する(S1612)。そして、印刷管理システム102は、印刷管理システム102上のUIにてページ数とキャンセル事由(このケースでは「nページ目にジョブエラー」)を表示する(S1613)。そして、本処理フローを終了する。
【0125】
[プリンタにおける処理フロー]
印刷管理システム102からエラーページを指定されたキャンセルコマンドとキャンセル事由を受信した場合のプリンタの動作について図18のフローチャートを用いて説明する。なお、本処理は、プリンタ103が有するCPU(不図示)が、記憶部(不図示)に保持するプログラムを読み出して実行することにより実現される。ここで、印刷ジョブはN枚のページから構成され、着目ページはn枚目のページとして記載する。
【0126】
プリンタ103は、印刷管理システム102からN枚のページから構成される印刷ジョブを受信すると処理を開始し、印刷ジョブを構成する各ページに対して以下の処理を実行する(S1701〜S1712)。プリンタ103は、着目ページが図17のS1606で指定されたエラーページであるか否かを判定する(S1702)。エラーページである場合は(S1702にてYES)、プリンタ103は、S1710へ進む。プリンタ103は、当該着目ページをスキップし、プリンタ103上のUIにてキャンセル事由(このケースでは「nページ目にジョブエラー」)を表示する(S1710)。そして、S1702へ戻り、次のページを着目ページとする。エラーページでない場合は(S1702にてNO)、プリンタ103は、着目ページに対し、画像処理を実行する(S1703)。
【0127】
プリンタ103は、画像処理にてコンテンツデータに不正がある検出されたか否かを判定する(S1704)。コンテンツデータにエラーが無い場合は(S1704にてNO)、プリンタ103は、着目ページの印刷を行う(S1712)。そして、プリンタ103は、印刷ジョブの各ページに対し、コンテンツエラーが生じない限り、印刷を実行する。その後、印刷ジョブが完了した旨をUI上に表示し、本処理フローを終了する。
【0128】
コンテンツデータにエラーがあることが検出されると(S1704にてYES)、プリンタ103は、印刷続行可能な設定かどうかを判断する(S1705)。印刷続行して問題ない設定であれば(S1705にてYES)、プリンタ103は、上位に位置する印刷管理システム102に対して該当するページでエラーが発生した旨のエラーイベント通知する(S1706)。そして、プリンタ103は、キャンセル事由(このケースでは「nページ目にデータエラー」)をプリンタ103のUI上で表示する(S1707)。その後、S1702の処理に戻り、プリンタ103は、後続のページの画像処理を続行する。
【0129】
印刷が続行不可能である場合には(S1705にてNO)、プリンタ103は、受信した印刷ジョブを削除する(S1708)。そして、プリンタ103は、上位に位置する印刷管理システム102に対して、データエラーが発生した旨のエラーイベント通知する(S1709)。そして、プリンタ103は、キャンセル事由(このケースでは「nページ目にデータエラー」)をプリンタ103のUI上で表示する(S1710)。そして、本処理フローを終了する。
【0130】
このようにして、印刷体裁によって印刷ジョブに対するキャンセルの判断基準を切り替える場合においても、各サブシステムにて印刷ジョブをキャンセルした事由について、その情報を共有することを可能にしている。更には、各システムでの表示において、整合性を取ることが可能となる。
【0131】
なお、本実施形態において、判断基準(判断処理)を切り替える際に参照する設定は、印刷ジョブにおける体裁設定(単葉印刷/冊子印刷)を対象とした。しかし、この設定に限定するものではなく、他の印刷設定を参照して、判断基準を切り替えるようにしても構わない。
【0132】
さらに、印刷が続行可能な設定か否かの判定についても、印刷設定の整合性に応じて、他の条件を用いても構わない。
【0133】
<実施形態4>
本実施形態では、プリンタ103へ印刷ジョブの発行途中に印刷管理システム102でジョブエラーを検出した場合にキャンセルコマンドにプリンタ103の動作を指示するアクションを付加する例を説明する。システムの全体構成や、他の共通する部分は実施形態1と同様であるので、ここでは省略する。
【0134】
印刷管理システム102の動作については、図8とほぼ同様のフローチャートとなる。実施形態1では、印刷管理システム102が、ジョブキャンセルコマンドに、そのキャンセル事由を付加し送信する処理を行っていた(S705)。これに対し、本実施形態では、キャンセル事由に替えて、アクションの指示を付加する。
【0135】
アクション指示として、本実施形態では、印刷体裁が冊子印刷であり、この場合にジョブエラーを検出した際、その印刷ジョブに関する課金停止指示をプリンタ103に対して行う。このことにより、実行されていない印刷ジョブに対し課金することを防ぐことが可能となる。その他のアクション指示の例としては、ある条件でジョブエラーとなった場合にプリンタ103の電源をOFFするようにしても構わない。図6(C)に本実施形態に係る課金停止指示のアクションを付加したキャンセルコマンドの例を示す。
【0136】
本実施形態に係るプリンタ103の動作についても、実施形態1にて説明した図11のフローチャートとほぼ同様になる。実施形態1では、プリンタ103が、UIにキャンセル事由(この場合、「ジョブエラー」)を表示していた(S1006)。これに対し、本実施形態では、キャンセルコマンドに含まれるアクション指示に従って処理を実行する。
【0137】
なお、図6(C)では、キャンセル事由に替えてアクション指示を付加したが、これに限定するものではなく、両方の情報を付加するようにしても構わない。
【0138】
このようにしてプリンタ103では、ジョブエラーとなった印刷ジョブに対し、例えば課金を止めるような、エラーに応じたアクションを実行することが可能となる。
【0139】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
印刷システムに含まれ、印刷処理において下位に位置する下位装置に印刷ジョブを送信する情報処理装置であって、
前記印刷ジョブをキャンセルするか否かを判断する判断手段と、
前記判断手段により前記印刷ジョブへの処理をキャンセルすると判断された場合、前記下位装置に対し、キャンセルの事由に関する情報を付加した当該印刷ジョブのキャンセルコマンドを発行するキャンセルコマンド発行手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記キャンセルの事由に関する情報は、前記印刷ジョブにおいてデータ不正があること示すことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記データ不正は、前記印刷ジョブの印刷設定に起因するものであることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記データ不正は、前記印刷ジョブの印刷データに起因するものであることを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記下位装置において前記印刷ジョブがキャンセルされた場合に、前記キャンセルの事由に関する情報を、前記下位装置からジョブステータス情報として受信する受信手段を更に有することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記キャンセルの事由に関する情報は、ユーザーによる前記印刷ジョブのキャンセルであること示すことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記判断手段は、前記印刷ジョブの印刷設定に応じて、前記印刷ジョブに対するキャンセルの判断基準を切り替えることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記判断手段が、前記判断基準を切り替える際に参照する前記印刷設定は、印刷成果物の体裁の設定であることを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記印刷システムにおいて、前記情報処理装置に前記印刷ジョブを送信する、前記情報処理装置よりもさらに上位に位置する別の情報処理装置が存在する場合、前記キャンセルの事由に関する情報を、前記別の情報処理装置に、通知する通知手段を更に有することを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
【請求項10】
キャンセルコマンド発行手段は更に、前記キャンセルの事由に関する情報とともにキャンセルとは別の処理を行なわせるアクション指示を前記キャンセルコマンドに付加することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
【請求項11】
前記キャンセルの事由に関する情報を表示する表示手段を更に有することを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
【請求項12】
印刷システムに含まれ、印刷処理において下位に位置する下位装置に印刷ジョブを送信する情報処理装置の制御方法であって、
判断手段が、前記印刷ジョブをキャンセルするか否かを判断する判断工程と、
キャンセルコマンド発行手段が、前記判断工程により前記印刷ジョブをキャンセルすると判断された場合、前記下位装置に対し、キャンセルの事由に関する情報を付加した当該印刷ジョブのキャンセルコマンドを発行するキャンセルコマンド発行工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項13】
コンピュータを、
印刷システムに含まれ、印刷処理において下位に位置する下位装置に送信した印刷ジョブをキャンセルするか否かを判断する判断手段、
前記判断手段により前記印刷ジョブをキャンセルすると判断された場合、前記下位装置に対し、キャンセルの事由に関する情報を付加した当該印刷ジョブのキャンセルコマンドを発行するキャンセルコマンド発行手段
として機能させるためのプログラム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−89191(P2013−89191A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−232124(P2011−232124)
【出願日】平成23年10月21日(2011.10.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】