情報処理装置10及びプリンタ11の機能ブロック図である。
プリンタ11の制御プログラム57が実行するモード情報記憶処理のフローチャートである。
(A)はプログラム37、及びプリンタ11の制御プログラム57が実行する処理を説明する図であり、(B)はプレビュー表示処理のフローチャートの一部である。
プレビュー表示処理のフローチャートの一部である。
プレビュー表示処理のフローチャートの一部である。
(A)は第1確認画面を示す図であり、(B)は第2確認画面を示す図である。
(A)は第5確認画面を示す図であり、(B)は第6確認画面を示す図である。
(A)はプレビュー画面を示す図であり、(B)はエラー画面を示す図である。
以下、本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で適宜変更することができる。或いは、後述の処理の一部は、本発明の要旨を変更しない範囲で適宜省略することができる。
本実施形態では、図1に示される情報処理装置10に実装されるプログラム37について説明する。情報処理装置10は、携帯端末やタブレットやパーソナルコンピュータなどであって、プリンタ11A、11B、11Cなどであるプリンタ11と通信する機能を有する。情報処理装置10が携帯端末やタブレットである場合、情報処理装置10は、プリンタ11が接続されたローカルネットワーク13に設けられたアクセスポイント14を通じてプリンタ11と通信可能に接続される。ローカルネットワーク13は、例えば、有線LANや無線LANやWANやこれらの組み合わせで構成される。情報処理装置10がパーソナルコンピュータである場合、情報処理装置10は、USBケーブルやローカルネットワーク13によってプリンタ11と通信可能に接続される。以下では、情報処理装置10が携帯端末であって、プリンタ11がローカルネットワーク13に接続された例を説明する。
情報処理装置10に実装されるプログラム37は、プリンタ11に印刷を実行させるためのユーザの入力を受け付けるプログラムである。プログラム37は、ユーザの入力を受け付ける種々の画面を情報処理装置10の表示パネル24に表示させる。以下、詳しく説明する。
プリンタ11は、コントローラ41と、タッチパネル42と、通信I/F43と、印刷エンジン44と、を備える。「I/F」は、「インタフェース」の略である。通信I/F43は、上述のローカルネットワーク13に接続されている。
タッチパネル42は、表示パネルと、表示パネルに重畳された透明な膜状のタッチセンサと、を有する。タッチセンサは、表示パネル上の位置を示す位置情報を出力する。タッチセンサが出力した位置情報は、コントローラ41に入力される。コントローラ41は、タッチセンサから入力された位置情報に基づいて、表示パネルに表示させたアイコンなどが選択されたと判断する。
印刷エンジン44は、インク滴をシートに吐出することによってシートに画像を印刷する機能を有する。或いは、印刷エンジン44は、トナーをシートに転写することによってシートに画像を印刷する機能を有する。すなわち、プリンタ11は、いわゆるインクジェットプリンタや、レーザプリンタなどである。また、プリンタ11は、刺繍によって布などに画像を形成する、いわゆる刺繍ミシンであってもよいし、レーザ光によって物体に画像を形成するレーザマーカであってもよいし、OM(Organized Microfibrillationの略)技術による構造色で画像を形成するプリンタであってもよい。すなわち、本明細書では、インクジェット、電子写真、サーマル、刺繍、レーザマーカ、構造色など、様々な方法による画像形成を、印刷として扱う。以下では、プリンタ11がインクジェットプリンタである例を説明する。
印刷エンジン44は、複数のカートリッジが装着される装着ケース或いはインクを貯留する複数のインクタンクを有している。以下では、印刷エンジン44が装着ケースを有している場合について説明する。
各カートリッジは、例えば、マゼンタの色のインク、シアンの色のインク、イエローの色のインク、及びブラックの色のインクをそれぞれ貯留する。すなわち、プリンタ11は、カラーの画像をシートに印刷可能な、いわゆるカラープリンタである。
コントローラ41は、情報処理装置10が送信した印刷データを受信し、受信した印刷データを印刷エンジン44に入力して、印刷エンジン44に印刷を実行させる。コントローラ41が受信した印刷データが、マゼンタ、シアン、イエロー、及びブラックの各色の色データを含む印刷データであるカラー印刷データである場合、印刷エンジン44は、複数の色のインクを用いてシートに画像を印刷する。コントローラ41が受信した印刷データが、ブラックの色データのみを含む印刷データであるモノクロ印刷データである場合、印刷エンジン44は、ブラックの色のインクを用いて、シートに画像を印刷する。以下では、複数の色のインクで印刷された画像を「カラー画像」と記載し、ブラックの色のインクのみで印刷された画像を「モノクロ画像」と記載して説明する。また、印刷エンジン44がカラー画像をシートに印刷することを、「カラー印刷」と記載し、印刷エンジン44がモノクロ画像をシートに印刷することを、「モノクロ印刷」と記載して説明する。
コントローラ41は、中央演算処理装置であるCPU51と、メモリ52と、バス53と、を備える。CPU51は、いわゆるマルチタスク処理により、後述のOS56や制御プログラム57などの複数のプログラムを疑似的に並行して実行する。後述のCPU31についても同様である。
CPU51及びメモリ52と、上述のタッチパネル42、通信I/F43、及び印刷エンジン44とは、バス53に接続されている。すなわち、CPU51は、バス53を通じてメモリ52に情報やデータを記憶させ、或いは情報やデータをメモリ52から読み出すことができる。また、CPU51は、バス53を通じてタッチパネル42のタッチセンサから位置情報を入力され、或いは、タッチパネル42の表示パネルに画面データを入力して、画面データが示す画面を表示パネルに表示させる。また、CPU51は、バス53、通信I/F43、及び上述のローカルネットワーク13を通じて情報処理装置10に情報やデータを送信し、情報処理装置10が送信した情報やデータを、ローカルネットワーク13、通信I/F、及びバス53を通じて受信する。また、CPU51は、バス53を通じて、印刷データを印刷エンジン44に入力する。
メモリ52は、プログラムが記憶されるプログラム記憶領域54と、当該プログラムの実行に必要なデータが記憶されるデータ記憶領域55と、を有する。メモリ52は、例えば、ROMや、RAMや、HDDや、USBメモリなどの可搬記憶媒体や、EEPROMや、CPU51が備えるバッファ等である。
メモリ52は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述のメモリ32についても同様である。
プログラム記憶領域54は、オペレーティングシステムであるOS56と、制御プログラム57と、を記憶する。制御プログラム57は、印刷データを印刷エンジン44に入力して印刷エンジン44に印刷を実行させる印刷処理をCPU51に実行させるプログラムである。
データ記憶領域55は、プリンタ識別情報と、プリンタ名と、モード情報と、日時情報と、閾値期間と、を記憶する。プリンタ識別情報は、例えば、プリンタ11に予め付与されたMACアドレスや、ローカルネットワーク13においてプリンタ11に付与されたプライベートIPアドレスなどであって、ローカルネットワーク13においてプリンタ11A、11B、11Cを識別可能な情報である。プリンタ名は、プリンタ11のモデル名や、ユーザがプリンタ11に付与した名称などである。
モード情報は、第1モード情報、第2モード情報、或いは第3モード情報を示す情報である。第1モード情報は、プリンタ11がカラー画像を印刷する処理であるカラー印刷処理及びモノクロ画像を印刷する処理であるモノクロ印刷処理のいずれの印刷処理も実行可能な状態であることを示す。第2モード情報は、プリンタ11がカラー印刷処理を実行できず、モノクロ印刷処理を実行可能な状態であることを示す。第3モード情報は、プリンタ11がカラー印刷処理及びモノクロ印刷処理を実行できない状態であることを示す。以下では、プリンタ11がカラー印刷処理及びモノクロ印刷処理のいずれの印刷処理も実行可能な状態を第1モードと記載し、プリンタ11がカラー印刷処理を実行できず、モノクロ印刷処理を実行可能な状態を、第2モードと記載して説明する。カラー印刷処理は、第1印刷処理の一例である。モノクロ印刷処理は、第2印刷処理の一例である。
日時情報は、制御プログラム57が第2モード情報をデータ記憶領域55に記憶させたときの日時を示す情報である。閾値期間は、残日数の算出に用いられる。詳しくは後述する。
情報処理装置10は、コントローラ21と、タッチパネル22と、通信I/F23と、を備える。タッチパネル22は、プリンタ11のタッチパネル42と同様の構成であり、表示パネル24及びタッチセンサ25を有する。通信I/F23は、上述のローカルネットワーク13に接続されている。表示パネル24は、出力インタフェースの一例である。タッチセンサ25は、入力インタフェースの一例である。
コントローラ21は、中央演算処理装置であるCPU31と、メモリ32と、バス33と、を備える。CPU31及びメモリ32と、上述のタッチパネル22及び通信I/F23とは、バス33に接続されている。CPU31は、コンピュータの一例である。
メモリ32は、プログラム記憶領域34及びデータ記憶領域35を有する。プログラム記憶領域34は、オペレーティングシステムであるOS36と、プログラム37と、生成プログラム39と、を記憶する。
OS36は、例えば、WindowsPhone(登録商標)や、iOS(登録商標)や、AndroidOS(登録商標)や、BLACKBerryOS(登録商標)などである。情報処理装置10がパーソナルコンピュータである場合、OS36は、Windows(登録商標)や、MacOS(登録商標)や、Unix(登録商標)や、Linux(登録商標)などである。
生成プログラム39は、プリンタ11に送信する印刷データを生成するプログラムである。プログラム37は、生成プログラム39が印刷データを生成するために必要な設定である印刷設定の入力を受け付けるプログラムである。プログラム37は、印刷設定の入力を受け付けるための画面を示す複数の画面データを有している。画面データが示す種々の画面については後述する。複数の画面データは、複数の報知情報の一例である。
プログラム37は、ユーザが指定する画像を示す画像データ及び指定設定を取得する。また、プログラム37は、プリンタ11の状態を示すモード情報を取得する。プログラム37は、取得したモード情報及びユーザが指定した指定設定に応じた画面を情報処理装置10の表示パネル24に表示させ、プリンタ11の状態に応じた適切な設定をユーザに指定させる。そして、プログラム37は、指定された適切な設定と、取得した画像データとを生成プログラム39に受け渡し、生成プログラム39に、プリンタ11の状態に応じた適切な印刷データを生成させる。
データ記憶領域35は、プリンタ11A、11B、11Cのプリンタ名を記憶する。例えば、OS36は、プリンタ名を返信することを要求するコマンドを通信I/F23及びアクセスポイント14を通じてローカルネットワーク13にマルチキャストする。そして、OS36は、プリンタ11A、11B、11Cがそれぞれ返信したプリンタ名をメモリ32に記憶させる。
以下、プログラム37が、ユーザの入力を受け付けて、印刷データの生成を生成プログラム39に指示する処理について説明する。
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPU31の処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPU31の処理を表している。CPU31による処理は、OS36を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU31が要求することなくデータを受信するという処理も、「CPU31がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、プログラムに記述された命令に従ったCPU31の処理を、省略した文言で記載することがある。例えば、「CPU31が行う」「コントローラ21が行う」「プログラム37が行う」のように記載することがある。
また、CPU31による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU31による、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に基づいて」及び「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
以下では、マゼンタ、シアン、及びイエローの色のインクを、まとめてカラーインクと記載して説明する。また、以下では、マゼンタの色のインクを「M」と記載し、シアンの色のインクを「C」と記載し、イエローの色のインクを「Y」と記載し、ブラックの色のインクを「K」と記載して説明することがある。
まず、プリンタ11の制御プログラム57が、モード情報や日時情報や残日数をメモリ52に記憶させるモード情報記憶処理について、図2を参照して説明する。なお、制御プログラム57は、例えばモード情報記憶処理を所定の時間間隔で定期的に実行する。
プリンタ11の制御プログラム57は、第1モード情報をメモリ52のデータ記憶領域55に記憶させる(S10)。次に、制御プログラム57は、カートリッジに貯留されたブラックのインクが無くなったこと、或いはブラックのインクの量が少なくなったことを示すブラックエンプティを検出したか否かを判断する(S11)。制御プログラム57は、ブラックエンプティを検出したと判断すると(S11:Yes)、ブラックエンプティ情報をメモリ52のデータ記憶領域55に記憶させる(S12)。具体的には、制御プログラム57は、「ON」の値のブラックエンプティフラグをデータ記憶領域55に記憶させる。また、制御プログラム57は、第3モード情報をメモリ52のデータ記憶領域55に記憶させる(S20)。具体的には、制御プログラム57は、「ON」の値の第2モードフラグをデータ記憶領域55に記憶させる。
制御プログラム57は、ブラックエンプティを検出していないと判断すると(S11:No)、カートリッジに貯留されたカラーインクが無くなったこと、或いはカラーインクの量が少なくなったことを示すカラーエンプティを検出したか否かを判断する(S13)。制御プログラム57は、カラーエンプティを検出したと判断すると(S13:Yes)、カラーエンプティ情報をメモリ52のデータ記憶領域55に記憶させる(S14)。具体的には、制御プログラム57は、「ON」の値のカラーエンプティフラグをデータ記憶領域55に記憶させる。制御プログラム57は、カラーエンプティを検出していないと判断すると(S13:No)、ステップS14の処理をスキップする。
制御プログラム57は、カラーエンプティ情報がメモリ52に記憶された状態で、第2モードで動作することを指定するユーザの指示がタッチパネル42から入力したか否かを判断する(S15)。制御プログラム57は、当該指定がタッチパネル42から入力していないと判断すると(S15:No)、後述のステップS16、S17の処理をスキップする。制御プログラム57は、当該指定がタッチパネル42から入力したと判断すると(S15:Yes)、第2モード情報をメモリ52のデータ記憶領域55に記憶させる(S16)。具体的には、制御プログラム57は、「ON」の値の第1モードフラグをデータ記憶領域55に記憶させる。
プリンタ11は、ユーザの指示を受け付けて第2モードで動作することにより、印刷に用いるインクなどの資源の消費を抑制することができる。例えば、第2モードで動作するプリンタ11は、装着された可搬記憶媒体から入力された画像データが示す画像をモノクロ画像として印刷することにより、カラーインクの消費を抑制する。また、プリンタ10が複合機であって、スキャナやファックス装置を有している場合、第2モードで動作するプリンタ11は、スキャナが生成した画像データやファックス装置が受信した画像データをモノクロ画像として印刷することにより、カラーインクの消費を抑制する。なお、可搬記録媒体やスキャナやファックス装置から入力される画像データは、制御プログラム57が印刷データに変更可能な形式のデータである。
次に、制御プログラム57は、第2モード情報をメモリ52に記憶させた日時を示す日時情報を、メモリ52のデータ記憶領域55に記憶させる(S17)。具体的には、制御プログラム57は、不図示のクロックICが出力する日時情報をメモリ52のデータ記憶領域55に記憶させる。
次に、制御プログラム57は、残日数を算出し、算出した残日数をメモリ52のデータ記憶領域55に記憶させる(S18)。具体的には、制御プログラム57は、メモリ52に記憶された日時情報が示す日時から現在の日時までの経過期間を算出する。制御プログラム57は、メモリ52に記憶された許可期間から、算出した経過期間を減じて、残日数を算出する。許可期間は、カラーインクが無くなった後、プリンタ11がモノクロ印刷をユーザに許可する期間の最大値を示す。許可期間は、例えば60日である。残日数は、プリンタ11がモノクロ印刷を実行可能な残りの期間を示す。
制御プログラム57は、算出した残日数がゼロより大きいか否かを判断する(S19)。制御プログラム57は、算出した残日数がゼロ以下であると判断すると(S19:No)、第3モード情報をメモリ52のデータ記憶領域55に記憶させる(S20)。一方、制御プログラム57は、算出した残日数がゼロより大きいと判断すると(S19:Yes)、ステップS20の処理をスキップする。
次に、制御プログラム57は、インクが無くなったカートリッジがインクを貯留する新しいカートリッジに交換されたか否かを判断する(S21)。制御プログラム57は、カートリッジが交換されたと判断すると(S21:Yes)、第1モード情報をメモリ52のデータ記憶領域55に記憶させ、第3モード情報をメモリ52のデータ記憶領域55から削除する(S22)。具体的には、制御プログラム57は、「OFF」の値の第1モードフラグ及び第2モードフラグをデータ記憶領域55に記憶させる。制御プログラム57は、カートリッジが交換されていないと判断すると(S21:No)、ステップS22の処理をスキップし、モード情報記憶処理を終了する。
次に、情報処理装置10に実装されたプログラム37及び生成プログラム39が実行する処理について、図3(A)を参照して説明する。プログラム37は、例えば、ユーザの指示にしたがったOS36からの起動指示によって起動される(S31)。起動されたプログラム37は、不図示の画像選択画面を情報処理装置10の表示パネル24に表示させる(S32)。画像選択画面は、画像を示す複数のファイル名アイコン、或いは画像を示す複数のサムネイル画像アイコンを有する。ユーザは、画像選択画面に表示された複数のファイル名アイコン或いは複数のサムネイル画像アイコンから一のアイコンを選択する。プログラム37は、選択されたアイコンが示すファイルパスを取得する(S33)。当該ファイルパスは、選択されたアイコンが示す画像の画像データを示すパスである。以下では、プログラム37などのプログラムが、画像データを示すファイルパスを取得することを、単に「画像データを取得する」と記載して説明する。
次に、プログラム37は、不図示のプレビュー選択画面を表示パネル24に表示させる(S34)。プレビュー選択画面は、プレビュー画面を表示させるユーザの指示を受け付けるプレビューアイコンを有する。プログラム37は、プレビューアイコンの選択を受け付けたことに基づいて、プレビュー表示処理を実行する(S36)。図4、図3(B)、図5から図9を参照して、プレビュー表示処理について説明する。
まず、プログラム37は、図4に示されるように、初期設定をメモリ32から読み出して取得する(S53)。初期設定は、プログラム37が前回起動されたときに、ステップS99においてメモリ32のデータ記憶領域35に記憶された設定である。初期設定は、「プリンタ名」と、「カラー」、「モノクロ」、及び「オート」の何れかである「指定設定」と、を少なくとも含む。なお、初期設定は、プリンタ11に印刷を実行させるシートのサイズや、シートの種類などの設定を含んでいてもよい。また、プログラム37は、初期設定がメモリ32に記憶されていない場合、自己が有するデフォルトの指定設定を取得してもよい。以下では、プログラム37がステップS53で取得したプリンタ名が示すプリンタ11が、プリンタ11Aであるとして説明する。プログラム37が指定設定を取得するステップS53の処理は、指定設定取得処理の一例である。
また、プログラム37は、情報処理装置10がアクセスポイント14及びローカルネットワーク13を通じて通信可能なプリンタ11であるプリンタ11A、11B、11Cのプリンタ名を取得する(S54)。例えば、プログラム37は、通信可能なプリンタ11のプリンタ名を返信することを要求するコマンドをOS36に入力し、OS36が返信するプリンタ名を取得する。ステップS54で取得するプリンタ名は、第1確認画面(図6(A))等に表示されるプルダウンメニュー63の選択項目として用いられる。詳しくは後述する。
プログラム37は、ステップS53で取得したプリンタ名が示すプリンタ11Aから、モード情報及び残日数を取得する(S55)。詳しく説明すると、プログラム37は、ステップS53で取得したプリンタ名及びプリンタ11Aに入力するコマンドを含む指示コマンドをOS36に入力する。指示コマンドを入力されたOS36は、指示コマンドに含まれるプリンタ名が示すプリンタ11Aに、指示コマンドに含まれるコマンドを、通信I/F23、アクセスポイント14及びローカルネットワーク13を通じて送信する。プリンタ11Aの制御プログラム57は、当該コマンドを受信したことに基づいて、モード情報及び残日数をメモリ52から読み出し、読み出したモード情報及び残日数を、通信I/F43、ローカルネットワーク13、及びアクセスポイント14を通じて情報処理装置10に送信する。情報処理装置10のOS36は、プリンタ11Aが送信したモード情報及び残日数を受信し、受信したモード情報及び残日数をプログラム37に受け渡す。プログラム37は、OS36から受け渡されたモード情報及び残日数を取得する。プログラム37がモード情報を取得するステップS55の処理は、モード情報取得処理の一例である。プログラム37が残日数を取得するステップS55の処理は、残日数取得処理の一例である。
プログラム37は、取得したモード情報の種別が第3モード情報であるか否かを判断する(S56)。すなわち、ステップS56では、プリンタ11Aが印刷を行える状態であるか否かが判断される。プログラム37は、取得したモード情報の種別が第3モード情報であって、プリンタ11Aが印刷を行えない状態であると判断すると(S56:Yes)、第1確認画面を表示パネル24に表示させる(S57)。第1確認画面は、第6画面の一例である。
第1確認画面は、図6(A)に示されるように、「プリンタにインクがありません。」の文字であるメッセージ81と、「・カートリッジを交換しますか?」の文字であるメッセージ82と、「・プリンタを変更しますか?」の文字であるメッセージ83と、カートリッジ交換アイコン61と、プリンタ変更アイコン62と、プルダウンメニュー63と、を有する。アイコン61は、プリンタ11Aにおいてカートリッジを交換するユーザの指示を受け付けるアイコンである。アイコン62は、プリンタ11Aを他のプリンタ11であるプリンタ11Bやプリンタ11Cに変更するユーザの指示を受け付けるアイコンである。プルダウンメニュー63は、情報処理装置10が通信可能なプリンタ11のプリンタ名を選択項目として表示するプルダウンメニューである。プログラム37は、ステップS54で取得したプリンタ名をプルダウンメニュー63の選択項目として表示する。メッセージ81は、第10オブジェクトの一例である。メッセージ82は、第11オブジェクトの一例である。アイコン61は、第12オブジェクトの一例である。メッセージ83は、第14オブジェクトの一例である。アイコン62は、第15オブジェクトの一例である。プルダウンメニュー63は、第16オブジェクトの一例である。プルダウンメニュー63において表示される選択項目であるプリンタ名は、プリンタ識別情報の一例である。
ユーザは、カートリッジを交換してプリンタ11Aに印刷を行わせることを希望する場合、アイコン61を選択する。ユーザは、他のプリンタ11であるプリンタ11Bやプリンタ11Cに印刷を行わせることを希望する場合、プルダウンメニュー63において、印刷を行わせるプリンタ名を選択した後、アイコン62を選択する。
プログラム37は、第1確認画面において、アイコン61が選択されたか、アイコン62が選択されたかを判断する(S58)。プログラム37は、アイコン61が選択されたと判断すると(S58:カートリッジ交換)、第6確認画面を表示パネル24に表示させる(S59)。プログラム37が、アイコン61の選択を受け付ける「ステップS58:カートリッジ交換」の処理は、第5受付処理の一例である。
図7(B)に示されるように、第6確認画面は、「カートリッジを交換してください。カートリッジを交換しましたか?」の文字であるメッセージ89と、OKアイコン71と、戻るアイコン72と、を有する。ユーザは、プリンタ11Aにおいてカートリッジを交換した後、アイコン71を選択する。ユーザは、例えば、新しいカートリッジがない場合などにおいて、アイコン72を選択する。第6確認画面は、第7画面の一例である。アイコン71は、第13オブジェクトの一例である。
図4のフローチャートには示されていないが、プログラム37は、第6確認画面においてアイコン72の選択を受け付けたことに基づいて、第1確認画面を表示パネル24に再度表示させる。プログラム37は、第6確認画面において、アイコン71の選択を受け付けたことに基づいて(S60:Yes)、ステップS55以降の処理を再度実行する。なお、プリンタ11Aにおいてカートリッジが交換されていない状態でアイコン71が選択されると、第1確認画面が表示パネル24に再度表示される(S56:Yes、S57)。
プログラム37は、ステップS58において、アイコン62が選択されたと判断すると(S58:プリンタ変更)、プルダウンメニュー63において選択されたプリンタ名を取得する(S61)。そして、プログラム37は、取得したプリンタ名が示すプリンタ11から、モード情報及び残日数を取得する(S55)。そして、プログラム37は、新たに取得したモード情報が第3モード情報であるか否かを判断する(S56)。プログラム37が、アイコン62の選択を受け付ける「ステップS58:プリンタ変更」の処理と、プリンタ名を取得するステップS61の処理とは、第6受付処理の一例である。
プログラム37は、ステップS55で取得したモード情報が第3モード情報でないと判断すると(S56:No)、ステップS33(図3)で取得した画像データが示す画像が、カラーの画像であるか、モノクロの画像であるかを判断する(S62)。例えば、プログラム37は、カラーの画像であることを示す第1情報が、取得した画像データに付与されていること、或いはモノクロの画像であることを示す第2情報が、取得した画像データに付与されていないことに基づいて、取得した画像がカラーの画像であると判断する。或いは、プログラム37は、第1情報が画像データに付与されていないこと、或いは第2情報が画像データに付与されていることに基づいて、取得した画像がモノクロの画像であると判断する。第1情報或いは第2情報は、例えば、画像データに付与されたヘッダ情報に含まれる。
或いは、プログラム37は、取得した画像データのデータ形式がJPGやBMPやPNGなどの特定のデータ形式であることに基づいて、画像データが示す画像がカラーの画像であると判断し、取得した画像データのデータ形式が特定のデータ形式でないことに基づいて、画像データが示す画像がモノクロの画像であると判断してもよい。或いは、プログラム37は、取得した画像データが文字コードを含むテキストデータであることに基づいて、画像データが示す画像がモノクロの画像であると判断し、取得した画像データがテキストデータでないことに基づいて、画像データが示す画像がカラーの画像であると判断してもよい。或いは、ステップS53で取得した設定に、印刷する画像がカラーの画像であることを示す「写真」などの設定が含まれていることに基づいて、画像データが示す画像がカラーの画像であると判断し、印刷する画像がモノクロの画像であることを示す「文章」などの設定が含まれていることに基づいて、画像データが示す画像がモノクロの画像であると判断してもよい。「写真」や「文章」などの設定は、プログラム37が表示パネル24に表示させた画面において入力されてもよいし、OS36を通じて他のプログラムからプログラム37に受け渡されてもよい。或いは、プログラム37は、画像データが含む色データを解析し、画像データが示す画像がカラーの画像であるかモノクロの画像であるかを判断してもよい。
プログラム37は、取得した画像がモノクロの画像であると判断すると(S62:モノクロ)、ステップS55で取得したモード情報が第1モード情報であるか第2モード情報であるかを判断する(図3(B)のS63)。プログラム37は、図3(B)に示すように、取得したモード情報が第1モード情報であると判断すると(S63:第1モード情報)、カラー印刷データの生成を生成プログラム39に指示する(S64)。
詳しく説明すると、プログラム37は、例えば生成プログラム39が提供する生成APIを呼び出し、呼び出した生成APIを通じて、取得したファイルパスと、「カラー」を示す第1値を生成プログラム39に受け渡す。生成プログラム39は、受け渡されたファイルパスが示す画像データ及び第1値に基づいて、カラー印刷データを生成する。具体的には、生成プログラム39は、画像データが示す画像が有するRBGの各色の色データを、MCYKの各色の色データに変換して、カラー印刷データを生成する。生成プログラム39は、生成したカラー印刷データを、プログラム37に受け渡す。なお、ステップS64における指示によって生成プログラム39が生成するカラー印刷データは、MCYKの色データを含むカラー印刷データであるが、当該カラー印刷データに基づいてプリンタ11がシートに印刷する画像は、視覚的にはモノクロの画像である。
プログラム37は、生成プログラム39が生成したカラー印刷データを取得する(S65)。一方、プログラム37は、ステップS63において、取得したモード情報が第2モード情報であると判断すると(S63:第2モード情報)、ステップS53(図4)で取得した指定設定の種別が「カラー」であるか「モノクロ」であるかを判断する(S66)。プログラム37は、指定設定の種別が「カラー」であると判断すると(S66:カラー)、第5確認画面を表示パネル24に表示させる(S67)。すなわち、ユーザが印刷を指示した画像が黒で表現されたモノクロの画像であり、かつプリンタ11Aが、第2モードであってモノクロ印刷のみを実行可能な状態であり、かつ指定設定が「カラー」である場合、第5確認画面が表示パネル24に表示される。
第5確認画面は、図7(A)に示されるように、「印刷画像はモノクロ画像です。モノクロ印刷を実行しますか?」の文字であるメッセージ88と、OKアイコン71と、戻るアイコン72と、「プリンタは、残り「N日」のモノクロ印刷が可能です。」の文字であるメッセージ85と、を有する。「N日」は、プログラム37がステップS55(図4)で取得した残日数である。例えば、プログラム37は、第5確認画面を示す画面データの生成に用いられるフォーマットデータを有する。当該フォーマットデータは、フィールド名「残日数」を付与された入力フィールドを有する。プログラム37は、当該入力フィールドに、ステップS55で取得した残日数を入力し、第5確認画面を示す画面データを生成する。そして、プログラム37は、生成した画面データを表示パネル24に入力して、図8(A)に示す第5確認画面を表示パネル24に表示させる。図示例では、「N日」は、「45日」である。第5確認画面に表示された残日数は、指定されたプリンタ11Aにおいて、カラーインクが無くなった状態でモノクロ印刷を実行可能な残りの日数をユーザに認識させる。プログラム37が、残日数を含む第5確認画面、第2確認画面、第3確認画面、第4確認画面、及びプレビュー画面を表示させるステップS67、S76、S90、S85、S95の処理は、残日数出力処理の一例である。
第5確認画面を視認したユーザは、プリンタ11Aにモノクロ印刷を実行させる場合、アイコン71を選択する。ユーザは、プリンタ11にモノクロ印刷を実行させない場合、アイコン72を選択する。図3(B)に示されるフローチャートには示されていないが、プログラム37は、アイコン72が選択されたと判断すると、プレビュー選択画面を表示パネル24に再度表示させる(図3のS34)。
プログラム37は、第5確認画面においてアイコン71が選択されたと判断すると(S68:Yes)、モノクロ印刷データの生成を生成プログラム39に指示する(S69)。詳しく説明すると、プログラム37は、生成プログラム39が提供する生成APIを呼び出し、呼び出した生成APIを通じて、取得したファイルパスと、「モノクロ」を示す第2値を生成プログラム39に受け渡す。生成プログラム39は、受け渡されたファイルパスが示す画像データ及び第2値に基づいて、モノクロ印刷データを生成する。具体的には、生成プログラム39は、画像データが有するRBGの各色の色データを、K(ブラック)の色データに変換して、モノクロ印刷データを生成する。生成プログラム39は、生成したモノクロ印刷データを、プログラム37に受け渡す。
プログラム37は、生成プログラム39が生成したモノクロ印刷データを取得する(S70)。一方、プログラム37は、ステップS66において、指定設定の種別が「モノクロ」であると判断すると(S66:モノクロ)、ステップS67、S68の処理をスキップし、ステップS69、S70の処理を実行する。すなわち、プリンタ11Aがモノクロ印刷のみを実行可能な第2モードであり、かつ指定設定が「モノクロ」の場合、プログラム37は、モノクロ印刷データの生成を生成プログラム39に指示し(S69)、モノクロ印刷データを取得する(S70)。
プログラム37は、図4のステップS62において、取得した画像データが示す画像がカラーの画像であると判断すると(S62:カラー)、ステップS55で取得したモード情報の種別が第1モード情報であるか第2モード情報であるかを判断する(S71)。プログラム37は、取得したモード情報の種別が第2モード情報であると判断すると(S71:第2モード情報)、図5に示されるように、ステップS53(図4)で取得した指定設定の種別が「カラー」であるか否かを判断する(S72)。ステップS72の処理は、判断処理の一例である。
プログラム37は、取得した指定設定の種別が「カラー」であると判断すると(S72:カラー)、確認フラグの値が「ON」であるか否かを判断する(S73)。確認フラグは、初期値を「OFF」とし、ユーザがプリンタ11にモノクロ印刷を実行させる入力を行った場合に「ON」にされるフラグである。確認フラグの値が「ON」である場合(S73:Yes)に実行されるステップS74、S75の処理については、確認フラグが「ON」にされるステップS83、S87の処理の説明の後に説明する。
プログラム37は、確認フラグの値が「OFF」であると判断すると(S73:No)、第2確認画面を表示パネル24に表示させる(S76)。すなわち、プログラム37は、取得した画像がカラーの画像であって(S62:カラー)、かつプリンタ11Aがモノクロ印刷のみを実行可能な第2モードであって(S71:第2モード)、かつ指定設定が「カラー」である場合に(S72:カラー)、第2確認画面を表示パネル24に表示させる(S76)。第2確認画面は、第1画面、第2画面、第4画面の一例である。プログラム37が、第2確認画面を表示パネル24に表示させるステップS76の処理は、出力処理の一例である。
第2確認画面は、図6(B)に示されるように、「プリンタにカラーインクが有りません。」の文字であるメッセージ86と、メッセージ82、83と、「モノクロ印刷を行いますか?」の文字であるメッセージ84と、を有する。また、第2確認画面は、アイコン61、62と、プルダウンメニュー63と、モノクロ印刷アイコン64と、メッセージ85と、を有する。メッセージ84は、第1オブジェクトの一例である。アイコン64は、第2オブジェクトの一例である。メッセージ82は、第3オブジェクトの一例である。アイコン61は、第4オブジェクトの一例である。メッセージ83は、第6オブジェクトの一例である。アイコン62は、第7オブジェクトの一例である。プルダウンメニュー63は、第8オブジェクトの一例である。
ユーザは、カラーインクが無くなったプリンタ11Aにおいてカートリッジを交換して、当該プリンタ11Aにカラー印刷を実行させる場合、アイコン61を選択する。ユーザは、カラーインクが無くなったプリンタ11Aをプリンタ11Bやプリンタ11Cに変更してカラー印刷を実行させたい場合、プルダウンメニュー63においてプリンタ11B、11Cのプリンタ名を選択した後、アイコン62を選択する。ユーザは、カラーの画像をモノクロの画像にしてモノクロ印刷をプリンタ11Aに実行させたい場合、アイコン64を選択する。プルダウンメニュー63において選択を受け付けるプリンタ名は、プリンタ識別情報の一例である。
プログラム37は、図5に示されるように、選択されたアイコンがアイコン61であるか否かを判断する(S77)。プログラム37は、選択されたアイコンがアイコン61であると判断すると(S77:Yes)、上述の第6確認画面を表示パネル24に表示させる(S78)。プログラム37が、アイコン61の選択を受け付けるステップS77:Yesの処理は、第2受付処理の一例である。ステップS78において表示パネル24に表示される第6確認画面は、第3画面の一例である。第6確認画面が有するアイコン71は、第5オブジェクトの一例である。
図5のフローチャートには示されていないが、プログラム37は、第6確認画面においてアイコン72が選択されたと判断すると、第2確認画面を表示パネル24に再度表示させる。プログラム37は、第6確認画面において、アイコン71が選択されたと判断すると(S79:Yes)、モード情報及び残日数を取得するステップS55の処理を再度実行する。プログラム37が再度実行するステップS55の処理において取得するモード情報及び残日数は、カートリッジの交換が行われたプリンタ11Aが送信するモード情報及び残日数である。すなわち、プログラム37は、再度実行するステップS55において、第1モード情報を示すモード情報を取得する。なお、プリンタ11Aは、第1モードであるので、残日数を情報処理装置10に送信しない。プログラム37が、第6確認画面においてアイコン71の選択を受け付ける処理は、第3受付処理の一例である。プログラム37が、モード情報を再取得するステップS54の処理は、モード情報再取得処理の一例である。
なお、プリンタ11Aにおいてカートリッジを交換する前に、ユーザが第6確認画面においてアイコン71を選択した場合、プログラム37は、ステップS71、S72、S73の処理の実行後、第2確認画面を表示パネル24に再度表示させる(S76)。
プログラム37は、ステップS77において、アイコン61が選択されていないと判断すると(S77:No)、アイコン62が選択されたかアイコン64が選択されたかを判断する(S80)。プログラム37は、アイコン62が選択されたと判断すると(S80:プリンタ変更)、プルダウンメニュー63で選択されたプリンタ名を取得し(S81)、取得したプリンタ名が示すプリンタ11から、モード情報及び残日数を取得する(図4のS55)。プログラム37が、アイコン62の選択を受け付けるステップS80:プリンタ変更の処理と、プリンタ名を取得するステップS81の処理とは、第4受付処理の一例である。
プログラム37は、ステップS80においてアイコン64が選択されたと判断すると(S80:モノクロ印刷)、一時モノクロ情報をメモリ32のデータ記憶領域35に記憶させる。一時モノクロ情報は、例えば、「ON」または「OFF」の値の一時モノクロフラグである。以下では、一時モノクロ情報が一時モノクロフラグである例を説明する。プログラム37は、「ON」の値の一時モノクロフラグをメモリ32に記憶させる(S82)。そして、プログラム37は、ステップS55以降の処理を再度実行する。プログラム37が、アイコン64の選択を受け付けるステップS80:モノクロ印刷の処理は、第1受付処理の一例である。プログラム37が、「ON」の値の一時モノクロフラグをメモリ32に記憶させるステップS82の処理は、設定変更処理の一例である。
一時モノクロフラグについてさらに詳しく説明する。プログラム37は、指定設定の種別を判断する上述のステップS66(図3(B))、S72、及び後述のステップS84において、指定設定の種別を判断する前に、一時モノクロフラグの値が「ON」であるか否かを判断する。プログラム37は、一時モノクロフラグの値が「ON」であると判断すると、ステップS53で取得した指定設定の種別に拘わらず、指定設定が「モノクロ」であると判断する。プログラム37は、一時モノクロフラグの値が「OFF」であると判断すると、指定設定の種別を、ステップS53で取得した指定設定が示す種別であると判断する。一時モノクロフラグは、後述のステップS98(図4)において、「OFF」にされる。すなわち、一時モノクロフラグは、指定設定を一時的に「モノクロ」にするフラグである。
プログラム37は、ステップS80においてアイコン64が選択されたと判断して(S80:モノクロ印刷)、一時モノクロフラグの値を「ON」にしたことに基づいて(S82)、確認フラグの値を「ON」にする(S83)。すなわち、確認フラグは、ユーザがモノクロ印刷を指定したことに基づいて、「ON」にされる。
プログラム37は、ステップS72において、指定設定が「カラー」でないと判断すると(S72:モノクロ/オート)、指定設定の種別が「モノクロ」であるか「オート」であるかを判断する(S84)。プログラム37は、指定設定の種別が「オート」であると判断すると(S84:オート)、不図示の第4確認画面を表示パネル24に表示させる(S85)。すなわち、プログラム37は、取得した画像データが示す画像がカラーの画像であって(S62:カラー)、かつプリンタ11Aがモノクロ印刷のみを実行可能な第2モードであって(S71:第2モード情報)、かつ指定設定が「オート」である場合に(S84:オート)、第4確認画面を表示パネル24に表示させる(S85)。第4確認画面は、第8画面の一例である。
第4確認画面は、「カラーインクがないため、モノクロ印刷を行います。」の文字と、OKアイコンと、戻るアイコンと、メッセージ85(図6(B))と、を有する。ユーザは、プリンタ11Aにモノクロ印刷を実行させる場合は、OKアイコンを選択する。「カラーインクがないため、モノクロ印刷を行います。」の文字は、第17オブジェクトの一例である。プログラム37は、第4確認画面において、OKアイコンが選択されたと判断すると(S86:Yes)、確認フラグの値を「ON」にする(S87)。すなわち、確認フラグは、ユーザがモノクロ印刷を指定したことに基づいて、「ON」にされる。
プログラム37は、確認フラグの値を「ON」にした後、モノクロ印刷データの生成を生成プログラム39に指示し(S88)、生成プログラム39が生成したモノクロ印刷データを取得する(S89)。ステップS88、S89の処理は、上述のステップS69、S70(図3(B))の処理と同様にして実行される。
プログラム37は、ステップS84において、指定設定の種別が「モノクロ」であると判断すると(S84:モノクロ)、不図示の第3確認画面を表示パネル24に表示させる(S90)。すなわち、プログラム37は、取得した画像データが示す画像がカラーの画像であって(S62:カラー)、かつプリンタ11Aがモノクロ印刷のみを実行可能な第2モードであって(S71:第2モード情報)、かつ指定設定が「モノクロ」である場合に(S84:モノクロ)、第3確認画面を表示パネル24に表示させる(S90)。第3確認画面は、第8画面の一例である。
第3確認画面は、「モノクロ印刷を行います。」の文字と、OKアイコンと、戻るアイコンと、メッセージ85と、を有する。ユーザは、プリンタ11Aにモノクロ印刷を実行させる場合は、OKアイコンを選択する。「モノクロ印刷を行います。」の文字は、第17オブジェクトの一例である。プログラム37は、第3確認画面において、OKアイコンが選択されたと判断すると(S91:Yes)、上述のステップS87、S88、S89の処理を実行する。
プログラム37は、図4に示されるように、ステップS71において、取得したモード情報の種別が第1モード情報であると判断すると(S71:第1モード情報)、カラー印刷データの生成を生成プログラム39に指示し(S92)、生成プログラム39が生成したカラー印刷データを取得する(S93)。ステップS92、S93の処理は、上述のステップS64、S65(図3(B))の処理と同様にして実行される。
プログラム37は、ステップS65、S70、S89、S93において印刷データを取得したことに応じて、取得した印刷データに基づいてプレビュー画面データを生成する(S94)。詳しく説明すると、プログラム37はプレビュー画面のフォーマットデータを有している。当該フォーマットデータは、印刷データに応じたデータの入力を受け付ける入力フィールドを有している。プログラム37は、当該フォーマットデータの入力フィールドに、取得した印刷データに応じたデータを入力し、プレビュー画面データを生成する。印刷データに応じたデータとは、印刷データ自体であってもよいし、印刷データが示す画像の解像度を低下させる処理を行ったデータなどであってもよい。なお、プログラム37は、上述のステップS64、S69、S88、S92において、印刷データに加え、上述の入力フィールドに入力する「印刷データに応じたデータ」の生成を生成プログラム39に指示してもよい。
プログラム37は、生成したプレビュー画面データを表示パネル24に入力し、プレビュー画面データが示すプレビュー画面を表示パネル24に表示させる(S95)。図8(A)は、プレビュー画面を示す。プレビュー画面は、プレビュー画像73を有する。プレビュー画像73は、プログラム37が取得した印刷データがステップS93(図4)で取得したカラー印刷データである場合は、カラーの画像である。プレビュー画像73は、プログラム37が取得した印刷データがステップS65(図3(B))で取得したカラー印刷データである場合は、モノクロの画像である。プレビュー画像は、プログラム37が取得した印刷データがステップS70(図3(B))、S89(図5)で取得したモノクロ印刷データである場合は、モノクロの画像である。
また、プレビュー画面は、「プリンタ変更」の文字と、「カラーモード変更」の文字と、プルダウンメニュー63、74と、変更アイコン75と、プリントアイコン76と、メッセージ85と、を有する。プルダウンメニュー74は、「カラー」、「モノクロ」、及び「オート」の選択項目を有する。すなわち、プルダウンメニュー74は、指定設定を受け付けるメニューである。アイコン76は、印刷の実行指示を受け付けるアイコンである。プレビュー画面は、第5画面の一例である。プルダウンメニュー74は、第9オブジェクトの一例である。
ユーザは、プリンタ11に印刷を行わせる場合は、アイコン76を選択する。ユーザは、印刷を実行させるプリンタ11を変更する場合は、プルダウンメニュー63においてプリンタ名を選択した後、アイコン75を選択する。ユーザは、指定設定の種別を変更する場合は、プルダウンメニュー74において指定設定の種別を選択した後、アイコン75を選択する。
プログラム37は、図4に示されるように、プレビュー画面において選択されたアイコンの種別がアイコン76であるかアイコン75であるかを判断する(S96)。プログラム37は、選択されたアイコンの種別がアイコン75であると判断すると(S96:変更)、プルダウンメニュー63、74において選択されたプリンタ名及び指定設定を取得し(S97)、ステップS55以降の処理を再度実行する。プログラム37が、指定設定を取得するステップS97の処理は、指定設定取得処理の一例である。
ステップS83或いはステップS87において確認フラグの値が「ON」にされた後、プレビュー画面のプルダウンメニュー74において「カラー」が選択され、かつアイコン75が選択された場合にプログラム37が実行する処理について説明する。プログラム37は、アイコン75が選択されたことに基づいて(S96:変更)、ステップS55、S56、S62、S71、S72、S73の処理を再度実行する。そして、プログラム37は、ステップS73において、確認フラグの値が「ON」であると判断する(S73:Yes)。プログラム37は、確認フラグの値「ON」であると判断したことに基づいて(S73:Yes)、エラー画面を表示パネル24に表示させる(S74)。すなわち、エラー画面は、ユーザがモノクロ印刷を指定した後、プレビュー画面において「カラー」の指定設定を指定し、ユーザの指定が矛盾する場合に表示パネル24に表示される。
エラー画面は、図8(B)に示されるように、「プリンタは、現在、モノクロ印刷のみを実行可能であり、カラー印刷を行えません。カラーモードを「カラー」にしますか?」の文字であるメッセージ90と、アイコン71とアイコン72と、を有する。
図5に示されるように、プログラム37は、エラー画面においてアイコン71が選択されたか、アイコン72が選択されたかを判断する(S75)。プログラム37は、アイコン72が選択されたと判断すると(S75:戻る)、プレビュー画面を表示パネル24に再度表示させる(S95)。プログラム37は、アイコン71が選択されたと判断すると(S75:OK)、ステップS55(図4)以降の処理を再度実行する。
図4に示されるように、プログラム37は、ステップS96において、選択されたアイコンがアイコン76であると判断すると(S96:プリント)、「OFF」の値の一時モノクロフラグ及び確認フラグをメモリ32のデータ記憶領域35に記憶させる(S98)。ステップS98の処理は、設定変更解除処理の一例である。なお、プログラム37は、起動されたことに基づいて「OFF」の値の一時モノクロフラグ及び確認フラグをメモリ32のデータ記憶領域35に記憶させてもよい。その場合、ステップS98の処理は省略されてもよい。プログラム37が、起動されたことに基づいて「OFF」の値の一時モノクロフラグをメモリ32に記憶させる処理は、設定変更解除処理の一例である。
プログラム37は、ステップS98の処理の実行後、ユーザが選択した「カラー」、「モノクロ」、或いは「オート」の指定設定と、ユーザが選択したプリンタ名と、をメモリ32のデータ記憶領域35に記憶させ(S99)、プレビュー表示処理を終了する。ステップS99においてメモリ32に記憶された指定設定及びプリンタ名は、次にプログラム37が起動された場合の初期設定として用いられる。
プログラム37は、図3(A)に示されるように、プレビュー表示処理(S36)の実行後、取得した印刷データを通信I/F23、アクセスポイント14、及びローカルネットワーク13を通じてプリンタ11に送信する(S37)。例えば、プログラム37は、印刷データを示すファイルパス及びプリンタ名を含むコマンドをOS36に入力する。コマンドを入力されたOS36は、コマンドに含まれるプリンタ名が示すプリンタ11に、コマンドに含まれるファイルパスが示す印刷データを送信する。或いは、プログラム37は、OS36が提供する通信APIを呼び出し、呼び出した通信APIに印刷データを示すファイルパス及びプリンタ名を入力して、通信APIを用いて印刷データをプリンタ11に送信する。或いは、プログラム37は、生成プログラム39に、印刷データをプリンタ11に送信することを指示する。指示を受け付けた生成プログラム39は、OS36を通じて、或いはOS36が提供する通信APIを通じて、印刷データをプリンタ11に送信する。なお、プログラム37は、取得した印刷データをメモリ32のデータ記憶領域の所定の領域に記憶させてもよい。ユーザは、OS36、或いは情報処理装置10が実装する他のプログラムが表示パネル24に表示させた入力画面において、メモリ32に記憶された印刷データを指定し、指定した印刷データをプリンタ11に送信することを、OS36或いは当該他のプログラムに指示する。
プリンタ11の制御プログラム57は、通信I/F43を通じて印刷データを受信する(S37)。制御プログラム57は、受信した印刷データに基づいて、印刷エンジン44に印刷を実行させる(S38)。印刷エンジン44は、入力された印刷データがカラー印刷データである場合、カラー画像をシートに印刷し、入力された印刷データがモノクロ印刷データである場合、モノクロ画像をシートに印刷する。
[実施形態の作用効果]
プログラム37は、取得したモード情報が第2モード情報を含む場合に、取得した指定設定の種別に基づいて、複数の画面データや画面データの生成に用いられるフォーマットデータから、出力する画面データを特定或いは生成し、特定或いは生成した画面データを表示パネル24に出力して、画面データが示す画面を表示パネル24に表示させる。したがって、プログラム37は、ユーザが指定した種別の指定設定でプリンタ11が印刷を実行できない状態であっても、適切な対処方法をユーザに認識させることができる。なお、プリンタ11の状態とは、ユーザが指定した設定の印刷を実行する機能をプリンタ11が有しているか否かではなく、ユーザが指定した設定の印刷をプリンタ11が実行する機能を有しているが、ユーザが指定した設定の印刷をプリンタ11が実行できる状態、或いは実行できない状態であることを意味する。
プログラム37は、プリンタ11が第2モードであって、モノクロ印刷のみを実行でき、かつ、ユーザが指定した指定設定が「カラー」であると判断すると、「モノクロ印刷を行いますか?」の文字を有する第2確認画面を表示パネル24に表示させる。したがって、プログラム37は、モノクロ印刷なら実行可能であることをユーザに認識させることができる。
プログラム37は、第2確認画面において、ユーザによるアイコン64の選択を受け付けると、一時モノクロフラグの値を「ON」にして、指定設定の種別を一時的に「モノクロ」としてステップS84の処理を行う。また、プログラム37は、生成プログラム39が生成した印刷データを取得したことに基づいて、一時モノクロフラグの値を「OFF」に戻す。したがって、プログラム37は、ユーザが指定した画像をモノクロ印刷でプリンタ11に印刷させることができ、かつ、次に起動された場合の初期の指定設定を、ユーザが元々指定していた指定設定である「カラー」にすることができる。すなわち、プログラム37は、ユーザの指定設定を変更することなく、プリンタ11にモノクロ印刷を実行させることができる。
プログラム37は、プリンタ11が第2モードであって、モノクロ印刷のみを実行でき、かつ、ユーザが指定した指定設定が「カラー」であると判断すると、「カートリッジを交換しますか?」の文字を含む第2確認画面を表示パネル24に表示させる。したがって、プログラム37は、カートリッジを交換すれば、プリンタ11がカラー印刷を行えることをユーザに認識させることができる。
プログラム37は、カートリッジを交換したことを示す情報の入力を受け付けるアイコン71を有する第6確認画面を表示パネル24に表示させるので、ユーザがカートリッジを交換したか否かを判断することができる。
プログラム37は、第6確認画面において、アイコン71の選択を受け付けると、モード情報をプリンタ11から再取得する。プリンタ11においてカートリッジが交換されている場合、プログラム37が再取得するモード情報は、第1モード情報を含む。プログラム37は、再取得したモード情報が含む第1モード情報に基づいて、カラー印刷をプリンタ11に実行させることができる。したがって、プログラム37は、ユーザが指定した画像をカラーでプリンタに印刷させることができる。
プログラム37は、プリンタ11が第2モードであって、モノクロ印刷のみを実行でき、かつ、ユーザが指定した指定設定が「カラー」であると判断すると、「プリンタを変更しますか?」の文字を有する第2確認画面を表示パネル24に表示させる。したがって、プログラム37は、プリンタ11を他のプリンタ11に変更すれば、カラー印刷が可能であることをユーザに認識させることができる。
プログラム37は、第2確認画面において、ユーザによるアイコン62の選択を受け付けると、ユーザが指定した変更後のプリンタ11のモード情報を取得する。プログラム37は、取得したモード情報の種別に基づいて、表示パネル24に表示させる画面を示す画面データを特定し、特定した画面データが示す画面を表示パネルに表示させる。したがって、プログラム37は、ユーザが指定した変更後のプリンタ11に対しても、ユーザが指定した指定設定とプリンタ11の状態とに基づいて、適切な対処方法をユーザに通知することができる。
プログラム37は、モノクロ印刷の実行を肯定するユーザの入力を受け付けたことに基づいて、確認フラグの値を「ON」にする(S83、S87)。そして、プログラム37は、確認フラグの値が「ON」であり、かつプレビュー画面のプルダウンメニュー74において「カラー」の指定設定の選択を受け付けたことに基づいて、エラー画面を表示パネル24に表示させる。プログラム37は、エラー画面において、指定設定の種別を「カラー」にしても、プリンタ11がカラー印刷処理を実行できないことをユーザに通知する。したがって、プログラム37は、モノクロ印刷処理の実行を肯定するユーザの指示と、指定設定を「カラー」とするユーザの指示とが相反していることをユーザに認識させることができる。
プログラム37は、カラーインクが切れたプリンタ11がモノクロ印刷を実行可能な残日数を第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面に表示するので、モノクロ印刷を実行可能な残日数をユーザに認識させることができる。
プログラム37は、プリンタ11から取得したモード情報が第3モード情報であることに基づいて、「プリンタにインクがありません。」の文字を有する第1確認画面を表示パネル24に表示させる。したがって、プログラム37は、プリンタ11が印刷を実行できないことをユーザに認識させることができる。
プログラム37は、プリンタ11から取得したモード情報が第3モード情報であることに基づいて、「カートリッジを交換しますか?」の文字有する第1確認画面を表示パネル24に表示させる。したがって、プログラム37は、カートリッジを交換すれば、プリンタ11においてカラー印刷を行えることをユーザに認識させることができる。
プログラム37は、プリンタ11から取得したモード情報が第3モード情報であることに基づいて、アイコン61を有する第1確認画面を表示パネル24に表示させる。したがって、プログラム37は、カートリッジを交換するユーザの指定を受け付けることができる。
プログラム37は、第1確認画面においてアイコン61の選択を受け付けたことに基づいて、メッセージ89と、アイコン71とを有する第6確認画面を表示パネル24に表示させる。そして、プログラム37は、アイコン71の選択を受け付けたことに基づいて(S79:Yes)、プリンタ11からモード情報を再取得する(S55)。したがって、プログラム37は、ユーザがカートリッジの交換を実行した後に、プリンタ11からモード情報を再取得することができる。
プログラム37は、プリンタ11から取得したモード情報が第3モード情報であることに基づいて、「プリンタを変更しますか」の文字を有する第1確認画面を表示パネル24に表示させる。したがって、プログラム37は、プリンタ11を他のプリンタ11に変更すれば、カラー印刷を行えることをユーザに認識させることができる。
プログラム37は、プリンタ11から取得したモード情報が第3モード情報であることに基づいて、アイコン62及びプルダウンメニュー63を有する第1確認画面を表示パネル24に表示させる。そして、プログラム37は、アイコン62が選択されたことに基づいて、プルダウンメニュー63で選択されたプリンタ名が示すプリンタ11からモード情報及び残日数を取得する。したがって、プログラム37は、ユーザが指定した変更後のプリンタ11の状態及びユーザの指定する指定設定の種別とに応じて、適切な画面を表示パネル24に表示させることができる。
プログラム37は、ユーザが指定した指定設定の種別が「モノクロ」或いは「オート」であることに基づいて、「モノクロ印刷を行います。」の文字と、OKアイコンを含む第3確認画面或いは第4確認画面を表示パネル24に表示させる。そして、モノクロ印刷を行うことを指示するOKアイコンの選択を受け付ける。したがって、プログラム37は、ユーザが指定した画像をモノクロの画像として印刷するモノクロ印刷を行うことをユーザに認識させ、かつモノクロ印刷を行うことのユーザの意思の確認を行うことができる。
[変形例]
上述の実施形態では、プログラム37が、表示パネル24に表示させた種々の報知画面によって、ユーザに通知を行い、またユーザの設定の入力を受け付ける例を説明した。しかしながら、プログラム37は、音声によって、ユーザに通知を行い、また音声によって、ユーザの設定の入力を受け付けてもよい。
上述の実施形態では、プログラム37が、プレビュー表示処理において指定設定の変更の受け付けを行う例を説明した。しかしながら、プログラム37は、指定設定の受け付け、或いは指定設定の変更の受け付けを、プレビュー表示処理以外の処理で行ってもよい。例えば、プログラム37は、指定設定を含む印刷設定を受け付ける受付処理を実行してもよい。プログラム37は、ステップS34において表示パネル24に表示させたプレビュー選択画面に、印刷設定アイコンを含める。プログラム37は、印刷設定アイコンが選択されたと判断すると、ステップS53からS93、及びステップS96からS99までの処理を実行する。そして、プログラム37は、印刷データを取得したことに基づいて、プレビューアイコンを含む受付画面を表示パネル24に表示させ、プレビューアイコンの選択を受け付けたことに基づいて、プレビュー画面を表示パネル24に表示させる。
上述の実施形態では、プログラム37及び生成プログラム39が、ファイルパスを用いて画像データや印刷データを受け渡す例を説明した。しかしながら、プログラム37及び生成プログラム39は、ファイルパスを用いず、画像データ自体や印刷データ自体を受け渡してもよい。
上述の実施形態では、プログラム37が、プルダウンメニュー63、74でユーザの設定の入力を受け付ける例を説明した。しかしながら、プログラム37は、チェックボックスなど、他の方式でユーザの設定の入力を受け付けてもよい。
上述の実施形態では、プログラム37が、アイコン61、62、64を有する第2確認画面を表示パネル24に表示させる例を説明した。しかしながら、プログラム37は、第2確認画面を複数の画面に分けて表示パネル24に表示させてもよい。例えば、プログラム37は、第2確認画面を表示パネル24に表示させるステップS72の処理に代えて、第7確認画面、第8確認画面、第9確認画面を表示パネル24に表示させてもよい。第7確認画面は、メッセージ81、82と、アイコン61と、次へアイコンと、を有する。プログラム37は、次へアイコンが選択されたと判断すると、第8確認画面を表示パネル24に表示させる。第8確認画面は、メッセージ81、83と、アイコン62と、プルダウンメニュー63と、次へアイコンと、戻るアイコンと、を有する。プログラム37は、第8確認画面において、戻るアイコンが選択されたと判断すると、第7確認画面を表示パネル24に表示させる。プログラム37は、第8確認画面において、次へアイコンが選択されたと判断すると、第9確認画面を表示パネル24に表示させる。第9確認画面は、メッセージ81、84と、アイコン64と、戻るアイコンと、を有する。プログラム37は、第9確認画面において戻るアイコンが選択されたと判断すると、第8確認画面を表示パネル24に表示させる。プログラム37は、第7確認画面においてアイコン61が選択されたと判断すると、ステップS74(図5)の処理を実行する。プログラム37は、第8確認画面においてアイコン62が選択されたと判断すると、ステップS77(図5)の処理を実行する。プログラム37は、第9確認画面においてアイコン64が選択されたと判断すると、ステップS78(図5)の処理を実行する。第7確認画面は、第2画面の一例である。第8確認画面は、第4画面の一例である。第9確認画面は、第1画面の一例である。
上述の実施形態では、プログラム37が、アイコン61、62を有する第1確認画面を表示パネル24に表示させる例を説明した。しかしながら、プログラム37は、第1確認画面を複数の画面に分けて表示パネル24に表示させてもよい。例えば、プログラム37は、第1確認画面を表示パネル24に表示させるステップS56の処理に代えて、第10確認画面、第11確認画面を表示パネル24に表示させてもよい。第10確認画面は、メッセージ81、82と、アイコン61と、次へアイコンと、を有する。プログラム37は、次へアイコンが選択されたと判断すると、第11確認画面を表示パネル24に表示させる。第11確認画面は、メッセージ81、83と、アイコン62と、プルダウンメニュー63と、戻るアイコンと、を有する。プログラム37は、第11確認画面において、戻るアイコンが選択されたと判断すると、第10確認画面を表示パネル24に表示させる。プログラム37は、第10確認画面においてアイコン61が選択されたと判断すると、ステップS58(図4)の処理を実行する。プログラム37は、第11確認画面においてアイコン62が選択されたと判断すると、ステップS60(図4)の処理を実行する。
上述の実施形態では、プリンタ11の制御プログラム57が残日数を算出し(図2のS18)、プログラム37が、ステップS54において、プリンタ11が送信した残日数を取得する例を説明した。しかしながら、プリンタ11の制御プログラム57が日時情報及び許可期間を送信し、プログラム37が、日時情報及び許可期間を受信し、受信した日時情報及び許可期間に基づいて、ステップS18と同様にして残日数を算出して残日数を取得してもよい。その場合、プログラム37が受信する日時情報及び許可期間は、残日数を示す残日数情報の一例である。プログラム37が、受信した日時情報に基づいて残日数を算出する処理は、残日数取得処理の一例である。
上述の実施形態では、第2確認画面(図6(B))においてユーザがアイコン64を選択すると(S80:モノクロ印刷)、一時モノクロフラグの値が「ON」にされ(S82)、一時モノクロフラグの値が「ON」である場合、プログラム37が、指定設定が「モノクロ」であると判断する例を説明した。しかしながら、プログラム37は、一時モノクロフラグの値を「ON」にするステップS82の処理に代えて、メモリ32のデータ記憶領域55に記憶された指定設定を「モノクロ」で上書きしてもよい。その場合、プログラム37は、「モノクロ」に上書きする前の指定設定を、メモリ52のデータ記憶領域の所定の記憶領域に記憶させて退避させる。そして、プログラム37は、ステップS98の処理に代えて、退避させた指定設定を、メモリ32のデータ記憶領域55に記憶された「モノクロ」に対して上書きする。すなわち、プログラム37は、指定設定を元に戻す。
上述の実施形態では、第2確認画面(図6(B))においてユーザがアイコン64を選択すると(S80:モノクロ印刷)、一時モノクロフラグの値が「ON」にされ(S82)、一時モノクロフラグの値が「ON」である場合、プログラム37が、指定設定が「モノクロ」であると判断する例を説明した。しかしながら、プログラム37は、一時モノクロフラグが「ON」である場合、指定設定が「オート」であると判断してもよい。その場合、プログラム37は、ステップS84において、指定設定の種別が「オート」であると判断し(S84:オート)、第3確認画面ではなく(S90)、第4確認画面を表示パネル24に表示させる(S85)。
上述の実施形態では、第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面において、メッセージ85を表示パネル24に表示させる例を説明した。しかしながら、プログラム37は、第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面において、メッセージ85に代えて、例えば「モノクロ印刷を実行可能な残り期間が僅かです。カートリッジの交換を行ってください。」の文字を、所定の条件が満たされた場合に、表示パネル24に表示させてもよい。所定の条件は、例えば残日数が、メモリ32に記憶された閾値期間未満となった場合である。閾値期間は、例えば「3日」である。
上述の実施形態では、第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面において、メッセージ85を表示パネル24に表示させる例を説明した。しかしながら、プログラム37は、第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面のうちの1つの画面或いは複数の画面において、メッセージ85を表示してもよい。また、プログラム37は、第2確認画面、第3確認画面、第4確認画面、第5確認画面、及びプレビュー画面ではなく、メッセージ85を有する他の画面を表示パネル24に表示させてもよい。
上述の実施形態では、第1印刷処理の一例としてカラー印刷処理を説明し、第2印刷処理の一例としてモノクロ印刷処理を説明した。しかしながら、第1印刷処理及び第2印刷処理は、カラー印刷処理及びモノクロ印刷処理に限定されない。例えば、第1印刷処理がカラー印刷処理であり、第2印刷処理がモノカラー印刷処理であってもよい。モノカラー印刷処理とは、カラーインクのうち、一の色のインクを用いて行う印刷処理である。プリンタ11の制御プログラム57は、例えば、モノカラー印刷を指定するユーザの入力をタッチパネル42を通じて受け付けたことに基づいて、第4モード情報をメモリ52に入力する。制御プログラム57は、上述の第1モード情報或いは第4モード情報を通信I/F43及びローカルネットワーク13を通じて情報処理装置10に送信する。プログラム37は、プリンタ11が送信したモード情報の種別と、ユーザが指定した指定設定とに基づいて、表示パネル24に表示させる画面を示す画面データを特定し、特定した画面データが示す画面を表示パネル24に表示させる。また、第2印刷処理がドラフト印刷処理であり、第1印刷処理がドラフト印刷処理以外の印刷処理であってもよい。ドラフト印刷処理とは、プリンタ11の制御プログラム57が、入力された印刷データの解像度を低下させて印刷を行う印刷処理である。制御プログラム57は、例えば、ドラフト印刷を指定するユーザの入力をタッチパネル42を通じて受け付けたことに基づいて、第5モード情報をメモリ52に入力する。制御プログラム57は、上述の第1モード情報或いは第5モード情報を通信I/F43及びローカルネットワーク13を通じて情報処理装置10に送信する。プログラム37は、プリンタ11が送信したモード情報の種別と、ユーザが指定した指定設定とに基づいて、表示パネル24に表示させる画面を示す画面データを特定し、特定した画面データが示す画面を表示パネル24に表示させる。
上述の実施形態では、プリンタ11が送信するモード情報が、第1モード情報、第2モード情報、及び第3モード情報のいずれかを示す例を説明した。しかしながら、プリンタ11が送信するモード情報が、第1モード情報或いは第2モード情報を示し、第3モード情報を示さなくてもよい。その場合、プログラム37は、ステップS56からS61までの処理を省略する。
上述の実施形態では、プログラム37が、印刷データの生成を生成プログラム39に指示する例を説明した。しかしながら、プログラム37が、印刷データを生成する機能を有する、いわゆるプリンタドライバであってもよい。その場合、プログラム37は、ステップS64、S69、S88、S92の処理に代えて、印刷データを生成する処理を実行する。また、その場合、プログラム37は、生成プログラム38からの指示にしたがって、印刷データを生成してもよい。
上述の実施形態では、プログラム37がOS36を通じて印刷データをプリンタ11に送信する例を説明した。しかしながら、生成プログラム39が、いわゆるプリンタドライバであって、生成プログラム39が印刷データをプリンタ11に送信してもよい。例えば、プログラム37は、生成プログラム39が提供するAPIなどを用いて、印刷データをプリンタ11に送信することを生成プログラム39に指示する。指示を受け付けた生成プログラム39は、OS36を通じて、印刷データをプリンタ11に送信する。