IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-情報処理装置およびプログラム 図1
  • 特許-情報処理装置およびプログラム 図2
  • 特許-情報処理装置およびプログラム 図3
  • 特許-情報処理装置およびプログラム 図4
  • 特許-情報処理装置およびプログラム 図5
  • 特許-情報処理装置およびプログラム 図6
  • 特許-情報処理装置およびプログラム 図7
  • 特許-情報処理装置およびプログラム 図8
  • 特許-情報処理装置およびプログラム 図9
  • 特許-情報処理装置およびプログラム 図10
  • 特許-情報処理装置およびプログラム 図11
  • 特許-情報処理装置およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240401BHJP
   B41J 29/38 20060101ALI20240401BHJP
【FI】
G06F3/12 324
G06F3/12 303
G06F3/12 329
G06F3/12 334
B41J29/38 301
【請求項の数】 11
(21)【出願番号】P 2020014859
(22)【出願日】2020-01-31
(65)【公開番号】P2021121898
(43)【公開日】2021-08-26
【審査請求日】2023-01-12
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】佐藤 大夢
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2012-185742(JP,A)
【文献】特開2019-070926(JP,A)
【文献】特開2017-068659(JP,A)
【文献】特開2017-156899(JP,A)
【文献】特開2015-228185(JP,A)
【文献】特開2017-182257(JP,A)
【文献】特開2015-049971(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
プリンタと通信可能な情報処理装置で動作可能な印刷制御ソフトウェアのプログラムであって、
前記情報処理装置のコンピュータに、
前記プリンタから得られたステータス情報に基づいて前記プリンタで発生しているエラーを決定する決定ステップと、
前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能か否かに応じて、前記OS印刷ソフトウェアに通知する情報を制御する制御ステップと、
を実行させることを特徴とするプログラム。
【請求項2】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを識別する識別子に対応するエラーメッセージを有している場合、前記OS印刷ソフトウェアが前記エラーを報知可能であると判定することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアに、前記決定ステップで決定したエラーを識別する識別子に対応するエラーメッセージを要求し、前記要求に対する応答がない場合、前記OS印刷ソフトウェアが前記エラーを報知可能でないと判定することを特徴とする請求項1に記載のプログラム。
【請求項4】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能でない場合、前記プリンタの状態を示す情報として汎用的なエラーを示す識別子を前記OS印刷ソフトウェアに通知し、かつ、ジョブの状態を示す情報として、前記決定したエラーに対応するメッセージを前記OS印刷ソフトウェアに通知することを特徴とする請求項1乃至3のいずれか一項に記載のプログラム。
【請求項5】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能である場合、前記プリンタの状態を示す情報として汎用的なエラーを示す識別子を前記OS印刷ソフトウェアに通知し、かつ、ジョブの状態を示す情報として、前記決定したエラーに対応するメッセージを前記OS印刷ソフトウェアに通知することを特徴とする請求項1乃至3のいずれか一項に記載のプログラム。
【請求項6】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能である場合、前記プリンタの状態を示す情報として前記決定したエラーを示す識別子を前記OS印刷ソフトウェアに通知し、かつ、ジョブの状態を示す情報として前記決定したエラーに対応するメッセージを前記OS印刷ソフトウェアに通知することを特徴とする請求項1乃至3のいずれか一項に記載のプログラム。
【請求項7】
前記制御ステップは、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能である場合、前記プリンタの状態を示す情報として前記決定したエラーを示す識別子を前記OS印刷ソフトウェアに通知し、かつ、ジョブの状態を示す情報として、前記プリンタにおけるジョブの状態を示すメッセージを前記OS印刷ソフトウェアに通知することを特徴とする請求項1乃至3のいずれか一項に記載のプログラム。
【請求項8】
前記制御ステップは、Internet Printing Protocolの仕様に基づいて前記OS印刷ソフトウェアに前記プリンタの状態を示す情報を通知することを特徴とする請求項4乃至7のいずれか一項に記載のプログラム。
【請求項9】
前記制御ステップは、Internet Printing Protocolの仕様に基づいて前記OS印刷ソフトウェアに前記ジョブの状態を示す情報を通知することを特徴とする請求項4乃至8のいずれか一項に記載のプログラム。
【請求項10】
前記決定ステップは、Internet Printing Protocolの仕様に基づかずに、前記プリンタから前記ステータス情報を取得することを特徴とする請求項1乃至9のいずれか一項に記載のプログラム。
【請求項11】
プリンタと通信可能な情報処理装置であって
前記プリンタから得られたステータス情報に基づいて前記プリンタで発生しているエラーを決定する決定手段と、
前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定手段で決定したエラーを報知可能か否かに応じて、前記OS印刷ソフトウェアに通知する情報を制御する制御手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
プリンタとパーソナルコンピュータ(以下、PCと称す)とが接続されたシステムにおいて、プリンタでエラーが発生している場合に、エラー状態をPC画面上に表示してユーザに報知する技術が知られている(特許文献1)。
【0003】
PCに搭載されているオペレーティングシステム(以下、OSと称す)によっては、OS標準のエラーメッセージを表示する機能(以下、標準エラー報知機能と称す)を備えているものがある。このようなOSでは、印刷中に発生する数種類の標準的なエラーが予め定義されている。プリンタドライバがプリンタのステータス情報に基づきエラーをOSに通知すると、OSは、標準エラー報知機能によってダイアログまたはアイコンを表示して、ユーザにエラーを報知する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2003-131857号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
OSのバージョンによっては、定義されている標準的なエラーが異なる場合がある。例えば新しいバージョンのOSで新たに定義されたエラーを、古いバージョンのOSに通知しても、その古いバージョンのOSは、エラーを正しく認識できず、ユーザに適切なエラー報知を行うことができない。
【0006】
本発明は、様々なバージョンのOSにおいて、標準エラー報知機能を用いてユーザに適切なエラー報知をすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様に係るプログラムは、プリンタと通信可能な情報処理装置で動作可能な印刷制御ソフトウェアのプログラムであって、前記情報処理装置のコンピュータに、前記プリンタから得られたステータス情報に基づいて前記プリンタで発生しているエラーを決定する決定ステップと、前記情報処理装置で動作するOS印刷ソフトウェアが、前記決定ステップで決定したエラーを報知可能か否かに応じて、前記OS印刷ソフトウェアに通知する情報を制御する制御ステップと、を実行させることを特徴とする。
【発明の効果】
【0008】
本発明によれば、様々なバージョンのOSにおいて、標準エラー報知機能を用いてユーザに適切なエラー報知をすることができる。
【図面の簡単な説明】
【0009】
図1】システムのハードウェア構成を示すブロック図である。
図2】システムの構成を示すブロック図である。
図3】OS印刷システムが表示する印刷キュー画面を示す図である。
図4】OSで定義されている標準的なエラーのテーブルの一例を示す図である。
図5】プリンタドライバが保持する個別エラーのテーブルの一例を示す図である。
図6】プリンタドライバの印刷データ送信処理のフローを示す図である。
図7】プリンタドライバのエラー報知処理のフローを示す図である。
図8】OS印刷システムが表示する印刷キュー画面を示す図である。
図9】OS印刷システムが表示する印刷キュー画面を示す図である。
図10】システムの構成を示すブロック図である。
図11】印刷ユーティリティのエラー報知処理のフローを示す図である。
図12】印刷ユーティリティが生成するエラー画面の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0011】
<<第1実施形態>>
<システムのハードウェア構成>
図1は、本実施形態において印刷に用いるシステムのハードウェア構成を示すブロック図である。本システムは、ホストコンピュータであるPC101とプリンタ102とを有する。PC101は、情報処理装置の一例であり、入力インタフェース110、CPU111、ROM112、RAM113、外部記憶装置114、出力インタフェース115、及び入出力インタフェース116を有する。また、入力インタフェース110には、キーボード118またはポインティングデバイス117などの入力デバイスが接続され、出力インタフェース115には、表示部119などの表示デバイスが接続されている。
【0012】
ROM112には、初期化プログラムが格納されている。外部記憶装置114には、アプリケーションプログラム群、オペレーティングシステム(OS)、固有プリンタドライバ、及びその他の各種のデータが格納されている。RAM113は、外部記憶装置114にストアされる各種のプログラムの実行の際のワークメモリ等として使用される。
【0013】
なお、本実施形態では、CPU111が、ROM112に格納されたプログラムの手順に従って処理を行うことによって、PC101における後述の機能及び後述するフローチャートに係る処理が実現される。デバイスであるプリンタ102は、入出力インタフェース116を介して、PC101と接続されている。ここでは、PC101とプリンタ102とが分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。
【0014】
<ブロック構成>
図2は、本実施形態のシステムの構成を示すブロック図である。PC101とプリンタ102とは、ネットワーク210を介して接続され、相互に通信可能である。本実施形態ではネットワークとしてLAN(Local Area Network)を想定しているが、WAN(Wide Area Network)であってもよい。また、ネットワークの接続形態として有線無線を問わず、これらが混在していても構わない。PC101は、ネットワーク210を介して接続されたプリンタ102を制御する。本実施形態ではOS印刷システム203は、標準的な印刷プロトコルであるInternet Printing Protocol(以下、IPPと称す)の仕様に基づき動作することを想定している。
【0015】
図2には明示していないが、PC101にはOSが組み込まれており、PC101の資源、たとえばPC101内の各ブロックは、OSにより管理され、動作可能となっている。本実施形態では、PC101に組み込まれているOSとして、macOS(登録商標)を想定している。
【0016】
PC101は、アプリケーション202、OS印刷システム203、ベンダーが提供するプリンタドライバ206、およびネットワーク(NW)通信制御部207を有する。OS印刷システム203は、OS標準印刷制御部204と印刷キュー205とを含む。本実施形態の印刷制御ソフトウェアであるプリンタドライバ206は、OS標準印刷制御部204が使用するIPPに対応している(サポートしている)ものである。
【0017】
OS印刷システム203における様々な処理は、OS印刷ソフトウェアであるOS印刷システム203内のOS標準印刷制御部204の制御により行なわれる。印刷キュー205は、OSまたはアプリケーション202から印刷を実行するためのオブジェクトである。各印刷キューは、名称または共有の有無、接続先のポートまたはサーバの設定、印刷設定、およびデバイス関連の設定などを有する。また、印刷キュー205は、印刷データを記憶しておくオブジェクトとしても利用される。
【0018】
また、OS印刷システム203には、プリンタの状態とジョブの状態との2つの情報を格納する部分がある。プリンタドライバ206は、IPPを介してOS印刷システム203に、これらの情報を格納したり更新したりすることが可能である。プリンタの状態が格納される部分は、printer-state-reasonsと呼ばれる。ジョブの状態が格納される部分は、job-printer-state-messageと呼ばれる。OS印刷システム203は、標準エラー報知機能を用いてエラー報知を行う場合、これらに格納されている情報と、後述する図4に示すテーブルとに基づいて、図3のダイアログ(印刷キュー画面30)を表示し、ユーザにエラー報知を行う。本処理の詳細は、後述する。
【0019】
アプリケーション202は、ユーザ指示に基づき、描画データを生成するソフトウェアである。ここでいうアプリケーションはOS上で動作可能なソフトウェアである。アプリケーション201としては、例えば、文書作成用のワープロソフトや画像編集ソフト、年賀状作成ソフトなどが挙げられる。描画アプリケーションにより生成される描画データは、例えば、PDF(Portable Document Format)形式のデータである。ユーザがアプリケーション202で作成したデータの印刷を要求すると、その要求は、印刷ジョブとしてOS印刷システム203に投入される。OS印刷システム203は、アプリケーション202から受けた印刷ジョブを印刷キュー205に含めて管理し、順次、プリンタドライバ206に送り処理する。プリンタドライバ206は、印刷データをプリンタ102が解釈可能な印刷データに変換し、NW通信制御部207を介してプリンタ102に送信する。
【0020】
印刷処理を実行中、プリンタドライバ206は、NW通信制御部207を介して定期的にプリンタ102に対してステータス情報の取得要求を行う。ステータス情報には、前述したプリンタの状態およびジョブの状態の情報が含まれる。プリンタドライバ206は、プリンタ102から応答として取得したステータス情報に含まれるプリンタの状態およびジョブの状態を解析する。解析の結果、エラーが発生していると判定すると、プリンタドライバ206は、OS印刷システム203にエラーを通知する。尚、プリンタドライバ206からの要求に応じてプリンタ102が応答するステータス情報は、ベンダー固有のプロトコルに従ったステータス情報となっている。プリンタドライバ206は、ベンダー固有のプロトコルを解析し、IPPの情報としてprinter-state-reasonsにプリンタの状態を格納する。また、job-printer-state-messageにジョブの状態を格納する。
【0021】
プリンタ102は、NW通信制御部221、印刷制御部222、および印刷部223を有する。印刷制御部222は、NW通信制御部221を介してPC101から印刷データを受信し、印刷データに基づき印刷部223を制御して印刷を実行する。
【0022】
図3は、OS印刷システム203が表示する印刷キュー画面30を示す図である。OS印刷システム203は、印刷キュー205に蓄積されている印刷ジョブをユーザが確認するための印刷キュー画面30を表示することが可能である。PC101は、ユーザの操作に応じて印刷キュー画面30を表示部119に表示する。印刷キュー画面30は、プリンタステータス表示領域31と、印刷ジョブ表示領域32とを含む。
【0023】
図4は、OSで定義されている標準的なエラーのテーブルの一例を示すOSエラーメッセージ対応表40を示す図である。図4(a)と図4(b)とは、異なるバージョンのOSでのOSエラーメッセージ対応表40を示している。プリンタエラー発生時に、プリンタドライバ206は、OS印刷システム203を介してprinter-state-reasonsにプリンタの状態の情報を格納する。するとOS印刷システム203によって表示される印刷キュー画面30では、OSエラーメッセージ対応表40に従い、対応するエラーメッセージが、図3のプリンタステータス表示領域31に表示される。図3の例では、プリンタドライバ206がprinter-state-reasonsにmedia-jamの情報を格納した例を示している。印刷キュー画面30のプリンタステータス表示領域31には、OSエラーメッセージ対応表40に従い、「紙づまりです。」とのメッセージが表示されている。ユーザは、プリンタステータス表示領域31のメッセージを確認して、プリンタ102がエラー状態にあるか否かを知ることができる。
【0024】
OSで定義されている標準的なエラーには、OSエラーメッセージ対応表40に示す、エラー毎で個別にKeyが定義されているものと、「その他」として汎用的に扱える、汎用エラーのKeyとが存在する。個別にエラーが定義されているKeyを個別エラーKeと称し、汎用エラーのKeyを汎用エラーKeyと称する。また、このOSエラーメッセージ対応表40は、OSのバージョンによって異なる。例えば、図4(a)に対応する第一バージョンのOSでは存在せずOS非対応であった廃インクフルエラーおよびカバーオープンエラーが、図4(b)に対応する第二バージョンのOSでは存在し、OSが対応していることになっている。
【0025】
ここで、図4(b)に対応する第二バージョンのOSに対応させて、プリンタドライバ206が、カバーオープンエラーをOS印刷システム203のprinter-state-reasonsに格納する場合を想定する。このとき、PC101が、図4(a)に対応する第一バージョンのOSで動作する場合、その第一バージョンのOSのOS印刷システム203では、カバーオープンエラーという個別のエラーを識別できない。このため、第一バージョンのOSのOS印刷システム203では、適切なエラー報知が行われない状態が発生し得る。本実施形態では、このような状態が発生することを抑制するものである。
【0026】
図3の印刷キュー画面30の説明を続ける。印刷ジョブ表示領域32には、印刷ジョブ名表示領域33と印刷ジョブステータス表示領域34とが含まれる。プリンタドライバ206が、OS印刷システム203を介してjob-printer-state-messageにジョブの状態の情報を格納すると、印刷ジョブステータス表示領域34に、印刷ジョブに関するステータス情報が表示される。ユーザは、印刷ジョブ表示領域32で印刷ジョブに関するステータスを知ることができる。
【0027】
また、ユーザは、印刷中止ボタン35を押下し印刷処理の中止をプリンタ102に指示し、印刷ジョブを削除できる。
【0028】
図5は、プリンタドライバ206が保持する個別エラーに対応するエラーテーブル50の例を示す図である。プリンタ102は、エラーが発生していることを印刷制御部222で検知すると、NW通信制御部207及びNW通信制御部221を介してプリンタドライバ206にエラーを返す。プリンタドライバ206は、受け取ったエラーを解析し、エラー番号を判定する。プリンタドライバ206は、ベンダー独自管理のエラーテーブル50に従い、判定したエラー番号に対応するエラーに適したIPP printer-state-reasons Keyを決定する。
【0029】
図6は、プリンタドライバ206の印刷データ送信処理のフローを示す図である。図6に示す処理は、CPU111が、ROM112または外部記憶装置114に記憶されているプリンタドライバ206のプログラムを実行することで行われる。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味する(以下、本明細書において同様である)。
【0030】
S601においてプリンタドライバ206は、印刷データの取得を試みる。OS印刷システム203が印刷データをプリンタドライバ206に送ると、S601においてプリンタドライバ206は、その印刷データを取得することになる。S602においてプリンタドライバ206は、取得した印刷データの有無を判定し、印刷データが存在した場合にS603に進み、印刷データが存在しない場合、処理を終了する。
【0031】
S603においてプリンタドライバ206は、OS印刷システム203から取得した印刷データ(IPPで送られる印刷データ)を、プリンタ102が解釈可能な印刷データに変換する。S604においてプリンタドライバ206は、変換した印刷データをプリンタ102に送信する。
【0032】
S605においてプリンタドライバ206は、ベンダー固有のプロトコルでプリンタ102から送られるステータス情報を取得する。S606においてプリンタドライバ206は、ステータス情報の解析を行う。S607においてプリンタドライバ206は、解析したステータス情報に基づいて、エラーが発生しているか否かを判定する。エラーが発生していないと判定した場合、S601に戻り、OS印刷システム203からの印刷データの取得、ならびに、ベンダー固有のフォーマットへの変換および送信を繰り返す。エラーが発生していると判定した場合、S608に進む。
【0033】
S608においてプリンタドライバ206は、エラー報知処理を行う。例えば、プリンタドライバ206は、エラー種別に適したIPP printer-state-reasons KeyをOS印刷システム203に通知する。すると、OS印刷システム203によって印刷キュー画面30上に、図3に示すようなエラーメッセージが報知される。S608の詳細は後述する。
【0034】
S609においてプリンタドライバ206は、印刷キュー画面30上の印刷中止ボタン35が押下され、印刷中止が選択されたかを判定する。印刷中止が選択された場合、S610に進み、プリンタドライバ206は、プリンタ102に印刷処理の中止を指示して終了する。印刷中止が選択されていない場合、S605に戻り処理を繰り返す。
【0035】
図7は、図6のS608におけるプリンタドライバ206のエラー報知処理の詳細なフローを示す図である。S701においてプリンタドライバ206は、S606で解析したプリンタ102のステータス情報からエラーを判定し、OS印刷システム203に通知すべきIPP printer-state-reasons Keyを決定する。S701の処理は、図5に示す個別エラーに対応するエラーテーブル50を参照して行われる。IPP printer-state-reasons Keyは、OS印刷システム203の標準エラー報知機能で報知されるプリンタの状態(エラー状態)を識別する識別子である。S702においてプリンタドライバ206は、S701で決定したIPP printer-state-reasons Keyが、個別エラーKeyであるか否かを判定する。個別エラーKeyであるかは、例えば図5に示す個別エラーに対応するエラーテーブル50に、汎用エラーKeyであるか、または、個別エラーKeyであるかの情報を付加して、その情報を参照してもよい。あるいは、所定のKeyを汎用エラーKeyと判定し、それ以外のKeyを個別エラーKeyと判定してもよい。本例では、決定したIPP printer-state-reasons Keyが、Otherの場合、汎用エラーと判定し、それ以外の場合、個別エラーKeyと判定する。個別エラーKeyであると判定するとS703に進み、個別エラーKeyでないと判定すると、S707に進む。
【0036】
S703においてプリンタドライバ206は、個別エラーKeyに対応するOS定義のエラーメッセージをOS印刷システム203に要求する。本実施形態では、プリンタドライバ206は、OS印刷システム203を介してprinter-state-reasonsに対応するエラーメッセージを取得できる。プリンタドライバ206がprinter-state-reasonsを指定してメッセージを要求するとOS印刷システム203は、対応するメッセージを応答する。OS印刷システム203は対応するメッセージが存在しない場合には応答しない。プリンタドライバ206は、OS印刷システム203への要求に対する応答により、OS印刷システム203が、個別エラーKeyに対応しているか否かを判定できる。プリンタドライバ206は、OS印刷システム203からの応答を取得すると、S705に進む。
【0037】
S705においてプリンタドライバ206は、OS印刷システム203の標準エラー報知機能で報知される(即ち、OS定義の)エラーメッセージが存在するか否かを判定する。即ち、プリンタドライバ206は、OS印刷システム203が、エラーメッセージを報知可能か否かを判定する。OS定義のエラーメッセージが存在する(報知可能である)と判定した場合はS706に進み、存在しない(報知可能でない)と判定した場合、S707に進む。
【0038】
S706においてプリンタドライバ206は、S701で決定した個別エラーKeyをOS印刷システム203に通知し、処理を終了する。
【0039】
S707においてプリンタドライバ206は、発生中のエラーに適したメッセージをベンダー独自管理のエラーテーブル50から決定する。S708においてプリンタドライバ206は、OS印刷システム203に対して、汎用エラーKeyを通知する。S709においてプリンタドライバ206は、IPP job-printer-state-messageに、S707で決定した独自メッセージを格納し、OS印刷システム203に対して通知を行う。そして、処理を終了する。
【0040】
図8は、S705でエラーメッセージが存在しないと判定した場合にOS印刷システム203が表示する印刷キュー画面80の例を示す図である。OS印刷システム203は、S708で汎用エラーKeyを受け取ると、プリンタステータス表示領域31に汎用的なエラーメッセージを表示する。OS印刷システム203は、S709で独自メッセージを受け取ると、印刷ジョブステータス表示領域34に独自メッセージの通りに表示する。図8の例では、プリンタドライバ206は、決定した個別エラーKeyがOtherであるので、汎用エラーKeyをOS印刷システム203に通知している。また、プリンタドライバ206は、図5のベンダー独自管理のエラーテーブル50を参照して、任意のエラーメッセージとして「カセットが正しく装着されていません」を、IPP job-printer-state-messageに格納する。これにより、任意のエラーメッセージが、ジョブの状態を示すメッセージを表示する印刷ジョブステータス表示領域34に表示される。
【0041】
尚、S705で個別エラーKeyに対応するエラーメッセージが存在すると判定した場合に表示される印刷キュー画面30の例は、前述したように図3に示す印刷キュー画面30となる。
【0042】
図7のフローチャートでは、プリンタドライバ206は、OS印刷システム203が個別エラーに対応していない場合に限り、job-printer-state-messageに独自メッセージを格納する例を示したが、これに限られない。プリンタドライバ206は、OS印刷システム203が、個別エラーに対応している場合であっても、job-printer-state-messageに独自メッセージを格納してもよい。この場合の処理を、図7を参照して説明する。図7のS706でプリンタドライバ206は、OS印刷システム203に個別エラーを通知すると、S707に進みメッセージを決定して、S709にてOS印刷システム203にメッセージを通知する。
【0043】
図9は、印刷キュー画面の他の例を示す図である。図9(a)は、OS印刷システム203が、個別エラーに対応している場合であっても、プリンタドライバ206が、job-printer-state-messageに独自メッセージを格納する例を示している。即ち、プリンタステータス表示領域31に個別エラーKeyに対応するエラーメッセージが表示され、かつ、印刷ジョブステータス表示領域34に独自メッセージが表示されている。
【0044】
別の例を説明する。プリンタドライバ206は、個別エラーKeyに対応している場合にprinter-state-reasonsに汎用エラーKeyを格納し、job-printer-state-messageに独自メッセージを格納してもよい。この場合の処理を、図7を参照して説明する。図7のS701でプリンタドライバ206は、printer-state-reasons Keyを汎用エラーKeyに決定し、S707に進み独自メッセージを決定する。続いて、プリンタドライバ206は、S708で汎用エラーKeyをOS印刷システム203に通知しS709に進み、独自メッセージをOS印刷システム203に通知して処理を終了する。図9(b)は、この場合の印刷キュー画面95の例を示している。図9(a)と比較すると、図9(b)では、プリンタステータス表示領域31に、汎用エラーメッセージが表示されている。図3図8、および図9に示すように、OSの個別エラーKeyの対応状況に応じて各種のエラーメッセージの表示態様を行うことが可能である。また、図3図8、および図9に示すように、ユーザは、印刷キュー画面上において、エラーの具体的な内容を把握することが可能となる。
【0045】
以上説明してきたように、本実施形態においては、プリンタドライバ206が個別エラーKeyをprinter-state-reasonsに格納する前に、OS印刷システム203が個別エラーKeyに対応しているか否かを確認する。そしてOS印刷システム203の対応状況に応じて、個別エラーKeyまたは汎用エラーKeyと、ジョブメッセージとをOS印刷システム203に格納する。これにより、様々なバージョンのOSにおいて、標準エラー報知機能を用いてユーザに適切なエラーを報知することができる。
【0046】
<<第2実施形態>>
第1実施形態では、プリンタドライバ206がOS印刷システム203に対応している(IPPをサポートしている)構成を例に挙げて説明した。そして、OS印刷システム203の個別エラーKeyの対応状況に応じてプリンタドライバ206が個別エラーKeyまたは汎用エラーKeyと、ジョブメッセージとをOS印刷システム203に通知する例を説明した。
【0047】
しかしながら、プリンタドライバがOS印刷システム203に対応していない(IPPをサポートしていない)場合がある。本実施形態では、OS標準印刷機能を拡張する印刷ユーティリティを用いて、OS印刷システム203に適切にエラー報知を行う例を説明する。
【0048】
図10は、本実施形態のシステムの全体構成を示すブロック図である。PC101は、印刷ユーティリティ1008を有している。印刷ユーティリティ1008は、プリンタドライバ1006を有している。印刷ユーティリティ1008以外の構成は、第1実施形態で説明した図2と同様であるので、説明を省略する。
【0049】
印刷ユーティリティ1008は、OS標準印刷機能を拡張するソフトウェアであり、ユーザがPC101にインストールすることで利用することができる。プリンタドライバ1006は、OS印刷システム203に対応していない(IPPをサポートしていない)。プリンタドライバ1006は、プリンタ102との間でベンダー独自のプロトコルに従って情報のやり取りを行う。IPPをサポートする印刷ユーティリティ1008は、プリンタドライバ1006が取得した情報をIPPに変換してOS印刷システム203との間で情報のやり取りを行う。また、印刷ユーティリティ1008は、OS印刷システム203からの情報をプリンタドライバ1006が用いるベンダー独自のプロトコルに変換する。
【0050】
印刷ユーティリティ1008が用いられる環境においては、印刷ユーティリティ1008が、印刷データ送信処理およびエラー報知処理を行うことになる。印刷ユーティリティ1008の印刷データ送信処理のフローは、第1実施形態の図6と同様であるため、説明を省略する。
【0051】
図11は、本実施形態において、図6のS608における印刷ユーティリティ1008のエラー報知処理のフローを示す図である。本実施形態では、印刷ユーティリティ1008は、独自のエラーダイアログを表示する。
【0052】
S1101において印刷ユーティリティ1008は、S606で解析したプリンタ102のステータス情報からエラー番号を判定し、ベンダー独自管理のエラーテーブル50を参照してエラー名称を取得する。S1102において印刷ユーティリティ1008は、ベンダー独自管理のエラーテーブル50を参照してエラーメッセージを取得する。S1103において印刷ユーティリティ1008は、エラー番号、エラー名称、およびエラーメッセージを用いて図12のようなエラーダイアログ1200を構成し、エラーダイアログ1200をPC101の表示部119に表示する。
【0053】
その後、S1104において印刷ユーティリティ1008は、OS印刷システム203にエラー情報を報知する。S1104の処理は、第1実施形態の図7と同様のフローとすることができるので、説明を省略する。印刷ユーティリティはベンダーが提供するものであるが、標準エラー報知機能はOSに搭載されるものであるので、標準エラー報知機能による報知も行われることでユーザは、エラーに気付きやすい。
【0054】
図12は、印刷ユーティリティ1008がS1103で生成および表示するエラーダイアログ1200の一例である。このダイアログでは、エラー番号、エラー名称、エラーメッセージ及び印刷中止ボタン1201が含まれる。ユーザが印刷中止ボタン1201を押下すると、印刷ユーティリティ1008は、印刷処理の中止をプリンタ102に指示し、印刷ジョブを削除できる。
【0055】
尚、本実施形態では、S1104のエラー情報の報知処理は、第1実施形態で説明した各種の変形例のように行われてもよい。即ち、OS印刷システム203が個別エラーに対応していない場合にjob-printer-state-messageに独自メッセージを格納する例に限られない。第1実施形態で説明したように、個別エラーに対応している場合に独自メッセージをjob-printer-state-messageに格納してもよい。また、個別エラーに対応している場合であっても、printer-state-reasonsに汎用エラーKeyを格納し、job-printer-state-messageに独自メッセージを格納するようにしてもよい。
【0056】
また、図11において印刷ユーティリティ1008は、S1101からS1103でエラーダイアログ1200を生成、表示した後に、S1104にてOSに対してエラー情報を通知するが、この順序は前後しても構わない。また、印刷ユーティリティ1008は、S1101からS1103でのエラーダイアログ1200の生成および表示する処理を行わなくてもよい。
【0057】
以上説明してきたように、本実施形態においては、IPPをサポートしないプリンタドライバを拡張する印刷ユーティリティが、個別エラーKeyがOS印刷システムに対応しているか否かを確認する。そして印刷ユーティリティ自身がエラーダイアログを生成、表示するとともに、OS印刷システムの対応状況に応じて個別エラーKeyまたは汎用エラーKeyとジョブメッセージを格納する。これにより、様々なバージョンのOSで標準エラー報知機能を用いてユーザに適切なエラー報知することができる。
【0058】
<<その他の実施形態>>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0059】
101 PC
203 OS印刷システム
206 プリンタドライバ
31 プリンタステータス表示領域
32 印刷ジョブ表示領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12