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

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

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

<>
  • 特開-サポートプログラム 図1
  • 特開-サポートプログラム 図2
  • 特開-サポートプログラム 図3
  • 特開-サポートプログラム 図4
  • 特開-サポートプログラム 図5
  • 特開-サポートプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118718
(43)【公開日】2024-09-02
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240826BHJP
   B41J 29/38 20060101ALI20240826BHJP
   B41J 29/00 20060101ALI20240826BHJP
   H04N 1/00 20060101ALI20240826BHJP
【FI】
G06F3/12 332
G06F3/12 310
G06F3/12 334
G06F3/12 328
B41J29/38 203
B41J29/00 Z
H04N1/00 127B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023025152
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】成田 建樹
(72)【発明者】
【氏名】市川 裕詞
(72)【発明者】
【氏名】江口 愛莉
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061CL10
2C061HJ08
2C061HN05
2C061HN15
5C062AA05
5C062AB38
5C062AC38
5C062AF15
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、OS標準の汎用印刷プログラムが行った処理についてのエラーの詳細を報知可能な技術を提供すること。
【解決手段】補助プログラム42は、PC1と接続するプリンタ2に対応するプログラムであり、PC1には、汎用印刷プログラム41を有するOS21が搭載されている。補助プログラム42は、PC1のCPU11に、汎用印刷プログラム41を介してプリンタ2との通信を行わせ、通信におけるエラーの発生によって汎用印刷プログラム41からエラー通知が出力された場合に、エラーの種別を含むエラー情報を汎用印刷プログラム41から取得させ、取得されたエラー情報に基づく画面情報を取得させ、取得された画面情報に基づく報知画面を、ユーザIF13に表示させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、
前記コンピュータに、
前記汎用印刷プログラムを介して前記プリンタとの通信を行う通信処理と、
前記通信処理におけるエラーの発生によって前記汎用印刷プログラムからエラー通知が出力された場合に、エラーの種別を含むエラー情報を前記汎用印刷プログラムから取得するエラー情報取得処理と、
前記エラー情報取得処理にて取得された前記エラー情報に基づく画面情報を取得する画面情報取得処理と、
前記画面情報取得処理にて取得された前記画面情報に基づく報知画面を、前記情報処理装置のユーザインタフェースに表示させる報知処理と、
を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
通信インタフェースの種類を含むインタフェース情報を取得するインタフェース情報取得処理を実行させ、
前記画面情報取得処理では、
前記エラー情報取得処理にて取得された前記エラー情報に含まれる前記エラーの種別と、前記インタフェース情報取得処理にて取得された前記インタフェース情報に含まれる前記通信インタフェースの種類と、に基づく前記画面情報を取得する、
ように構成されるサポートプログラム。
【請求項3】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記通信処理におけるエラーの発生によって前記汎用印刷プログラムから前記エラー通知が出力された場合に、前記プリンタとの接続を指示する接続コマンドを受け付ける再接続受付処理を実行させ、
前記再接続受付処理にて前記接続コマンドが受け付けられた場合に、前記通信処理を再実行させる、
ように構成されるサポートプログラム。
【請求項4】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記プリンタに行わせる前記印刷指示があった場合に、前記プリンタに印刷データを送信する前に、前記通信処理を実行させ、
さらに前記コンピュータに、
前記通信処理が実行されて前記汎用印刷プログラムから前記エラー通知が出力されなかった場合に、前記印刷指示による印刷対象の前記画像を示す印刷データに基づく印刷を前記プリンタに行わせるための処理を実行させ、
前記通信処理におけるエラーの発生によって前記汎用印刷プログラムから前記エラー通知が出力された場合に、前記エラー情報取得処理、前記画面情報取得処理、および前記報知処理を実行させる、
ように構成されるサポートプログラム。
【請求項5】
請求項4に記載するサポートプログラムであって、
前記コンピュータに、
前記印刷指示に基づく前記通信処理におけるエラーの発生によって前記汎用印刷プログラムから前記エラー通知が出力された場合に、前記印刷指示に基づく印刷をキャンセルするキャンセルコマンドを受け付けるキャンセル受付処理を実行させ、
前記キャンセル受付処理にて前記キャンセルコマンドが受け付けられた場合に、前記印刷指示に基づく印刷をキャンセルするキャンセル処理を実行させる、
ように構成されるサポートプログラム。
【請求項6】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記ユーザインタフェースに設定画面を表示させ、前記設定画面を介して、印刷設定を受け付ける設定受付処理を実行させ、
さらに前記コンピュータに、
前記設定受付処理にて前記設定画面を表示する場合に、前記通信処理を実行させる、
ように構成されるサポートプログラム。
【請求項7】
請求項1に記載するサポートプログラムであって、
前記コンピュータに、
前記エラー情報取得処理にて取得された前記エラー情報に含まれる前記エラーの種別が認証エラーであった場合に、認証情報と前記プリンタとの接続を指示する接続コマンドとを受け付ける再認証受付処理を実行させ、
さらに前記コンピュータに、
前記再認証受付処理にて前記接続コマンドが受け付けられた場合に、前記再認証受付処理にて受け付けられた前記認証情報を用いて、前記通信処理を再実行させる、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
従来、プリンタと情報処理装置とがネットワークを介して通信を行い、エラーが発生した場合に報知を行う技術が知られている。例えば特許文献1には、管理権限を有しないユーザからのリクエストである場合にプリンタから情報処理装置である通信装置にエラーが通知される構成や、印刷プリセットを登録する処理においてプリンタから通信装置に認証エラーが通知される構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-119089号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、プリンタベンダから提供されるプリンタドライバを利用せず、オペレーティングシステム(OS)の一部を構成するOS標準の汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタベンダから提供されるプリンタドライバを用いずに、OS標準の汎用印刷プログラムが印刷データを生成することで、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0005】
しかしながら、情報処理装置から前述したOS標準の汎用印刷プログラムを介してプリンタと通信を行う処理においてエラーが発生した場合に、情報処理装置において、そのエラーの詳細を報知する技術について開示しているものがない。OS標準の汎用印刷プログラムが行った処理のエラーについても、情報処理装置にて詳細な情報を報知することが望まれることから、改善の余地がある。
【課題を解決するための手段】
【0006】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置には、汎用印刷プログラムを有するオペレーティングシステムが搭載されており、前記コンピュータに、前記汎用印刷プログラムを介して前記プリンタとの通信を行う通信処理と、前記通信処理におけるエラーの発生によって前記汎用印刷プログラムからエラー通知が出力された場合に、エラーの種別を含むエラー情報を前記汎用印刷プログラムから取得するエラー情報取得処理と、前記エラー情報取得処理にて取得された前記エラー情報に基づく画面情報を取得する画面情報取得処理と、前記画面情報取得処理にて取得された前記画面情報に基づく報知画面を、前記情報処理装置のユーザインタフェースに表示させる報知処理と、を実行させる、ように構成されている。
【0007】
本明細書に開示されるサポートプログラムは、プリンタとの通信において汎用印刷プログラムからエラー通知が出力された場合、エラーの種別を含むエラー情報を汎用印刷プログラムから取得して、そのエラー情報に基づく報知画面を表示させる。これにより、ユーザはエラーの詳細を把握することができる。その結果として、ユーザによるエラーの対処が期待できる。
【0008】
上記サポートプログラムが組み込まれた情報処理装置、サポートプログラムを格納するコンピュータにて読取可能な記憶媒体、及びサポートプログラムの機能を実現するための制御方法、サポートプログラムとプリンタとを含む印刷システムも、新規で有用である。
【発明の効果】
【0009】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置について、OS標準の汎用印刷プログラムが行った処理についてのエラーの詳細を報知可能な技術が実現される。
【図面の簡単な説明】
【0010】
図1】PCの電気的構成の概略を示すブロック図である。
図2】印刷手順の例を示すシーケンス図である。
図3】能力情報取得手順の例を示すシーケンス図である。
図4】報知画面の例を示す説明図である。
図5】報知画面の例を示す説明図である。
図6】印刷設定手順の例を示すシーケンス図である。
【発明を実施するための形態】
【0011】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、PCにて実行されるサポートプログラムを開示する。
【0012】
本形態の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標準のプログラムである。つまり、PC1には、汎用印刷プログラム41を有するOS21が搭載されている。汎用印刷プログラム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は、カラー印刷可能な装置であっても良いし、単色印刷のみを実行可能な装置であっても良い。
【0026】
プリンタ2は、認証機能を有する装置であっても良い。認証機能を有しているプリンタ2は、例えば、認証に利用する認証情報を予め受け付け、プリンタ2に記憶する。認証機能を利用する設定がなされている場合、プリンタ2は、例えば、情報の送信指示や印刷実行の指示を受け付けた場合に、認証処理を実行する。なお、プリンタ2自身が認証処理を実行する代わりに、認証サーバ等の外部デバイスに実行させても良い。そして、プリンタ2は、認証情報を受け付けなかった場合や、受け付けた認証情報に基づく認証に成功しなかった場合には、情報の送信や印刷を行わない。
【0027】
また、プリンタ2は、例えば、利用制限に関する設定を受け付け可能であっても良い。利用制限には、例えば、1か月等の所定期間中に印刷可能な印刷枚数の制限、カラー印刷に関する制限、ユーザごとの利用制限、があり、これらの組み合わせであっても良い。なお、認証や利用制限に関する設定は、プリンタ2が自身の操作パネル等で受け付けても良いし、管理者のPC等からの設定指示によって受け付けても良い。
【0028】
次に、本形態のPC1において、プリンタ2に印刷の動作を行わせる手順について説明する。なお、本形態における各処理は、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェアの制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0029】
印刷手順について、図2のシーケンス図を参照して説明する。編集アプリ43は、ユーザの指示に基づいて、文章や画像の作成や編集を受け付ける。そして、表示中の文章や画像を印刷させたい場合、ユーザは、編集アプリ43にて印刷実行の指示を入力する(A01)。編集アプリ43は、OS21に汎用印刷プログラム41が含まれている場合、汎用印刷プログラム41に対して、選択中の画像の印刷をプリンタ2に行わせる実行指示を、受け付けたと判断する。
【0030】
編集アプリ43は、受け付けた印刷指示の情報を汎用印刷プログラム41に渡す(A02)。汎用印刷プログラム41は、印刷指示の情報として、印刷対象の画像を示す画像データと印刷設定を示す情報と、を編集アプリ43から取得する。
【0031】
汎用印刷プログラム41は、編集アプリ43から取得した情報に基づいて、印刷対象の画像の画像データの形式を中間画像データの形式に変換することで、中間画像データを生成する(A03)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷対象の画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。
【0032】
なお、汎用印刷プログラム41は、中間画像データの生成前に、指定されたデバイスであるプリンタ2に対応する補助プログラム42を起動して、印刷ジョブの処理を開始したことを通知しても良い。補助プログラム42は、汎用印刷プログラム41から起動された場合、中間画像データを生成する際に利用される各種の指示を示す情報を、必要に応じて、汎用印刷プログラム41に渡すことができる。
【0033】
汎用印刷プログラム41は、中間画像データを生成した後、補助プログラム42を起動する(A05)。補助プログラム42は、A05の指示に応じて起動されると、プリンタ2の能力情報の取得を試行するための能力情報取得手順を開始する(A11)。
【0034】
次に、能力情報取得手順について、図3のシーケンス図を参照して説明する。補助プログラム42は、能力情報取得要求を汎用印刷プログラム41に渡すことで、汎用印刷プログラム41にプリンタ2の能力情報の取得を要求する(B01)。汎用印刷プログラム41は、能力情報の送信を指示するコマンドのプリンタ2への送信を試行する(B02)。B01とB02とは、通信処理の一例である。
【0035】
汎用印刷プログラム41は、プリンタ2との通信を行う際に、OS21を介して、例えば、IPP(internet printing protocolの略)に応じた通信を行う。そして、プリンタ2は、IPPによる接続における認証情報を設定可能であっても良い。補助プログラム42は、汎用印刷プログラム41を介してIPPにてプリンタ2と通信することが指定されている場合であって、認証情報の利用が設定されている場合には、その認証情報を組み込んだ能力情報取得要求を汎用印刷プログラム41に渡す。認証情報としては、例えば、ユーザIDの情報や、パスワードの情報が該当する。
【0036】
補助プログラム42は、例えば、プリンタ2を管理する管理者によって、プリンタ2との接続に用いる認証情報が予め組み込まれていても良い。あるいは、補助プログラム42は、能力情報取得要求を汎用印刷プログラム41に渡す前に、ユーザに問い合わせて認証情報を取得しても良い。
【0037】
汎用印刷プログラム41は、B02にてプリンタ2との通信を試行した際にエラーが発生した場合、通信エラーの発生を示すエラー通知を補助プログラム42に出力する(B10)。汎用印刷プログラム41は、例えば、プリンタ2との接続に失敗した場合、プリンタ2から通信拒否の情報を取得した場合、エラーが発生したと判断する。
【0038】
補助プログラム42は、汎用印刷プログラム41から受け取ったエラー通知に基づいて、プリンタ2との通信に利用した通信ポートの情報と、発生したエラーの種別を示す情報と、を含むエラー情報を汎用印刷プログラム41から取得する。B10は、エラー情報取得処理の一例であり、インタフェース情報取得処理の一例である。通信ポートの情報は、通信インタフェースの種類を含むインタフェース情報の一例である。
【0039】
なお、PC1は、USB、イーサネット(登録商標)、Wi-Fi(登録商標)等の複数の通信IF14を備えており、ユーザは、プリンタ2の機能等に応じて、利用する通信IF14を選択できる。エラー情報は、補助プログラム42が汎用印刷プログラム41から受け取るエラー通知に含まれていても良いし、エラー通知を受け取った後に補助プログラム42が汎用印刷プログラム41に要求することで取得できる情報であっても良い。
【0040】
また、汎用印刷プログラム41は、エラーの発生時にユーザIF13に報知するように構成されていても良い。その場合、補助プログラム42は、エラー通知を補助プログラム42に出力する場合には報知不要、の設定を、予め汎用印刷プログラム41に登録しておくと良い。
【0041】
補助プログラム42は、エラー通知を受け付けた場合、エラー情報に基づいて、エラーをユーザに報知するための画面を示す画面情報を取得する(B11)。B11は、画面情報取得処理の一例である。補助プログラム42は、例えば、エラーの種別ごとの報知画面の情報を予め備え、エラー情報に応じて、報知対象の画面を選択することで画面情報を取得する。なお、補助プログラム42は、サーバ等から画面情報を取得しても良い。
【0042】
そして、補助プログラム42は、取得した画面情報に基づいて、エラーをユーザに通知するための報知画面を、ユーザIF13に表示させる(B12)。B12は、報知処理の一例である。
【0043】
例えば、USB接続に失敗したことを示すエラー情報を取得した場合、補助プログラム42は、図4に示すように、USB接続エラーを報知する報知画面60を表示させる。例えば、USBインタフェースによるプリンタ2との通信が指定されており、USBインタフェースにプリンタ2が接続されていない場合やプリンタ2がオフラインである場合、補助プログラム42は、USB接続エラーを示す情報を取得できる。USB接続エラーは、エラーの種別の一例である。
【0044】
また、例えば、ネットワーク接続に失敗したことを示すエラー情報を取得した場合、補助プログラム42は、図4に示す「USB」を「ネットワーク」に変更した接続エラーの報知画面を表示させる。例えば、指定されているネットワーク機器に接続できない場合や、ネットワークを介した探索信号に応答がないままタイムアウトした場合に、補助プログラム42は、ネットワーク接続エラーを示す情報を取得できる。タイムアウトは、エラーの種別の一例である。
【0045】
また、例えば、プリンタ2での認証に失敗したことを示すエラー情報を取得した場合、補助プログラム42は、例えば、図5に示すように、認証情報の入力欄73を含む報知画面70を表示させる。例えば、認証情報が必要であるのにその認証情報が付加されていない場合や、受け付けた認証情報がプリンタ2に登録されていない場合、認証情報の有効期間が過ぎている場合に、補助プログラム42は、認証エラーを示す情報を取得できる。認証エラーは、エラーの種別の一例である。
【0046】
エラーの種別やインタフェース情報が含まれる報知画面を報知することで、ユーザはどのようなエラーが発生したのかを特定し易く、エラーの対処もし易い。報知画面には、さらに、接続のための手順を示す情報、エラーを解消するための情報の提供指示を受け付けるヘルプボタン、サポートサイトへのリンクボタン、等が含まれていても良い。
【0047】
報知画面60には、例えば、ユーザによるリトライの指示を受け付けるリトライボタン61と、印刷をキャンセルする指示を受け付けるキャンセルボタン62と、が含まれる。報知画面70には、報知画面60と同様に、例えば、リトライボタン71と、キャンセルボタン72と、が含まれる。補助プログラム42は、表示中の報知画面60、70へのユーザの操作を受け付ける。
【0048】
補助プログラム42は、表示中の報知画面60、70へのユーザの操作として、リトライボタン61、71への操作を受け付け可能である。リトライボタン61、71への操作によって(alt:[リトライ])、補助プログラム42は、リトライの指示を受け付ける(B13)。リトライボタン61、71への操作は、接続コマンドの一例である。B13は、再接続受付処理の一例である。
【0049】
リトライの指示を受け付けた場合、補助プログラム42は、再度、能力情報取得要求を汎用印刷プログラム41に渡す(B14)。B14は、B01と同様の手順である。そして、汎用印刷プログラム41は、能力情報を要求するコマンドをプリンタ2に送信し、プリンタ2に能力情報の送信を指示する(B15)。B15は、B02と同様の手順であり、補助プログラム42は、汎用印刷プログラム41に能力情報取得要求を再実行させる。これにより、汎用印刷プログラム41は、プリンタ2との通信を再度試行する。B15は、通信処理の一例である。
【0050】
補助プログラム42は、報知画面60、70にて、エラーの詳細を報知するだけでなく、プリンタ2との再接続の指示を受け付けるので、プリンタ2に印刷を行わせるための処理の継続が期待できる。
【0051】
なお、報知画面70を表示させた場合には、補助プログラム42は、入力欄73にて新たな認証情報を受け付ける。新たな認証情報とリトライボタン71への操作とを受け付ける場合のB13は、再認証受付処理の一例である。この場合、補助プログラム42は、B14にて、新たな認証情報を能力情報取得要求に付加して、汎用印刷プログラム41に渡す。
【0052】
補助プログラム42は、認証情報の再入力を受け付け、さらにプリンタとの再接続を指示するリトライの指示を受け付けるので、認証エラーの解消が期待できる。なお、補助プログラム42は、入力欄73への入力を受け付けていない状態では、リトライボタン71への操作を受け付けないとしても良い。
【0053】
また、補助プログラム42は、表示中の報知画面60、70へのユーザの操作として、キャンセルボタン62、72への操作をも受け付け可能である。キャンセルボタン62、72への操作によって(alt:[キャンセル])、補助プログラム42は、キャンセルの指示を受け付ける(B16)。キャンセルボタン62、72への操作は、キャンセルコマンドの一例である。B16は、キャンセル受付処理の一例である。
【0054】
キャンセルの指示を受け付けた場合、補助プログラム42は、図2のA01にて受け付けた印刷実行指示によって編集アプリ43から出力された印刷指示(図2のA02)に基づく印刷の手順を中止させる。具体的には、補助プログラム42は、印刷をキャンセルする通知を汎用印刷プログラム41に渡す(B17)。B17は、キャンセル処理の一例である。補助プログラム42は、印刷指示に基づく印刷のキャンセルを受け付け可能であるので、通信エラーによる処理の無駄を回避できる。
【0055】
汎用印刷プログラム41は、印刷をキャンセルする通知を受け取った場合、印刷がキャンセルされたことを示す情報を編集アプリ43に渡す(B18)。そして、図3に示す能力情報取得手順および図2に示した印刷手順は、中止される(break)。これにより、図2のA01にて受け付けた印刷実行指示に基づく印刷の実行はキャンセルされ、編集アプリ43は、ユーザの操作を受け付け可能となる。
【0056】
一方、B02やB15の要求に対してプリンタ2から適切に応答を受信できた場合、つまり、通信エラーが発生していない場合、汎用印刷プログラム41は、エラー通知を出力しない。この場合、汎用印刷プログラム41は、プリンタ2から能力情報を取得できる(B21)。汎用印刷プログラム41は、プリンタ2から取得した能力情報を、補助プログラム42に渡す(B22)。これにより、補助プログラム42は、プリンタ2の能力情報を取得できる。
【0057】
プリンタ2から取得される能力情報には、印刷設定として設定可能なパラメータの情報が含まれる。能力情報には、さらに、例えば、消耗品の残量情報、選択可能なトレイの情報、各トレイに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれていても良い。また、プリンタ2は、受け付けた印刷ジョブに基づいて画像処理を行って、画像処理後のデータに基づいて印刷する機能、例えば、Nin1等の集約印刷、ウォータマーク等の合成印刷、着色材を節約する節約印刷、を行う機能を有していても良い。プリンタ2にて実行可能な画像処理の機能を有している場合、プリンタ2は、その機能の情報を含む能力情報を渡しても良い。また、プリンタ2は、自身のステータスを示す情報を含む能力情報を渡しても良い。
【0058】
なお、リトライにて再度、通信エラーとなった場合には、汎用印刷プログラム41は、B10と同様に再度、補助プログラム42にエラー通知を出力する。補助プログラム42は、今回の印刷ジョブによって試行した接続におけるリトライの回数をカウントしても良い。そして、リトライの回数が所定の回数を超えた場合、補助プログラム42は、エラーへの対処方法を示す表示、例えば、プリンタ2の再起動を促す表示を行うとしても良い。
【0059】
図2の印刷手順の説明に戻る。A11の手順にてプリンタ2の能力情報を取得した後、補助プログラム42は、取得した能力情報や印刷設定に基づいて、必要に応じて中間画像データを加工する(A21)。さらに、補助プログラム42は、加工後の中間画像データを汎用印刷プログラム41に渡し、汎用印刷プログラム41にラスタライズを要求する(A22)。
【0060】
汎用印刷プログラム41は、中間画像データをラスタライズし、ビットマップデータであるラスタデータを生成する(A23)。さらに、汎用印刷プログラム41は、生成したラスタデータを補助プログラム42に渡す(A24)。これにより、補助プログラム42は、ラスタデータを取得する。
【0061】
なお、汎用印刷プログラム41に代えて補助プログラム42がラスタライズを行っても良い。その場合、補助プログラム42は、中間画像データに基づいてラスタライズを実行し、ラスタデータを生成する。補助プログラム42にてラスタライズすれば、汎用印刷プログラム41にてラスタライズする場合に比較して自由度が大きく、プリンタ2での印刷に適したラスタデータが生成される可能性が高い。一方、汎用印刷プログラム41によってラスタライズするとすれば、補助プログラム42の処理が少なく、補助プログラム42のプログラムサイズを小さくできる。
【0062】
そして、補助プログラム42は、A24にて取得したラスタデータをPDLデータにエンコードして、印刷データを生成する(A25)。A25にて生成される印刷データは、プリンタ2にて印刷可能な形式のデータであればよい。なお、補助プログラム42によって生成されるPDLデータは、プリンタ2のモデル以外のプリンタでの印刷にも使用できる形式のデータであっても良い。補助プログラム42は、生成した印刷データを汎用印刷プログラム41に渡して、プリンタ2への送信を指示する(A27)。
【0063】
汎用印刷プログラム41は、補助プログラム42の指示に応じて、送信対象となった印刷データをプリンタ2に送信し、印刷を指示する(A28)。プリンタ2は、受信した印刷データに基づいて、印刷を実行する(A29)。これにより、編集アプリ43から出力された印刷指示に基づく印刷物が生成される。A21~A27は、プリンタ2に印刷を行わせるための処理の一例である。
【0064】
補助プログラム42は、印刷指示があった場合に、印刷データをプリンタ2に送信させる前に、汎用印刷プログラム41にプリンタ2との通信を試行させる。そして、補助プログラム42は、汎用印刷プログラム41からエラー通知が出力された場合には、エラー情報を汎用印刷プログラム41から取得して、エラー情報に基づく報知を行う。これにより、ユーザによってエラーが解消される可能性が高まり、印刷を完了できる可能性が高い。
【0065】
次に、印刷設定を受け付ける手順について、図6のシーケンス図を参照して説明する。汎用印刷プログラム41は、例えば、印刷実行の指示を受け付ける前に、印刷設定の指示を受け付け可能である。そして、プリンタ2での印刷に関する詳細な印刷設定の指示を受け付けた場合には、汎用印刷プログラム41は、補助プログラム42を起動する。
【0066】
ユーザは、編集アプリ43にて印刷を選択する(C01)。また、ユーザは、印刷を実行させるデバイスとしてプリンタ2を選択し、詳細な印刷設定の指示を行うことができる(C02)。詳細な印刷設定の指示を受け付けた場合、汎用印刷プログラム41は、補助プログラム42に、詳細な印刷設定の受け付けを開始する指示を渡す(C03)。
【0067】
補助プログラム42は、C03の指示に応じて起動された場合にも、図2のA11と同様の能力情報取得手順(図3参照)を実行し、プリンタ2の能力情報の取得を試行する。この手順においても補助プログラム42は、汎用印刷プログラム41からエラー通知が出力された場合に、エラー情報を取得し、エラー情報に基づいて、報知画面60(図4参照)、または、報知画面70(図5参照)等を表示させる。
【0068】
通信エラーではなく、プリンタ2の能力情報を取得できた場合、補助プログラム42は、取得した能力情報に基づいて、詳細な印刷設定を受け付ける設定画面をユーザIF13に表示させる(C11)。補助プログラム42は、表示させた設定画面への操作によって、印刷設定を受け付ける(C12)。C12は、設定受付処理の一例である。
【0069】
補助プログラム42は、印刷設定の設定画面を表示する際に、汎用印刷プログラム41にプリンタ2との通信を行わせるので、印刷データをプリンタ2に送信させる前に、プリンタ2との接続を確認できる。さらに、補助プログラム42は、汎用印刷プログラム41からエラー通知が出力された場合には報知画面を表示させるので、印刷設定後には、印刷を完了できる可能性が高い。
【0070】
補助プログラム42は、ユーザによる印刷設定終了の指示の入力を受け付けた場合(C21)、受け付けた印刷設定の情報を記憶する(C22)。そして、補助プログラム42は、詳細な印刷設定の受け付け終了を汎用印刷プログラム41に通知する(C25)。汎用印刷プログラム41は、補助プログラム42の通知に基づいて、印刷設定の終了を編集アプリ43に通知する(C26)。補助プログラム42は、印刷設定の受け付け終了を編集アプリ43に通知しても良い。編集アプリ43は、印刷実行の指示や印刷のキャンセルの指示等のユーザの指示を受け付け可能な状態となる。
【0071】
なお、図2に示した印刷手順のA05にて起動された際に、印刷設定手順等によってプリンタ2の能力情報を取得済みであれば、補助プログラム42は、印刷手順ではA11における能力情報の取得を行わなくても良い。または、能力情報を取得済みであっても、補助プログラム42は、印刷実行の指示を受け付けた後に、再度、汎用印刷プログラム41を介してプリンタ2との通信状況の確認を行っても良い。
【0072】
以上、詳細に説明したように、本形態の補助プログラム42は、汎用印刷プログラム41によるプリンタ2との通信においてエラーが発生した場合、汎用印刷プログラム41からエラーの種別を含むエラー情報を取得して報知画面60、70にて報知する。これにより、ユーザはエラーの詳細を把握することができる。その結果として、ユーザによるエラーの対処が期待できる。
【0073】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタの数は、図示の例に限らず、2台以上でも良い。
【0074】
また、例えば、ユーザIF13に表示される画面の例は、いずれも一例であって、図示の例に限らない。また、図示の各画面中に表示される文言やオブジェクトの形状、背景等は、どのようなものでも良い。例えば、補助プログラム42は、リトライボタンやキャンセルボタンを含まない報知画面を表示させても良い。補助プログラム42は、リトライボタンやキャンセルボタン、認証情報の入力欄等を、報知画面とは別の画面にて受け付けても良い。
【0075】
また、実施の形態では、汎用印刷プログラム41は、能力情報取得要求に対する応答として補助プログラム42にエラー通知を出力するとしたが、能力情報取得要求に対する応答とは別に、エラーイベントを発行しても良い。さらに、汎用印刷プログラム41は、エラーが発生した場合にエラーイベントを発行する、ことを示す登録を受付可能であっても良い。その場合、補助プログラム42によって登録されていれば、汎用印刷プログラム41は、エラーが発生した場合に、補助プログラム42に対してエラーイベントを発行する。この構成の場合、補助プログラム42は、汎用印刷プログラム41から発行されたエラーイベントに応じて、図3のB11~B12と同様の処理を行うとすれば良い。このようにしても、補助プログラム42は、エラーイベントに基づいてエラー情報を取得し、取得したエラー情報に基づく報知画面をユーザIF13に表示させる。なお、エラーイベントの発行は、エラー通知の一例である。
【0076】
また、補助プログラム42は、汎用印刷プログラム41に要求する代わりに、例えば、MIB(Management Information Baseの略)を使って、プリンタ2から直接、能力情報を取得しても良い。補助プログラム42は、例えば、汎用印刷プログラム41から通信エラーが通知された場合には、MIBによる通信を試行するとしても良い。
【0077】
また、印刷データを汎用印刷プログラム41に渡して、汎用印刷プログラム41からプリンタ2に送信させる代わりに、補助プログラム42が、印刷の実行を指示する印刷コマンドと印刷データとをMIBを介してプリンタ2に送信しても良い。補助プログラム42は、例えば、プリンタ2にて実行可能な画像処理に関する設定が印刷設定として含まれる場合、その処理の情報も含む印刷コマンドを生成しても良い。この場合、補助プログラム42は、印刷データの送信完了後に、終了の情報を汎用印刷プログラム41に通知すると良い。
【0078】
また、プリンタ2は、例えば、設定されている印刷制限に基づいて、印刷が不可能である場合にも、汎用印刷プログラム41から受け付けた能力情報取得要求に対して、エラーを応答しても良い。プリンタ2からエラーが応答された場合、汎用印刷プログラム41は、エラー通知を補助プログラム42に出力する。また、プリンタ2は、設定されている印刷制限の情報を含む能力情報を応答しても良い。補助プログラム42は、取得されたプリンタ2の能力情報に基づいて、プリンタ2の利用制限によって印刷が不可能であると判断した場合にも、エラーを報知しても良い。補助プログラム42は、例えば、このユーザによって印刷可能な残り枚数が、印刷指示にて受け付けた印刷枚数に満たない場合にエラーとしても良い。
【0079】
また、汎用印刷プログラム41によって印刷設定を受け付ける画面が表示された後に、ユーザの操作によって、OS21を介して、通常使うプリンタが他のプリンタからプリンタ2に変更された場合にも、汎用印刷プログラム41は、補助プログラム42を起動しても良い。その場合も、補助プログラム42は、プリンタ2の能力情報の取得を、汎用印刷プログラム41に要求しても良い。
【0080】
また、補助プログラム42は、印刷が選択された場合に限らず、例えば、デバイスの設定としてプリンタ2が選択された場合にも起動されても良い。その場合でも、補助プログラム42は、プリンタ2の能力情報の取得を汎用印刷プログラム41に要求しても良い。
【0081】
また、実施の形態では、補助プログラム42の動作として、印刷動作のみを詳細に記載しているが、補助プログラム42は、さらに他の役割を有していても良い。また、本形態の処理を実行するプログラムは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフローアプリ(Print workflow)でも良い。
【0082】
また、補助プログラム42の実行タイミングは、実施の形態の例に限らない。例えば、OS21から直接実行指示されて実行されても良く、または、常駐される補助プログラム42であっても良い。常駐される場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0083】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0084】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0085】
1 PC
2 プリンタ
11 CPU
13 ユーザIF
14 通信IF
図1
図2
図3
図4
図5
図6