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

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

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-サポートプログラム 図1
  • 特開-サポートプログラム 図2
  • 特開-サポートプログラム 図3
  • 特開-サポートプログラム 図4
  • 特開-サポートプログラム 図5
  • 特開-サポートプログラム 図6
  • 特開-サポートプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118716
(43)【公開日】2024-09-02
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240826BHJP
   B41J 29/38 20060101ALI20240826BHJP
   H04N 1/00 20060101ALI20240826BHJP
【FI】
G06F3/12 335
G06F3/12 310
G06F3/12 328
B41J29/38 203
H04N1/00 002C
H04N1/00 127B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023025149
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】市川 裕詞
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】江口 愛莉
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061HJ08
2C061HK11
2C061HK16
2C061HN05
2C061HN15
2C061HV09
2C061HV14
2C061HV35
5C062AA05
5C062AB22
5C062AB38
5C062AB42
5C062AC04
5C062AC22
5C062AC38
5C062AE16
5C062AF14
5C062AF15
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置にてプリンタで発生したエラーを報知する場合において、通信負荷の軽減が可能な技術を提供すること。
【解決手段】OS標準の汎用印刷プログラム41は、プリンタ2からエラー通知を受信すると、エラーイベントを出力する。補助プログラム42は、印刷指示に連動して、エラーイベントが汎用印刷プログラム41から出力された場合に、プリンタ2に発生したエラーの種別を取得し、そのエラーの種別に対応するエラー報知画面100AをPC1のユーザIF13に表示させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記印刷指示による印刷対象の前記画像を示す印刷データに基づく印刷を前記プリンタに行わせるための処理を行う印刷処理を実行させ、前記汎用印刷プログラムは、前記印刷処理の実行によって前記プリンタからエラー通知を受信した場合に、エラーイベントを出力し、
さらに前記コンピュータに、
前記汎用印刷プログラムから前記エラーイベントが出力された場合に、前記プリンタに発生したエラーの種別を取得するエラー種別取得処理と、
前記エラー種別取得処理にて取得された前記エラーの種別に対応するエラー画面情報を取得するエラー画面取得処理と、
前記エラー画面取得処理にて取得された前記エラー画面情報に基づくエラー報知画面を、前記情報処理装置のユーザインタフェースに表示させるエラー報知処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記汎用印刷プログラムが前記プリンタから受信する前記エラー通知には、エラーの種別が含まれ、
前記エラー種別取得処理では、
前記汎用印刷プログラムが前記プリンタから受信した前記エラー通知に含まれる前記エラーの種別を取得する、
ように構成されるサポートプログラム。
【請求項3】
請求項1に記載するサポートプログラムであって、
前記エラー画面取得処理では、
前記エラー種別取得処理にて取得された前記エラーの種別と、取得された前記エラーの種別に対処するための対処方法と、に対応する前記エラー画面情報を取得し、
前記エラー報知処理では、
前記エラー画面取得処理にて取得された前記エラー画面情報に基づいて、前記エラーの種別と前記対処方法とが書き込まれた前記エラー報知画面を、前記ユーザインタフェースに表示させる、
ように構成されるサポートプログラム。
【請求項4】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記エラー種別取得処理にて取得された前記エラーの種別に対処するための対処方法に対応する対処画面情報を取得する対処画面取得処理と、
前記対処画面取得処理にて取得された前記対処画面情報に基づく対処報知画面を、前記情報処理装置のユーザインタフェースに表示させる対処報知処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項5】
請求項4に記載するサポートプログラムであって、
前記エラー報知処理では、
対処方法を表示するための操作子を含む前記エラー報知画面を、前記ユーザインタフェースに表示させ、
前記コンピュータに、
前記操作子が操作されたことに応じて、前記対処画面取得処理および前記対処報知処理を実行させる、
ように構成されるサポートプログラム。
【請求項6】
請求項1に記載するサポートプログラムであって、
前記エラー画面取得処理では、
前記エラー種別取得処理にて取得された前記エラーの種別に対応する前記エラー画面情報を、外部デバイスから取得し、前記外部デバイスは、前記エラーの種別ごとに、前記エラー画面情報を記憶している、
ように構成されるサポートプログラム。
【請求項7】
請求項1に記載するサポートプログラムであって、
前記エラー画面取得処理では、
前記エラー種別取得処理にて取得された前記エラーの種別に対応する前記エラー画面情報を、前記プリンタから取得し、前記プリンタは、前記エラーの種別ごとに、前記エラー画面情報を記憶している、
ように構成されるサポートプログラム。
【請求項8】
請求項1に記載するサポートプログラムであって、
前記エラー画面取得処理では、
前記エラー種別取得処理にて取得された前記エラーの種別と、前記プリンタのモデルと、に対応する前記エラー画面情報を取得し、前記エラー画面情報は、同じ前記エラーの種別であっても、プリンタのモデルによって異なる場合がある、
ように構成されるサポートプログラム。
【請求項9】
請求項1から請求項8のいずれか1つに記載するサポートプログラムであって、
前記コンピュータに、
前記汎用印刷プログラムから前記エラーイベントが出力された場合に、前記汎用印刷プログラムに対して、エラー報知不要を設定する設定処理を実行させ、前記汎用印刷プログラムは、前記エラー報知不要が設定されていないと、前記プリンタから前記エラー通知を受信した場合にエラーを報知し、前記エラー報知不要が設定されていると、エラーを報知しない、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
近年、プリンタベンダから提供されるプリンタドライバを利用せず、オペレーティングシステム(OS)の一部を構成するOS標準の汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタベンダから提供されるプリンタドライバを用いずに、OS標準の汎用印刷プログラムが印刷データを生成することで、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0003】
OS標準の汎用印刷プログラムを介して印刷を行う技術を開示した文献として、例えば特許文献1には、印刷指示によって汎用印刷プログラムから起動された補助プログラムが、プリンタからステータス情報の取得を繰り返し、取得されたステータス情報が編集アプリに渡される構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-126319号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
情報処理装置からプリンタに印刷データを送信した後、そのプリンタにてエラーが生じた場合、そのエラーの詳細を情報処理装置にて報知することが望まれる。特許文献1に開示されているように、印刷指示の後、補助プログラム(サポートプログラム)がプリンタからステータス情報の取得することで、プリンタで発生しているエラーを報知することも可能であるが、ステータス情報の取得を繰り返していることから、補助プログラムによる通信負荷が高い。
【課題を解決するための手段】
【0006】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、前記コンピュータに、前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記印刷指示による印刷対象の前記画像を示す印刷データに基づく印刷を前記プリンタに行わせるための処理を行う印刷処理を実行させ、前記汎用印刷プログラムは、前記印刷処理の実行によって前記プリンタからエラー通知を受信した場合に、エラーイベントを出力し、さらに前記コンピュータに、前記汎用印刷プログラムから前記エラーイベントが出力された場合に、前記プリンタに発生したエラーの種別を取得するエラー種別取得処理と、前記エラー種別取得処理にて取得された前記エラーの種別に対応するエラー画面情報を取得するエラー画面取得処理と、前記エラー画面取得処理にて取得された前記エラー画面情報に基づくエラー報知画面を、前記情報処理装置のユーザインタフェースに表示させるエラー報知処理と、を実行させる、ように構成される。
【0007】
上記構成のサポートプログラムは、印刷指示に連動して、エラーイベントが汎用印刷プログラムから出力された場合に、プリンタに発生したエラーの種別を取得し、そのエラーの種別に対応するエラー報知画面を情報処理装置のユーザインタフェースに表示させる。これにより、サポートプログラムは、印刷データの送信後にプリンタを監視する必要が無いため、プリンタで発生したエラーを報知するにあたって通信負荷が小さい。
【0008】
上記プログラムの機能を実現するための装置、制御方法、および当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0009】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置にてプリンタで発生したエラーを報知する場合において、通信負荷の軽減が可能な技術が実現される。
【図面の簡単な説明】
【0010】
図1】第1実施形態におけるPCの電気的構成の概略を示すブロック図である。
図2】印刷実行手順の例を示すシーケンス図である。
図3】エラー報知画面の表示例を示す図である。
図4】エラー報知画面の表示例を示す図である。
図5】エラー報知画面の表示例を示す図である。
図6】第2実施形態における印刷実行手順の例を示すシーケンス図である。
図7】エラー報知画面の表示例を示す図である。
【発明を実施するための形態】
【0011】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、PCにて実行されるサポートプログラムを開示する。
【0012】
(第1実施形態)
本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。PC1は、情報処理装置の一例である。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0013】
PC1のCPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0014】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアであるディスプレイ13aと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aの機能と入力受付機能とを備えるタッチパネルであっても良い。
【0015】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0016】
PC1のメモリ12には、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、を含む、各種のプログラムや、各種のデータが記憶されている。補助プログラム42は、サポートプログラムの一例である。編集アプリ43は、アプリケーションプログラムの一例である。
【0017】
OS21は複数のタスクを管理して切り換えることにより複数のタスクを並行して処理できるマルチタスクOSである。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0018】
OS21には、汎用印刷プログラム41が含まれている。汎用印刷プログラム41は、OS21のベンダによって用意され、OS21の一部として提供されるOS標準のプログラムである。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバを利用するようには構成されていない。
【0019】
汎用印刷プログラム41は、ユーザの指示に基づいて、複数のベンダによってそれぞれ提供される複数種類のモデルのプリンタに印刷を実行させるための機能を有するプログラムである。汎用印刷プログラム41は、多くのプリンタにて印刷を実行可能な汎用的な機能をサポートしている。汎用印刷プログラム41は、各プリンタに固有のプリンタドライバとは異なり、各プリンタやプリンタドライバが固有に備える機能、特に複雑な処理を要する機能をサポートしていない。
【0020】
汎用印刷プログラム41は、ユーザの指示に基づいて、各種のアプリから出力された印刷指示にて印刷対象として指定された画像データを受け取り、その画像データに基づく中間画像データを生成する機能を含むプログラムである。中間画像データは、例えば、XPSデータである。汎用印刷プログラム41は、さらに、中間画像データに基づいて、各種のプリンタにて印刷に利用できる形式の印刷データを生成する機能を有している。印刷データは、例えば、PWGRasterデータ、または、PDFデータである。また、汎用印刷プログラム41は、生成した印刷データを、OS21による通信機能を介して、印刷を実行させる装置として指定されたプリンタに送信する機能を有している。
【0021】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするプログラムである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、プリンタ2のベンダによって提供される。汎用印刷プログラム41は、印刷を実行させる装置としてプリンタ2が選択された場合、プリンタ2が選択されている状態で詳細な印刷設定の指示を受け付けた場合、プリンタ2に印刷を実行させる指示を受け付けた場合、等に、プリンタ2に対応する補助プログラム42を起動する。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。
【0022】
なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラムは、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0023】
PC1のOS21は、例えば、新たなプリンタがPC1に接続された場合、接続されたプリンタのタイプやモデルに応じて、適切な補助プログラムをプリンタのベンダのサーバ等からダウンロードしてPC1に組み込むことができる。OS21は、組み込んだ補助プログラムの識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。
【0024】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのプログラムである。編集アプリ43は、例えば、マイクロソフト(登録商標)製のワード(登録商標)やパワーポイント(登録商標)などであっても良いし、プリンタ2のベンダから提供されるプログラムであっても良い。編集アプリ43は、ユーザIF13を介して、例えば、プリンタ2に印刷を実行させる印刷実行指示を受け付け可能である。なお、編集アプリ43は、データの作成や編集を行うためのプログラムに限らず、ユーザの要求に応じて、地図情報やウェブページ等の各種の情報の表示指示や印刷指示を受け付ける機能を有するプログラムであっても良い。
【0025】
本形態のPC1は、通信IF14を介して、図1に示すように、プリンタ2に接続されている。プリンタ2は、少なくとも印刷機能と通信機能とを有する装置である。プリンタ2は、例えば、PC1等から印刷データを受信した場合、受信した印刷データに基づく印刷を実行可能である。本形態のプリンタ2は、カラー印刷可能なカラープリンタであるが、プリンタ2は、単色印刷のみを実行可能なプリンタであっても良い。
【0026】
プリンタ2は、PC1などの外部装置に提供可能な情報を記憶している。外部装置に提供可能な情報は、例えば、エラー画面情報4、対処画面情報5である。エラー画面情報4及び対処画面情報5については、後述する。
【0027】
次に、プリンタ2に印刷を行わせる印刷実行手順について、図2のシーケンス図を参照して説明する。ここでは、PC1が、カラー印刷可能なプリンタ2を選択して印刷する場合を例にして、印刷実行手順を説明する。
【0028】
なお、本形態における各処理は、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェアの制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0029】
ユーザは、印刷対象の画像とプリンタ2での印刷設定とを決定した後、編集アプリ43にて印刷実行の指示を入力する(C01)。編集アプリ43は、図示しない編集画面と図示しない印刷設定画面とを表示可能である。編集アプリ43は、例えば、ユーザの指示に基づいて文章や画像の作成を編集画面を介して受け付け、編集画面にて印刷機能の選択を受け付けると、印刷設定画面を表示する。編集アプリ43は、印刷設定画面にて印刷を実行するプリンタの指定や、各種パラメータの設定を受け付ける。編集アプリ43は、印刷設定画面の印刷ボタンへの操作を受け付けた場合、汎用印刷プログラム41に対して、選択中の画像の印刷をプリンタ2に行わせる実行指示を、受け付けたと判断する。
【0030】
編集アプリ43は、受け付けた印刷指示の情報を汎用印刷プログラム41に渡す(C02)。汎用印刷プログラム41は、印刷指示の情報として、印刷対象の画像を示す画像データと印刷設定を示す情報と、を編集アプリ43から取得する。
【0031】
汎用印刷プログラム41は、編集アプリ43から取得した情報に基づいて、印刷対象の画像の画像データの形式を中間画像データの形式に変換することで、中間画像データを生成する(C03)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。
【0032】
なお、汎用印刷プログラム41は、中間画像データの生成前に、指定されたデバイスであるプリンタ2に対応する補助プログラム42を起動して、印刷ジョブの処理を開始したことを通知しても良い。補助プログラム42は、汎用印刷プログラム41から起動された場合、中間画像データを生成する際に利用される各種の指示を示す情報を、必要に応じて、汎用印刷プログラム41に渡すことができる。
【0033】
汎用印刷プログラム41は、中間画像データを生成した後、補助プログラム42を起動する(C05)。補助プログラム42は、汎用印刷プログラム41に要求することで、汎用印刷プログラム41によって生成された中間画像データを取得できる。そして、補助プログラム42は、印刷設定画面を介して受け付けた印刷設定に基づいて、汎用印刷プログラム41から受け取った中間画像データや印刷設定の情報を編集する。
【0034】
補助プログラム42は、汎用印刷プログラム41にエラーイベントの発行を登録する(C11)。本形態のエラーイベントは、印刷を実行するプリンタ2からエラーを知らせるエラー通知を汎用印刷プログラム41が受信した場合に、汎用印刷プログラム41が出力可能なイベントである。補助プログラム42は、汎用印刷プログラム41に対してエラーイベントの発行を登録することにより、汎用印刷プログラム41から出力されるエラーイベントを受け取ることが可能になる。
【0035】
なお、C11に示すエラーイベント登録処理を実行するタイミングは、印刷指示に連動して補助プログラム42が起動された後(C05にて実行指示を受け付けた後)、補助プログラム42が印刷処理を行う前(後述するC21にて印刷データを出力する前)であれば、いつでもよい。本形態では、印刷指示がある度に、補助プログラム42がエラーイベントの発行を汎用印刷プログラム41に登録しているが、汎用印刷プログラム41がエラーイベントの発行の登録を維持する機能を有する場合には、補助プログラム42は、C11の処理を省略してもよい。
【0036】
補助プログラム42は、中間画像データを汎用印刷プログラム41に渡し、汎用印刷プログラム41にラスタライズを要求する(C12)。汎用印刷プログラム41は、中間画像データをラスタライズし、ビットマップデータであるラスタデータを生成する(C13)。さらに、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(C14)。これにより、補助プログラム42は、ラスタデータを取得する。
【0037】
なお、汎用印刷プログラム41に代えて補助プログラム42がラスタライズを行っても良い。その場合、補助プログラム42は、印刷の実行指示にて受け取った中間画像データに基づいてラスタライズを実行し、ラスタデータを生成する。補助プログラム42にてラスタライズすれば、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適したラスタデータが生成される可能性が高い。一方、汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42のプログラムサイズを小さくできる。
【0038】
そして、補助プログラム42は、C14にて取得したラスタデータを必要に応じて加工し、加工済みのラスタデータをPDLデータにエンコードして、印刷データを生成する(C15)。さらに、補助プログラム42は、生成した印刷データを汎用印刷プログラム41に渡し、プリンタ2への送信を指示する(C21)。C21は、プリンタ2に印刷させるための処理であり、「印刷処理」の一例である。
【0039】
図2のC21にて補助プログラム42が汎用印刷プログラム41に渡す印刷データは、プリンタ2にて印刷可能な形式のデータであればよい。なお、補助プログラム42によって生成されるPDLデータは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。
【0040】
汎用印刷プログラム41は、補助プログラム42の指示に応じて、印刷データをプリンタ2に送信し、印刷を指示する(C22)。プリンタ2は、受信した印刷データに基づいて、印刷を実行する(C23)。これにより、編集アプリ43から出力された印刷指示に基づく印刷物が生成される。
【0041】
印刷を実行するプリンタ2は、その印刷結果を汎用印刷プログラム41に通知する。例えば、プリンタ2は、印刷中にエラーが発生し、印刷に失敗した場合、エラーが発生したことを示すエラー通知を汎用印刷プログラム41に通知する(C31)。エラー通知には、エラーの種別が含まれる。エラーの種別は、例えば、ドアオープン、着色材なし、着色材極少量、着色材少量、用紙なし、用紙詰まり、排紙トレイの空き無し、排紙トレイの空き少量、である。
【0042】
汎用印刷プログラム41は、エラーの種別を含むエラー通知をプリンタ2から受信すると、エラーイベントの発行が登録されていることを条件として、エラーイベントを出力する(C32)。例えば、汎用印刷プログラム41は、エラー通知に含まれるエラーの種別を付加したエラーイベントを出力する。
【0043】
補助プログラム42は、C33にて、汎用印刷プログラム41から出力されたエラーイベントを受け取ると、エラー報知を不要とする抑制通知を汎用印刷プログラム41に渡し、エラー報知不要を汎用印刷プログラム41に設定する(C34)。C34の処理は「設定処理」の一例である。
【0044】
汎用印刷プログラム41は、プリンタ2からエラー通知を受信した場合、汎用印刷プログラム41自ら、エラーを報知するエラー報知画面をユーザIF13に表示させることができる。しかし、汎用印刷プログラム41は、エラー通知に含まれるエラーの種別を認識できない場合がある。その場合、汎用印刷プログラム41が表示させるエラー報知画面は、標準的なエラーの表示になってしまうため、エラーの詳細を報知できない。一方、補助プログラム42は、後述するように、プリンタ2によって付加されたエラーの種別を認識し、エラーの詳細を報知することが可能である。
【0045】
汎用印刷プログラム41は、エラー報知不要が設定されていない場合、エラー通知の受信に応じてエラーを自ら報知する。一方、汎用印刷プログラム41は、エラー報知不要が設定されている場合、エラー通知の受信に応じてエラーを自ら報知しない。そのため、補助プログラム42が汎用印刷プログラム41にエラー報知不要を設定することにより、汎用印刷プログラム41と補助プログラム42とが重複してエラー報知することを回避できる。
【0046】
補助プログラム42は、汎用印刷プログラム41から出力されたエラーイベントに付加されたエラーの種別を取得する(C35)。C35は「エラー種別取得処理」の一例である。補助プログラム42は、プリンタ2と通信することなく、エラーの種別を取得できる。
【0047】
なお、エラー通知がエラーの種別ごとに専用に設定されたエラーコードを含む場合、汎用印刷プログラム41は、エラーコードに対応する種類のエラーイベントを出力してもよい。この場合、補助プログラム42は、エラーイベントの種類を解析することによって、エラーの種別を取得してもよい。
【0048】
また、例えば、プリンタ2から送信されるエラー通知にはエラーの種別が含まれるが、汎用印刷プログラム41がエラーの種別を特定しないエラーイベントを出力した場合、補助プログラム42は、汎用印刷プログラム41からエラー通知に含まれていたエラーの種別を取得してもよい。この場合も、補助プログラム42は、プリンタ2と通信することなく、エラーの種別を汎用印刷プログラム41から取得できる。
【0049】
また、例えば、プリンタ2から送信されるエラー通知にエラーの種別が含まれていない場合には、補助プログラム42は、プリンタ2からエラーの種別を取得してもよい。この場合、補助プログラム42は、汎用印刷プログラム41を介してプリンタ2からエラーの種別を取得してもよい。この際、汎用印刷プログラム41は、OS21を介して、例えば、IPP(internet printing protocolの略)に応じた通信によって、プリンタ2との通信を行う。また、補助プログラム42は、例えば、MIB(Management Information Baseの略)を使って、プリンタ2からエラー種別を直接取得してもよい。
【0050】
補助プログラム42は、C35にて取得したエラーの種別と、印刷指示にて指定されたプリンタのモデルと、に対応するエラー画面情報4を取得する(C36)。エラー画面情報4は、エラーを報知するエラー報知画面を表示するための情報である。エラー画面情報4は、プリンタのモデルに対応するように、エラーの種別ごとにカスタマイズされた情報である。エラー画面情報4は、例えば、画像やテキストの配置を示すレイアウト、エラーの内容を示すエラー情報、プリンタのモデルに対応する画像データ、を含む。C36は、「エラー画面取得処理」の一例である。
【0051】
本形態では、プリンタベンダが、プリンタのモデルに対応するエラー画面情報4を、各プリンタに記憶させている。補助プログラム42は、C35にて取得したエラーの種別に対応するエラー画面情報4を、印刷指示にて指定されたプリンタ2から取得する。このように、エラーの種別ごとのエラー画面情報4をプリンタ2に記憶しておき、補助プログラム42が、エラーを報知する際にそのプリンタ2からエラー画面情報4を取得することで、補助プログラム42のサイズを小さくすることができる。また、補助プログラム42は、プリンタ2に適した詳細なメッセージをPC1のディスプレイ13aに表示させることができる。
【0052】
なお、エラー画面情報4は、サーバ等の外部デバイスに記憶されていてもよい。サーバは、例えば、プリンタベンダが管理するサーバであり、プリンタベンダが提供するエラー画面情報4を全て記憶している。この場合、補助プログラム42は、例えば、通信IF14を用いて、サーバにエラー画面情報4の送信を要求する。この要求には、プリンタ2のモデルと取得したエラーの種別とが付加されている。サーバは、要求に付加されたモデルとエラーの種別に対応するエラー画面情報4を抽出し、PC1に送信する。補助プログラム42は、通信IF14を用いてエラー画面情報4を受信することによって、サーバからエラー画面情報4を取得する。このように、エラーの種別ごとのエラー画面情報4をサーバなどの外部デバイスに記憶しておき、補助プログラム42が、エラーを報知する際にその外部デバイスからエラー画面情報4を取得することで、補助プログラム42のサイズを小さくすることができる。また、補助プログラム42を変更しなくても、エラー画面情報4あるいはエラー報知画面の内容を変更することが可能になる。
【0053】
エラー画面情報4は、メモリ12に設けられた補助プログラム42用の記憶領域に記憶されていてもよい。この場合、補助プログラム42は、補助プログラム42が対応可能なプリンタのモデルに関するエラー画面情報4を記憶している。補助プログラム42は、印刷指示にて指定されたプリンタ2のモデルと、C35にて取得したエラーの種別と、に対応するエラー画面情報4をメモリ12から読み出して取得する。これによれば、補助プログラム42は、プリンタ2やサーバなどの外部装置と通信を行わずに、エラー画面情報4を取得し、エラー報知画面を表示することが可能になる。
【0054】
エラー画面情報4がメモリ12に記憶されていても、補助プログラム42がエラーの種別を何らかの事情で認識できない場合、補助プログラム42はそのエラーの種別に対応するエラー画面情報4をメモリ12から取得できない。この場合、補助プログラム42は、サーバなどの外部デバイスに不明なエラーの種別を渡し、対応するエラー画面情報4を取得してもよい。つまり、補助プログラム42がエラー画面情報4を取得する方法は、取得時の状況に応じて変えてもよい。
【0055】
補助プログラム42は、C36にて取得したエラー画面情報4に基づくエラー報知画面をユーザIF13のディスプレイ13aに表示させる(C37)。上述したようにエラー画面情報4は、エラーの種別ごとにカスタマイズされている。そのため、補助プログラム42は、エラーの種別によって内容が異なるエラー報知画面をディスプレイ13aに表示させることができる。C37は、「エラー報知処理」の一例である。エラー報知画面の表示例を図3図5に示す。
【0056】
例えば、補助プログラム42は、C36にてインクなしのエラーの種別に対応するエラー画面情報4を取得した場合、図3に示すエラー報知画面100Aをディスプレイ13aに表示させる。エラー報知画面100Aは、デバイス表示領域110と、印刷結果表示領域120と、トラブルシューティングボタン130と、ステータス表示領域140と、消耗品購入サイト表示ボタン150と、閉じるボタン160と、が配置されている。
【0057】
デバイス表示領域110には、印刷指示にて指定されたプリンタ2のデバイス名「XXX1」が表示される。印刷結果表示領域120には、印刷エラーを示すエラーマーク121と、インクの交換を促すメッセージ122と、が含まれる。ユーザは、エラーマーク121と、メッセージ122と、から、プリンタ2から離れた場所にいてもインク不足によりプリンタ2での印刷に失敗したことを把握できる。
【0058】
トラブルシューティングボタン130は、エラーの種別に対処するための対処方法を表示するための操作子である。トラブルシューティングボタン130は、「操作子」の一例である。トラブルシューティングボタン130の操作により実行される処理については、後述する。
【0059】
ステータス表示領域140は、プリンタ2から取得したステータス情報を表示する領域である。例えば、補助プログラム42は、C36にてエラー画面情報を取得する際に、プリンタ2からステータス情報を取得する。ステータス情報は、例えば、インクや用紙などの消耗材の残量を示す残量情報を含む。ステータス表示領域140は、例えば、インクの残量を色ごとに示す画像141と、用紙の残量をトレイごとに示す画像142と、を含む。さらに、ステータス表示領域140は、例えば、残量が不足する消耗材には空マーク143が付加され、残量が不足に近い消耗材にはLOWマーク144が付加される。よって、ユーザは、ステータス表示領域140の表示内容から、どの色のインクカートリッジを交換する必要があるかや、どのトレイの用紙がなくなったか、を把握できる。また、ユーザは、交換時期が近いインクカートリッジや、用紙の補充時期が近い用紙トレイなどを把握することもできる。
【0060】
消耗品購入サイト表示ボタン150は、消耗品の購入を受け付ける購入画面のウェブページを開くための操作子である。消耗品購入サイト表示ボタン150には、購入画面のウェブページを示すURLが関連付けられている。補助プログラム42は、消耗品購入サイト表示ボタン150がユーザIF13を用いて操作されると、そのURLを図示しないブラウザに渡す。ブラウザは、URLが示すウェブページを管理するサーバから購入画面を提供され、表示する。なお、補助プログラム42は、自身がブラウザ機能を有する場合には、URLに基づいてサーバにアクセスし、サーバから提供される購入画面を表示してもよい。
【0061】
例えば、補助プログラム42は、C36にて用紙詰まりのエラー種別に対応するエラー画面情報4を取得した場合、図4に示すエラー報知画面100Cをディスプレイ13aに表示させる。エラー報知画面100Cは、デバイス表示領域110と、印刷結果表示領域120と、トラブルシューティングボタン130と、閉じるボタン160と、が配置されている。用紙詰まりの対処に消耗材の確認や購入を必要としないので、本形態のエラー報知画面100Cは、ステータス表示領域140と、消耗品購入サイト表示ボタン150と、が配置されていない。
【0062】
また、エラー報知画面100Cは、印刷結果表示領域120の内容がエラー報知画面100Aと異なる。具体的に、エラー報知画面100Cは、エラーマーク121と共に、エラーの種別「用紙詰まり」と、エラーの発生位置を示す内容「内部/前」とを示すメッセージ126が表示されている。また、エラー報知画面100Cは、プリンタ2のモデルに対応する画像127が表示され、用紙詰まりの位置を示す位置マーク128が表示されている。ユーザは、エラーマーク121と、メッセージ126と、から、プリンタ2から離れた場所にいても、用紙詰まりにより印刷に失敗したことや、用紙詰まりの詳細な内容を把握できる。さらに、ユーザは、画像127と、位置マーク128と、から、用紙詰まりの内容を具体的に把握でき、用紙詰まりを解消しやすい。
【0063】
上述したようにエラー画面情報4は、プリンタのモデルに対応するようにカスタマイズできる。そのため、補助プログラム42は、同じエラーの種別であっても、プリンタのモデルによって異なる内容のエラー報知画面をディスプレイ13aに表示させることができる。具体的に、例えば、プリンタは、詳細な情報を表示可能な液晶パネルを有するモデルと、そのような液晶パネルを有していないモデルと、がある。液晶パネルを有していないモデルのプリンタが用紙詰まりのエラーを生じた場合、補助プログラム42は、例えば図4に示すエラー報知画面100CをPC1のディスプレイ13aに表示させることができる。
【0064】
これに対して、液晶パネルを有するモデルのプリンタが用紙詰まりのエラーを生じた場合、補助プログラム42は、例えば図5に示すエラー報知画面100DをPC1のディスプレイ13aに表示させることができる。プリンタに液晶パネルがある場合、ユーザは、PC1のディスプレイ13aを見るよりもプリンタ本体の液晶パネルを見た方が、用紙詰まりに対処しやすい。そのため、エラー報知画面100Dは、図4の画像127と位置マーク128の代わりに、例えば「プリンタの液晶パネルに表示される手順に従って、用紙詰まりを解消してください。」など、ユーザをプリンタの設置場所へ行かせるためのメッセージ129を表示する。よって、補助プログラム42は、プリンタのモデルに適切な報知を行うことができる。
【0065】
図2に戻り、補助プログラム42は、例えば図3に示すエラー報知画面100Aのトラブルシューティングボタン130がユーザIF13を用いて操作されると、対処表示指示を受け付け(C41)、対処画面情報5を取得する(C42)。トラブルシューティングボタン130には、エラーの種別に対応する対処画面情報5の保存場所が関連付けられている。補助プログラム42は、トラブルシューティングボタン130に関連付けられた保存場所にアクセスして、対処画面情報5を取得する。C42は、「エラー画面取得処理」の一例である。
【0066】
対処画面情報5は、エラーの対処方法を報知する対処報知画面を表示するための情報である。対処方法は、プリンタのモデルごとに取り決められている。対処画面情報5は、例えば、手順を説明するテキストデータのみで構成されてもよいし、複数の画像データを組み合わせて構成されてもよいし、テキストデータと画像データとを組み合わせて構成されてもよい。対処画面情報5は、動画データであってもよい。
【0067】
本形態では、プリンタベンダが、プリンタのモデルに対応する対処画面情報5を、各プリンタに記憶させている。補助プログラム42は、トラブルシューティングボタン130が操作されると、対処画面情報5をプリンタ2から取得する。プリンタ2が対処画面情報5を記憶することで、補助プログラム42のサイズが小さくなる。
【0068】
なお、対処画面情報5は、サーバ等に外部デバイスに記憶されていてもよい。この場合、補助プログラム42は、通信IF14を用いてサーバにアクセスし、サーバから対処画面情報5を取得してもよい。サーバが対処画面情報5を記憶することで、補助プログラム42のサイズが小さくなる。また、補助プログラム42を変更しなくても、対処画面情報5あるいは対処報知画面の内容を変更することが可能になる。
【0069】
また、対処画面情報5は、メモリ12に設けられた補助プログラム42用の記憶領域に記憶されていてもよい。この場合、補助プログラム42は、補助プログラム42用の記憶領域から対処画面情報5を読み出して取得する。これによれば、補助プログラム42は、外部装置と通信を行わずに、対処画面情報5を取得して対処報知画面を表示することが可能になる。
【0070】
対処画面情報5とエラー画面情報4との保存場所は異なってもよい。例えば、エラー画面情報4は、補助プログラム42用の記憶領域に記憶され、対処画面情報5は、サーバに記憶されていてもよい。
【0071】
補助プログラム42は、C42にて取得した対処画面情報5に基づく対処報知画面をディスプレイ13aに表示させる(C43)。対処報知画面は、エラー報知画面と別の画面として表示されてもよいし、エラー報知画面に組み込んでエラー報知画面と一体に表示されてもよい。C43は、「対処報知処理」の一例である。対処報知画面の表示例を図3に示す。
【0072】
例えば、図3の対処報知画面300は、インク不足のエラーを報知するエラー報知画面100Aのトラブルシューティングボタン130が操作された場合に表示される画面である。対処報知画面300は、エラー報知画面100Aと別にディスプレイ13aに表示される。対処報知画面300には、例えば、インクカートリッジの交換位置を示す画像301と、インクを交換する手順を説明するテキスト302と、が表示される。これにより、ユーザがインク不足のエラーに関する対処方法を具体的に把握できるので、ユーザによるインクカートリッジの交換が期待できる。また、エラー報知画面100Aにトラブルシューティングボタン130を用意し、トラブルシューティングボタン130の操作に応じて対処報知画面300がエラー報知画面100Aと別に表示されるので、報知内容が煩雑にならず、エラーの対処方法がユーザに伝わりやすい。
【0073】
補助プログラム42は、対処報知画面300の閉じるボタン303あるいはエラー報知画面100Aの閉じるボタン160がユーザIF13を用いて操作されることによって、対処報知画面300やエラー報知画面100Aの表示を終了する。
【0074】
なお、本形態では、補助プログラム42がエラー報知画面100Aと対処報知画面300の表示を制御しているが、OS21が補助プログラム42からの依頼に応じてエラー報知画面100Aや対処報知画面300の表示を制御してもよい。
【0075】
以上、詳細に説明したように、本形態の補助プログラム42は、印刷指示に連動して、エラーイベントが汎用印刷プログラム41から出力された場合に、プリンタ2に発生したエラーの種別を取得し、そのエラーの種別に対応するエラー報知画面100AをPC1のユーザIF13に表示させる。これにより、補助プログラム42は、印刷データの送信後にプリンタ2を監視する必要が無い。すなわち、補助プログラム42は、エラー発生時のみの通信であって、印刷指示後にステータスを繰り返し取得し続けるといった必要がない。よって、補助プログラム42は、プリンタ2で発生したエラーを報知するにあたって通信負荷が小さい。
【0076】
(第2実施形態)
続いて、第2実施形態について説明する。第2実施形態では、補助プログラム42がエラー画面情報4と対処画面情報5とを同じタイミングで取得する。この点が、エラー画面情報4と対処画面情報5とを異なるタイミングで取得する第1実施形態と相違し、その他の点は、第1実施形態と共通している。以下では、第1実施形態と相違する点を中心に説明し、第1実施形態の共通する構成や処理には、第1実施形態と同じ符号を用いて適宜説明を省略する。
【0077】
図6に示すように、補助プログラム42は、エラーの種別を取得すると(C35)、エラー画面情報4と、対処画面情報5と、を取得する(C101)。エラー画面情報4と対処画面情報5との保存場所は、同じでもよいし、異なってもよい。C101は、「エラー画面取得処理」の一例である。
【0078】
補助プログラム42は、C101にて取得したエラー画面情報4と、対処画面情報5と、に基づいて、エラーの種別とエラーの対処方法とが書き込まれたエラー報知画面をPC1のディスプレイ13aに表示させる(C102)。C102は、「エラー報知処理」の一例である。エラー報知画面の表示例を図7に示す。
【0079】
例えば、ユーザがプリンタ2のカバーを開けてインク交換した際に、カバーが完全に閉じられなかった場合、プリンタ2は、カバーオープンのエラー種別を含むエラー通知を汎用印刷プログラム41に送信する。この場合、補助プログラム42は、カバーオープンに対応するエラー画面情報4と対処画面情報5とを取得し、図7に示すエラー報知画面100FをPC1のディスプレイ13aに表示させる。
【0080】
エラー報知画面100Fは、デバイス表示領域110と、印刷結果表示領域120と、対処メッセージ131と、画像132と、閉じるボタン160と、が配置されている。
【0081】
エラー報知画面100Fは、エラーマーク121と共に、エラーの種別「カバーオープン」を示すメッセージ125が表示されている。また、エラー報知画面100Fは、例えば、「プリンタの前面扉を閉じてください。」など、カバーオープンの対処方法を示す対処メッセージ131が表示されている。エラー報知画面100Fには、エラーを生じている前面扉の位置を示す画像132が表示されている。
【0082】
本形態の補助プログラム42は、エラー種別に対処するための対処方法(対処メッセージ131、画像132)もエラーの種別(メッセージ125)と同時にエラー報知画面100Fに報知することで、ユーザがエラーの種別に加え、そのエラーの対処方法も把握できることから、ユーザによるエラーの対処が期待できる。
【0083】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0084】
図3のエラー報知画面100Aは、トラブルシューティングボタン130および消耗品購入サイト表示ボタン150を、それぞれ、対応するサイトのURLのリンクを表示してもよいし、対応するサイトのURLをテキストのみで表示してもよい。ただし、エラー報知画面100Aは、トラブルシューティングボタン130および消耗品購入サイト表示ボタン150が用意されることにより、ユーザが対処方法や購入画面を表示させやすい。
【0085】
エラー画面情報4は、プリンタのモデルに共通する内容であってもよい。ただし、同じエラー種別であっても、プリンタのモデルごとに内容の異なるエラー画面情報4を用意しておくことで、そのプリンタのモデルに適切な報知を行うことができる。
【0086】
図2のC34の処理を省略し、補助プログラム42と汎用印刷プログラム41とが、エラーを報知してもよい。ただし、汎用印刷プログラム41でエラーを報知することが通常動作の場合、補助プログラム42が、抑制通知を汎用印刷プログラム41に渡し、エラー報知不要を設定して汎用印刷プログラム41でのエラー報知を回避することで、消耗材不足によるエラー報知を汎用印刷プログラム41と補助プログラム42とが重複して行うことを回避できる。
【0087】
図6に示すように、エラー画面情報4と対処画面情報5とを同じタイミングで取得した場合にも、エラー報知画面と対処報知画面とを別々の画面として表示してもよい。この場合、例えば図3に示すように、エラー報知画面に含まれる操作子の操作に応じて対処報知画面を表示してもよいし、エラー報知画面と対処報知画面とを同時に並べて表示してもよい。
【0088】
また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0089】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0090】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0091】
1 PC
2 プリンタ
11 CPU
13 ユーザIF
21 OS
41 汎用印刷プログラム
42 補助プログラム
43 編集アプリ
100A エラー報知画面
図1
図2
図3
図4
図5
図6
図7