(57)【要約】【課題】プリント前動作の実行を適切なタイミングでプリンタに指示可能なプログラムを提供する。【解決手段】ドライバプログラムは、プリント指示をＯＳから受け付け、且つプリント前動作の開始を準備指示情報によって指示すると判断したことに応じて、準備指示情報をプリンタに送信する準備指示処理（Ｓ２６）と、準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、プリント動作の対象となるプリントデータを生成する生成処理（Ｓ２９）と、プリントデータに対するプリント動作の実行を指示するプリント指示情報をプリンタに送信するプリント指示処理とをコンピュータに実行させる。【選択図】図５
2020061170.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースを備えるコンピュータによって読み取り可能なドライバプログラムであって、
該ドライバプログラムは、該コンピュータのＯＳからプリント指示を受け付けるプリント指示受付処理を前記コンピュータに実行させ、前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示し、
該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する第１判断処理を前記コンピュータに実行させ、前記プリント前動作は、前記プリント動作で所定品質の画像をシートに記録するために、前記プリンタによって実行される動作であり、前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報であり、
該ドライバプログラムは、
前記プリント前動作を指示すると前記第１判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、
前記プリント前動作を指示すると前記第１判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記通信インタフェースを通じて前記プリンタにプリント指示情報を送信するプリント指示処理とを前記コンピュータに実行させ、前記プリント指示情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報であるドライバプログラム。
【請求項２】
該ドライバプログラムは、前記プリント前動作を指示しないと前記第１判断処理で判断したことに応じて、前記準備指示処理を実行することなく前記生成処理を前記コンピュータに実行させる請求項１に記載のドライバプログラム。
【請求項３】
前記プリント指示情報は、条件情報で示される実行条件に従って、前記プリントデータに対する前記プリント動作を実行させるための情報であり、
前記条件情報は、トリガ情報を含むことが可能であり、前記トリガ情報は、前記プリント指示情報を受信した前記プリンタに、前記プリント動作を開始させるトリガを示すための情報であり、
該ドライバプログラムは、前記第１判断処理において、
前記条件情報に前記トリガ情報が含まれていない場合に、前記プリント前動作を指示すると判断し、
前記条件情報に前記トリガ情報が含まれている場合に、前記プリント前動作を指示しないと判断する請求項１又は２に記載のドライバプログラム。
【請求項４】
前記コンピュータは、メモリをさらに備えており、
前記条件情報は、前記メモリの第１領域に記憶されており、前記第１領域は、参照を許可する参照指示を前記ＯＳから受け付けた場合にのみ、記憶された情報を参照可能な領域であり、
該ドライバプログラムは、
前記参照指示を前記ＯＳから受け付ける参照受付処理と、
前記参照受付処理で前記参照指示を受け付けたことに応じて、前記第１領域から読み出された前記条件情報を前記メモリの第２領域に記憶させる記憶処理とを、前記プリント指示受付処理に先立って前記コンピュータに実行させ、前記第２領域は、前記参照指示を受け付けなくても、記憶された情報を参照可能な領域であり、
該ドライバプログラムは、前記第１判断処理において、前記第２領域に記憶されている前記条件情報に前記トリガ情報が含まれているか否かを判断する請求項３に記載のドライバプログラム。
【請求項５】
前記条件情報は、前記コンピュータにインストールされた他のプログラムも編集可能なパブリック情報と、該ドライバプログラムのみが編集可能なプライベート情報とを含み、
前記トリガ情報は、前記プライベート情報である請求項４に記載のドライバプログラム。
【請求項６】
前記コンピュータは、メモリをさらに備えており、
該ドライバプログラムは、前記準備指示処理及び前記プリント指示処理において、前記準備指示情報及び前記プリント指示情報を前記メモリのキュー領域に記憶させ、前記キュー領域は、前記ＯＳが前記通信インタフェースを通じて前記プリンタに送信する情報が送信順を特定して記憶される領域であり、
該ドライバプログラムは、前記第１判断処理において、
前記キュー領域に情報が記憶されていない場合に、前記プリント前動作を指示すると判断し、
前記キュー領域に情報が記憶されている場合に、前記プリント前動作を指示しないと判断する請求項１から５のいずれかに記載のドライバプログラム。
【請求項７】
該ドライバプログラムは、前記第１判断処理において、
前記プリンタに送信すべき情報が記憶される複数の前記キュー領域の全てに情報が記憶されていない場合に、前記プリント前動作を指示すると判断し、
前記プリンタに送信すべき情報が記憶される複数の前記キュー領域の少なくとも１つに情報が記憶されている場合に、前記プリント前動作を指示しないと判断する請求項６に記載のドライバプログラム。
【請求項８】
該ドライバプログラムは、前記第１判断処理において、
前記プリント指示情報と異なる情報のみが前記キュー領域に記憶されている場合に、前記プリント前動作を指示すると判断し、
前記プリント指示情報が前記キュー領域に記憶されている場合に、前記プリント前動作を指示しないと判断する請求項６又は７に記載のドライバプログラム。
【請求項９】
該ドライバプログラムは、
前記準備指示情報が前記キュー領域に記憶されているか否かを判断する第２判断処理と、
前記準備指示情報が記憶されていると前記第２判断処理で判断したことに応じて、当該準備指示情報を前記キュー領域から削除する削除処理とを、前記プリント指示処理に先立って前記コンピュータに実行させる請求項６から８のいずれかに記載のドライバプログラム。
【請求項１０】
該ドライバプログラムは、
前記プリント指示処理において、前記ＯＳによって指定された指定識別情報を付加した前記プリント指示情報を前記キュー領域に記憶させ、
前記準備指示処理において、前記指定識別情報と重複しないように生成した生成識別情報を付加した前記準備指示情報を前記キュー領域に記憶させ、
前記削除処理において、前記生成識別情報が付加された情報を前記キュー領域から削除する請求項９に記載のドライバプログラム。
【請求項１１】
該ドライバプログラムは、
前記プリント指示受付処理、前記第１判断処理、及び前記準備指示処理を前記コンピュータに実行させる第１モジュールと、
前記生成処理、及び前記プリント指示処理を前記コンピュータに実行させる第２モジュールとを含む請求項１から１０のいずれかに記載のドライバプログラム。
【請求項１２】
前記プリント指示は、定数ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣを引数として、前記第１モジュールに定義された第１関数ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔが前記ＯＳによって呼び出されたことを指し、
前記第１モジュールは、定数ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣを引数として、前記第１関数ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔが呼び出されたことに応じて、前記第１判断処理及び前記準備指示処理を前記コンピュータに実行させる請求項１１に記載のドライバプログラム。
【請求項１３】
前記第２モジュールは、前記第１関数ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔの終了通知を前記第１モジュールから受け取った前記ＯＳによって、前記第２モジュールに定義された前記第２関数ＤｒｖＳｔａｒｔＤｏｃが呼び出されたことに応じて、前記生成処理を、前記コンピュータに開始させる請求項１２に記載のドライバプログラム。
【請求項１４】
第１通信インタフェースを備えるコンピュータによって読み取り可能なドライバプログラムと、プリンタとのセットであって、
該ドライバプログラムは、該コンピュータのＯＳからプリント指示を受け付けるプリント指示受付処理を前記コンピュータに実行させ、前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示し、
該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する要否判断処理を前記コンピュータに実行させ、前記プリント前動作は、前記プリント動作で所定品質の画像をシートに記録するために、前記プリンタによって実行される動作であり、前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報であり、
該ドライバプログラムは、
前記プリント前動作を指示すると前記要否判断処理で判断したことに応じて、前記第１通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、
前記プリント前動作を指示すると前記要否判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記第１通信インタフェースを通じて前記プリンタにプリント指示情報を送信するプリント指示処理とを前記コンピュータに実行させ、前記プリント指示情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報であり、
前記プリンタは、
前記プリント前動作及び前記プリント動作を実行する動作部と、
第２通信インタフェースと、
制御部とを備えており、
前記制御部は、
前記第２通信インタフェースを通じて前記コンピュータから前記準備指示情報を受信する準備指示受信処理と、
前記準備指示受信処理で前記準備指示情報を受信したことに応じて、前記動作部に前記プリント前動作を実行させるプリント前処理と、
前記第２通信インタフェースを通じて前記コンピュータから前記プリント指示情報を受信するプリント指示受信処理と、
前記プリント指示受信処理で前記プリント指示情報を受信し且つ前記プリント前処理が終了したことに応じて、前記プリント指示情報に従った前記プリント動作を前記動作部に実行させるプリント処理とを実行する、ドライバプログラムとプリンタとのセット。
【請求項１５】
前記コンピュータは、ディスプレイと、入力インタフェースとをさらに備えており、
前記コンテンツデータは、長手方向が前記ディスプレイの上下方向に沿って表示された状態で、前記入力インタフェースを通じて編集された画像を示し、
該ドライバプログラムは、前記生成処理において、複数のパスデータを含む前記プリントデータを前記コンテンツデータに基づいて生成し、前記パスデータは、長方形のシートの短手方向に隣接する複数の記録領域の１つに、当該シートの長手方向に沿って画像を記録するためのデータであり、
前記動作部は、
シートを搬送方向に搬送する搬送部と、
前記搬送部によって搬送されたシートに対面する位置において、前記搬送方向に直交する主走査方向に移動しつつインクを吐出する吐出部とを備えており、
前記制御部は、前記プリント処理において、複数の前記パスデータそれぞれについて、
前記パスデータに対応する前記記録領域が前記吐出部に対面する位置まで、長方形のシートの短手方向を前記搬送方向に一致させた状態で前記搬送部に搬送させる搬送処理と、
前記搬送処理で搬送されたシートに前記パスデータに従って前記吐出部にインクを吐出させる吐出処理とを実行する請求項１４に記載のドライバプログラムとプリンタとのセット。
【請求項１６】
前記プリンタは、駆動状態と休眠状態とに切替可能な電源部を備えており、前記駆動状態は、前記動作部、前記第２通信インタフェース、及び前記制御部に電力を供給している状態であり、前記休眠状態は、前記第２インタフェース及び前記制御部に電力を供給し、前記動作部に電力を供給していない状態であり、
前記制御部は、
前記電源部が前記休眠状態か否かを判断する状態判断処理と、
前記準備指示受信処理で前記準備指示情報を受信し、且つ前記状態判断処理で前記休眠状態と判断したことに応じて、前記電源部を前記休眠状態から前記駆動状態に切り替える切替処理とを、前記プリント前処理に先立って実行する請求項１４又は１５に記載のドライバプログラムとプリンタとのセット。
【請求項１７】
前記プリンタ部は、報知部を備えており、
前記制御部は、前記準備指示受信処理で前記準備指示情報を受信したことに応じて、前記準備指示情報の受信を前記報知部に報知させる報知処理を実行する請求項１４から１６のいずれかに記載のドライバプログラムとプリンタとのセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタにプリント動作を実行させるコンピュータのプログラムに関する。
【背景技術】
【０００２】
従来より、通信ネットワークを通じて接続されたプリンタにプリント動作の実行を指示するのに先立って、当該プリント動作の品質を担保するためのプリント前動作の実行を指示するコンピュータのプログラムが知られている。例えば特許文献１において、ＯＳによって起動されたプログラムは、プリンタの出力ポートがレディ状態であり且つプリンタへの直近のデータ送信からの経過時間が規定時間以上であることに応じて、プリント前動作の実行を指示するオートウェイクアップコマンドをプリンタに送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−５３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のプログラムは、プリント動作を実際にプリンタに実行させるか否かに拘わらず、前述の条件を満たしたことに応じてオートウェイクアップコマンドをプリンタに送信する。すなわち、特許文献１に記載のプログラムによれば、プリント動作を実際に実行しない場合であっても、プリンタがプリント前動作を実行する可能性がある。これにより、プリンタにおいて、インクや電力が無駄に消費されるという課題を生じる。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、プリント前動作の実行を適切なタイミングでプリンタに指示可能なプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本明細書に記載のドライバプログラムは、通信インタフェースを備えるコンピュータによって読み取り可能である。該ドライバプログラムは、該コンピュータのＯＳからプリント指示を受け付けるプリント指示受付処理を前記コンピュータに実行させる。前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示す。該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する第１判断処理を前記コンピュータに実行させる。前記プリント前動作は、前記プリント動作で所定品質の画像をシートに記録するために、前記プリンタによって実行される動作である。前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報である。該ドライバプログラムは、前記プリント前動作を指示すると前記第１判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、前記プリント前動作を指示すると前記第１判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、前記通信インタフェースを通じて前記プリンタにプリント指示情報を送信するプリント指示処理とを前記コンピュータに実行させる。前記プリント指示情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報である。
【０００７】
上記構成によれば、準備指示情報を送信するか否かをプリント指示を受け付けたタイミングで判断するので、不要なプリント前動作をプリンタに実行させることがない。すなわち、プリント前動作の実行を適切なタイミングでプリンタに指示することができる。また、準備指示情報に従ってプリンタがプリント前動作を実行している間に、コンピュータでプリントデータが生成されるので、プリント動作の実行指示が入力されてから最初のシートがプリンタから排出されるまでの所要時間であるＦＰＯＴ（First Print Out Timeの略）を短縮することができる。
【０００８】
本実施形態に係るドライバプログラムとプリンタとのセットは、第１通信インタフェースを備えるコンピュータによって読み取り可能なドライバプログラムと、プリンタとのセットである。該ドライバプログラムは、該コンピュータのＯＳからプリント指示を受け付けるプリント指示受付処理を前記コンピュータに実行させる。前記プリント指示は、プリンタにプリント動作を実行させる指示がユーザによって入力されたことを示す。該ドライバプログラムは、前記プリント指示受付処理で前記プリント指示を受け付けたことに応じて、プリント前動作の開始を準備指示情報によって指示するか否かを判断する要否判断処理を前記コンピュータに実行させる。前記プリント前動作は、前記プリント動作で所定品質の画像をシートに記録するために、前記プリンタによって実行される動作である。前記準備指示情報は、前記プリント動作の指示に先行して前記プリンタに送信される情報である。該ドライバプログラムは、前記プリント前動作を指示すると前記要否判断処理で判断したことに応じて、前記第１通信インタフェースを通じて前記プリンタに前記準備指示情報を送信する準備指示処理と、前記プリント前動作を指示すると前記要否判断処理で判断し且つ前記準備指示処理を実行したことに応じて、ユーザによって指定されたコンテンツデータに基づいて、前記プリント動作の対象となるプリントデータを生成する生成処理と、前記第１通信インタフェースを通じて前記プリンタにプリント指示情報を送信するプリント指示処理とを前記コンピュータに実行させる。前記プリント指示情報は、前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するための情報である。前記プリンタは、前記プリント前動作及び前記プリント動作を実行する動作部と、第２通信インタフェースと、制御部とを備える。前記制御部は、前記第２通信インタフェースを通じて前記コンピュータから前記準備指示情報を受信する準備指示受信処理と、前記準備指示受信処理で前記準備指示情報を受信したことに応じて、前記動作部に前記プリント前動作を実行させるプリント前処理と、前記第２通信インタフェースを通じて前記コンピュータから前記プリント指示情報を受信するプリント指示受信処理と、前記プリント指示受信処理で前記プリント指示情報を受信し且つ前記プリント前処理が終了したことに応じて、前記プリント指示情報に従った前記プリント動作を前記動作部に実行させるプリント処理とを実行する。
【図面の簡単な説明】
【０００９】
【図１】図１は、プリンタ１０のブロック図である。
【図２】図２は、（Ａ）が情報処理端末５０のブロック図であり、（Ｂ）がデータ記憶領域６２Ｂに記憶された条件情報を示す図である。
【図３】図３は、キュー領域６７Ａ〜６７Ｃを説明するための図であって、（Ａ）はプリンタ１０Ａ、１０Ｂとキュー領域６７Ａ〜６７Ｃとの対応関係を、（Ｂ）はプリント指示情報が記憶されたキュー領域６７Ａを、（Ｃ）は準備指示情報が記憶されたキュー領域６７Ａを示す。
【図４】図４は、プリント指示処理のフローチャートである。
【図５】図５は、ＳｔａｒｔＤｏｃ処理のフローチャートである。
【図６】図６は、ＳｔａｒｔＰａｇｅ処理のフローチャートである。
【図７】図７（Ａ）は準備指示処理のフローチャートであり、図７（Ｂ）は指示解除処理のフローチャートである。
【図８】図８は、プリント処理のフローチャートである。
【図９】図９（Ａ）は編集画面の一例であり、図９（Ｂ）はプリンタ１０からシートが排出された状態を示す図である。
【図１０】図１０は、標準設定画面の表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できる。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
本実施形態に係るシステムは、例えば、図１に示されるプリンタ１０と、図２（Ａ）に示される情報処理端末５０とを備える。プリンタ１０及び情報処理端末５０は、例えば、通信ネットワークを通じて相互に通信可能に構成されている。通信ネットワークの具体例は特に限定されないが、例えば、有線ＬＡＮ、無線ＬＡＮ、或いはＵＳＢケーブル等であってもよい。また、情報処理端末５０は、例えば図３（Ａ）に示されるように、複数のプリンタ１０Ａ、１０Ｂと通信可能であってもよい。
【００１２】
メーカは、例えば、図１に示されるプリンタ１０と、情報処理端末５０にインストール可能なドライバプログラム６６とのセットをユーザに提供する。そして、ドライバプログラム６６がユーザによって情報処理端末５０にインストールされることによって、本実施形態に係るシステムが構成される。ドライバプログラム６６は、例えば、プリンタ１０に同梱されたＣＤ−ＲＯＭ等の形式で提供されてもよいし、メーカのＷＥＢサイトを通じてダウンロード可能にされてもよい。
【００１３】
プリンタ１０は、図１に示されるように、電源部１１と、動作部２０と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、制御部３０とを主に備える。プリンタ１０を構成する各構成要素は、通信バスを通じて相互に接続されている。本実施形態では、インクジェット方式のプリンタ１０の例を説明するが、プリンタ１０の記録方式はインクジェット方式に限定されず、電子写真方式などの公知の方式であってもよい。なお、図３（Ａ）に示されるプリンタ１０Ａ、１０Ｂの基本的な構成は、図１に示されるプリンタ１０と同様であってもよい。
【００１４】
電源部１１は、電源プラグを通じて外部電源から供給された電力を、プリンタ１０の各構成要素に供給する。より詳細には、電源部１１は、外部電源から取得した電力を、動作部２０に駆動電力（例えば、２４Ｖ）として出力し、制御部３０に制御電力（例えば、５Ｖ）として出力する。また、図示は省略するが、電源部１１は、ディスプレイ２３、入力Ｉ／Ｆ２４、及び通信Ｉ／Ｆ２５にも電力を供給している。
【００１５】
また、電源部１１は、制御部３０から出力される電源信号に基づいて、駆動状態と休眠状態とに切り替えが可能である。より詳細には、制御部３０は、ＨＩＧＨレベルの電源信号（例えば、５Ｖ）を出力することによって、電源部１１を休眠状態から駆動状態に切り替える。また、制御部３０は、ＬＯＷレベルの電源信号（例えば、０Ｖ）を出力することによって、電源部１１を駆動状態から休眠状態に切り替える。
【００１６】
駆動状態とは、動作部２０に駆動電力を出力している状態である。換言すれば、駆動状態とは、動作部２０が動作可能な状態である。休眠状態とは、動作部２０に駆動電力を出力していない状態である。換言すれば、休眠状態とは、動作部２０が動作不能な状態である。一方、電源部１１は、駆動状態であるか休眠状態であるかに拘わらず、制御部３０に制御電力を出力している。また、図示は省略するが、入力Ｉ／Ｆ２４は、電源部１１が駆動状態であるか休眠状態であるかに拘わらず、ユーザ操作に応じた操作信号を出力することができる。また、通信Ｉ／Ｆ２５は、電源部１１が駆動状態であるか休眠状態であるかに拘わらず、外部装置から情報を受信することができる。
【００１７】
動作部２０は、制御部３０の指示に従ってプリント動作及びプリント前動作を実行する。プリント動作は、シートに画像を記録する動作である。プリント前動作は、プリント動作で所定品質の画像をシートに記録するために、プリント動作に先立って実行される動作である。プリント動作及びプリント前動作の詳細は、後述する。動作部２０は、図１に示されるように、搬送部２１と、吐出部２２とを主に備える。
【００１８】
搬送部２１は、不図示の給送トレイに支持されたシートを搬送方向に搬送する。搬送部２１は、例えば、不図示のモータの駆動力が伝達されて回転する複数のローラによって構成される。モータによって回転されるローラは、給送トレイに支持されたシートを吐出部２２に対面する位置まで搬送し、吐出部２２によって画像が記録されたシートをプリンタ１０の外部に排出する。プリンタ１０は、複数の給送トレイを備えることができる。
【００１９】
吐出部２２は、搬送部２１によって搬送されたシートに対面し得る位置において、搬送方向と直交する主走査方向に移動する。吐出部２２は、不図示のモータの駆動力が伝達されることによって、主走査方向に移動する。吐出部２２の下面には、複数のノズルが形成されたノズル面が形成されている。吐出部２２は、ノズルからインク滴を吐出する。
【００２０】
吐出部２２が主走査方向に移動する過程で吐出したインクがシートに着弾することによって、シートに画像が記録される。吐出部２２が主走査方向の一方から他方に移動する過程において、吐出部２２から吐出されたインクが着弾し得るシート上の領域を「記録領域」と表記する。シートは、複数の記録領域に区画される。そして、吐出部２２は、後述するプリント動作において、複数の記録領域それぞれに対して順番に画像を記録する。
【００２１】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示面を備える。
【００２２】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク等である。
【００２３】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ５３に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００２４】
通信Ｉ／Ｆ２５は、通信ネットワークを通じて外部装置と通信可能なインタフェースである。すなわち、プリンタ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を出力し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５は、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）に従った通信手順で無線信号を送受信するものであってもよいし、ＬＡＮケーブル或いはＵＳＢケーブルが接続されるインタフェースであってもよい。
【００２５】
制御部３０は、プリンタ１０の全体動作を制御するものである。制御部３０は、図１に示されるように、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ＥＥＰＲＯＭ３４、ＡＳＩＣ３５を主とするマイクロコンピュータである。
【００２６】
ＲＯＭ３２には、ＣＰＵ３１がプリンタ１０の動作を制御するためのプログラムが格納される。ＲＡＭ３３は、ＣＰＵ３１がプログラムを実行する際に用いる各種データを一時的に記録する記憶領域又は作業領域として使用される。ＥＥＰＲＯＭ３４には、電源オフ後も保持すべき設定やフラグ等が格納される。ＣＰＵ３１は、プログラムをＲＯＭ３２から読み出して実行することにより、プリンタ１０の動作を制御する。ＡＳＩＣ３５には、搬送部２１と、吐出部２２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５とが接続されている。ＡＳＩＣ３５は、ＣＰＵ３１の指示に従ってプリンタ１０の各構成要素を動作させる。
【００２７】
ＲＯＭ３２、ＲＡＭ３３、ＥＥＰＲＯＭ３４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末５０のメモリ６２についても同様である。
【００２８】
ＡＳＩＣ３５は、モータへ駆動信号を出力する。モータが回転すると、搬送部２１はシートを搬送し、吐出部２２は主走査方向に移動する。ＡＳＩＣ３５は、ピエゾ素子等の駆動素子へ駆動信号を出力する。駆動素子が振動すると、吐出部２２はノズルからインク滴を吐出する。ＡＳＩＣ３５は、ディスプレイ２３へ画像信号を出力し、ディスプレイ２３に画面を表示させる。ＡＳＩＣ３５は、入力Ｉ／Ｆ２４から出力される操作信号を取得する。ＡＳＩＣ３５は、通信Ｉ／Ｆ２５を通じて外部装置から情報を受信し、通信Ｉ／Ｆ２５を通じて外部装置に情報を送信する。
【００２９】
情報処理端末５０は、図２（Ａ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。情報処理端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１は、プリンタ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１と同様の構成であるので、説明は省略する。
【００３０】
情報処理端末５０は、例えば、携帯電話、スマートフォン、タブレット端末、或いはＰＣ等であってもよい。情報処理端末５０は、コンピュータの一例である。情報処理端末５０の入力Ｉ／Ｆ５４は、例えば、マウス及びキーボードの組み合わせであってもよい。この場合において、ディスプレイ５３に表示されたアイコンの位置にマウスポインタを移動させてクリックするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００３１】
メモリ６２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、情報処理端末５０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ６１が備えるバッファ等、或いはそれらの組み合わせによって構成される。メモリ６２は、プログラム記憶領域６２Ａと、データ記憶領域６２Ｂとを有する。領域６２Ａには、ＯＳ６４と、編集プログラム６５と、ドライバプログラム６６とがインストールされている。領域６２Ａに記憶される各プログラムは、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。領域６２Ｂには、各プログラムの実行に必要なデータ或いは情報が記憶される。
【００３２】
本実施形態では、Ｗｉｎｄｏｗｓ（Microsoft Corporationの登録商標）  Ｏｐｅｒａｔｉｎｇ  ＳｙｓｔｅｍをＯＳ６４の具体例として説明するが、ＯＳ６４の具体例はこれに限定されず、例えば、Ａｎｄｒｏｉｄ（Google inc.の登録商標）  ＯＳ、ｉＯＳ（Cisco Systems,Inc.の登録商標）等であってもよい。
【００３３】
編集プログラム６５は、ユーザ操作に従ってコンテンツデータを編集するプログラムである。編集プログラム６５は、例えば図９（Ａ）に示されるように、指定されたコンテンツデータで示される画像をディスプレイ５３に表示させ、コンテンツデータの編集を指示するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付け、受け付けたユーザ操作に従ってコンテンツデータを編集する。コンテンツデータの形式は、例えば、テキスト形式、画像形式、スプレッドシート形式、プレゼンテーション形式等が挙げられる。コンテンツデータは、１以上のページデータを含んでもよい。ページデータは、１枚のシートに記録されるコンテンツを示すデータである。
【００３４】
ドライバプログラム６６は、ＯＳ６４から受け付けたプリント指示に従って、プリンタ１０にプリント動作を実行させるためのプログラムである。本実施形態に係るドライバプログラム６６は、図５及び図６に示されるように、第１モジュールの一例であるＵＩモジュール６６Ａと、第２モジュールの一例であるレンダリングモジュール６６Ｂとを含む。但し、ドライバプログラム６６は、単一のモジュールで構成されていてもよいし、他のモジュールをさらに含んでもよい。ドライバプログラム６６は、単一のモデルのプリンタ１０に対してのみプリント動作を指示可能であってもよいし、複数のモデルのプリンタ１０に対してプリント動作を指示可能であってもよい。
【００３５】
ドライバプログラム６６には、ＯＳ６４によって指定された複数の関数が定義されている。そして、ドライバプログラム６６は、複数の関数がＯＳ６４によって所定の順序で呼び出されることによって、プリンタ１０にプリント動作を実行させることができる。本実施形態に係るプリント指示は、例えば、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣ”を引数として、ＵＩモジュール６６Ａに定義された第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”がＯＳ６４によって呼び出されたことを指す。
【００３６】
領域６２Ｂは、図２（Ａ）に示されるように、第１領域６２Ｃと、第２領域６２Ｄとを含む。第１領域６２Ｃは、例えば、ＯＳ６４に関する基本情報、或いはドライバプログラムの設定情報のデータベースである所謂レジストリである。第１領域６２Ｃに記憶された情報の参照手順は、ＯＳ６４によって規定されている。そして、ＯＳ６４は、参照手順に従って参照された情報の正しさを保証し、参照手順に従わずに参照された情報の正しさを保証しない。これに対して、第２領域６２Ｄに記憶された情報は、前述のような参照手順を踏むことなく、任意のタイミングで参照することができる。以下、「プログラムが領域６２Ｂに情報を記憶させる」と表記した場合、原則として当該情報が第２領域６２Ｄに記憶されるものとする。第１領域６２Ｃに記憶された情報の参照手順の例を、以下に説明する。
【００３７】
一例として、編集プログラム６５は、第２領域６２Ｄに所定のメモリ領域を確保する。そして、編集プログラム６５は、確保したメモリ領域の先頭アドレスを示す第１ポインタ“ＤＥＶＭＯＤＥ”を引数として、ＯＳ６４に定義された読出関数を呼び出す。ＯＳ６４は、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に、第１領域６２Ｃに記憶された情報をコピーする。これにより、編集プログラム６５は、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に第１領域６２Ｃからコピーされた情報を、読み出し或いは編集できるようになる。
【００３８】
他の例として、ドライバプログラム６６には、ＯＳ６４によって規定された関数（例えば、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”）が定義されている。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”と、第２ポインタとを引数として、第１関数を呼び出す。第２ポインタは、第１領域６２Ｃに記憶された情報が記憶されたメモリ領域の先頭アドレス、或いは第１領域６２Ｃから第２領域６２Ｄにコピーされた情報が記憶されたメモリ領域の先頭アドレスを示す。そして、ドライバプログラム６６は、第２ポインタで示されるメモリ領域に記憶された情報を、第１領域６２Ｃに記憶された情報として、読み出し或いは編集することができる。本実施形態において、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”及び第２ポインタを引数として指定して第１関数が実行されることを、第１領域６２Ｃに記憶された情報の参照を許可する参照指示と表記することがある。
【００３９】
第１領域６２Ｃは、例えば図２（Ｂ）に示されるように、条件情報を記憶している。条件情報は、プリンタ１０に実行させるプリント動作の実行条件を示すための情報である。本実施形態に係る条件情報は、サイズ情報と、色情報、トレイ情報と、シート情報と、余白情報と、セキュアフラグと、認証情報とを含む。但し、条件情報の具体例は、図２（Ｂ）に示される例に限定されない。
【００４０】
条件情報は、ドライバプログラム６６がインストールされたタイミングで第１領域６２Ｃに記憶される。また、ドライバプログラム６６は、第１領域６２Ｃに記憶された条件情報をユーザの指示に従って変更することができる。より詳細には、ドライバプログラム６６は、ＯＳ６４からの参照指示に従って第１領域６２Ｃから条件情報を読み出し、読み出した条件情報をディスプレイ５３に表示させる。次に、ドライバプログラム６６は、条件情報を変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、第１領域６２Ｃに記憶された条件情報を変更後の条件情報で上書きする。
【００４１】
条件情報は、パブリック情報と、プライベート情報とを含む。パブリック情報は、情報処理端末５０にインストールされた他のプログラム（例えば、編集プログラム６５）も編集可能な情報である。プライベート情報は、情報処理端末５０にインストールされた他のプログラムが編集不能な情報である。換言すれば、プライベート情報は、ドライバプログラム６６によってのみ編集が可能な情報である。図２（Ｂ）の例において、サイズ情報及び色情報はパブリック情報であり、トレイ情報、シート情報、余白情報、セキュアフラグ、及び認証情報はプライベート情報である。
【００４２】
サイズ情報は、プリント動作に用いるシートのサイズ（例えば、“Ａ４”、“Ｂ５”等）を示す。色情報は、プリント動作に用いるインクの数（例えば、“カラー”、“モノクロ”等）を示す。トレイ情報は、プリンタ１０が備える複数の給送トレイのうちの１つ（例えば、“トレイ１”、“トレイ２”等）を示す。シート情報は、プリント動作に用いるシートの種類（例えば、“普通紙”、“光沢紙”等）を示す。余白情報は、プリント動作において、シートの外縁に所定の幅の余白を設けるか否か（例えば、“縁あり”、“縁無し”等）を示す。
【００４３】
セキュアフラグは、所謂セキュアプリントをプリンタ１０に実行させるか否かを示す情報である。セキュアフラグには、セキュアプリントを実行させる指示に対応する第１値“ＯＮ”、或いはセキュアプリントを実行させない指示に対応する第２値“ＯＦＦ”が設定される。認証情報は、ユーザによって指定されたＰＩＮである。認証情報には、セキュアフラグに第１値“ＯＮ”が設定される場合にのみ、有効な値が設定される。
【００４４】
セキュアプリントとは、有効な認証情報の入力をトリガとして開始されるプリント動作を指す。すなわち、プリンタ１０は、セキュアプリントの実行を指示するプリント指示情報を受信したことに応じて直ちにプリント動作を開始せず、入力Ｉ／Ｆ２４を通じて認証情報の入力を受け付けたことに応じてプリント動作を開始する。すなわち、セキュアフラグ及び認証情報は、プリント指示情報を受信したプリンタ１０に、プリント動作を開始させるトリガを示すためのトリガ情報の一例である。
【００４５】
なお、パブリック情報のデータ構造はＯＳ６４によって定義されているが、図２（Ｂ）には代表的な項目のみが図示されている。一方、プライベート情報のデータ構造は、プリンタ１０毎或いはドライバプログラム６６毎に異なってもよい。以下、パブリック情報で示される実行条件を「パブリック条件」と表記し、プライベート情報で示される実行条件を「プライベート条件」と表記することがある。
【００４６】
また、領域６２Ｂは、図３（Ａ）に示されるように、１以上のキュー領域６７Ａ、６７Ｂ、６７Ｃを含む。キュー領域６７Ａ〜６７Ｃは、プリンタ１０Ａ、１０Ｂに送信すべき情報が記憶されるメモリ領域である。キュー領域６７Ａ〜６７Ｃは、プリンタ１０Ａ、１０Ｂを特定する所謂プリンタポートに対応付けられている。すなわち、キュー領域６７Ａ、６７Ｂには、プリンタ１０Ａに送信すべき情報が記憶される。また、キュー領域６７Ｃには、プリンタ１０Ｂに送信すべき情報が記憶される。また、ドライバプログラム６６には、例えば、情報を記憶させるべきキュー領域６７Ａ〜６７Ｃが、関数の引数としてＯＳ６４から指定される。以下、ドライバプログラム６６に対して指定されたキュー領域６７Ａ〜６７Ｃを、「指定キュー」と表記することがある。
【００４７】
キュー領域６７Ａ〜６７Ｃには、各種動作の実行をプリンタ１０Ａ、１０Ｂに指示するための情報が記憶される。より詳細には、キュー領域６７Ａ〜６７Ｃには、図３（Ｂ）に示されるプリント指示情報、図３（Ｃ）に示される準備指示情報、及び不図示のステータス送信指示情報等が記憶される。プリント指示情報は、プリント動作の実行を指示するための情報であって、給送指示情報、頭出し指示情報、搬送指示情報、吐出指示情報、及び排出指示情報等を含む。準備指示情報は、プリント前動作の実行を指示するための情報である。不図示のステータス送信指示情報は、プリンタ１０Ａ、１０Ｂの状態を示すステータス情報の送信を指示するための情報である。但し、キュー領域６７Ａ〜６７Ｃに記憶される情報の具体例は、これらに限定されない。
【００４８】
キュー領域６７Ａは、ＯＳ６４が通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに送信する情報が、送信順を特定して記憶される領域である。換言すれば、ＯＳ６４は、キュー領域６７Ａに指示情報が記憶されているか否かを所定のタイミングでチェックする。そして、ＯＳ６４は、キュー領域６７Ａに指示情報が記憶されていると判断したことに応じて、当該指示情報を予め定められた送信順序で、通信Ｉ／Ｆ５５を通じてプリンタ１０に送信し、送信した指示情報をキュー領域６７Ａから削除する。キュー領域６７Ｂ、６７Ｃについても同様である。
【００４９】
より詳細には、キュー領域６７Ａに記憶される指示情報には、図３（Ｂ）及び図３（Ｃ）に示されるように、ジョブＩＤが付加される。ジョブＩＤは、キュー領域６７Ａ内において、連続して送信すべき指示情報を特定するための情報である。すなわち、複数の指示情報に同一のジョブＩＤが付加される場合がある。ＯＳ６４は、同一のジョブＩＤが付加された複数の指示情報を、キュー領域６７Ａに記憶された順に送信する。また、ＯＳ６４は、異なるジョブＩＤが付加された指示情報を、当該ジョブＩＤの生成順に送信する。
【００５０】
ＯＳ６４は、例えば図３（Ｂ）に示されるキュー領域６７Ａにおいて、まず、ジョブＩＤ“コンテンツデータＡ”が付加された搬送指示情報、吐出指示情報、及び排出指示情報をこの順に送信する。次に、ＯＳ６４は、ジョブＩＤ“コンテンツデータＢ”が付加された給送指示情報、及び頭出し指示情報をこの順に送信する。このとき、ジョブＩＤ“コンテンツデータＢ”が付加された給送指示情報が、ジョブＩＤ“コンテンツデータＡ”が付加された排出指示情報より先にキュー領域６７Ａに書き込まれていたとしても、排出指示情報が先に送信される。すなわち、同一のジョブＩＤが付加された複数の指示情報が書き込み順に連続して送信される。
【００５１】
［システムの動作］
図４〜図８を参照して、本実施形態に係るシステムの動作を説明する。
【００５２】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ６１による処理は、ＯＳ６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００５３】
なお、図４〜図８、特に図５及び図６には、本発明において特に重要な処理を図示し、各処理の間に実行される他の処理の図示を省略している。より詳細には、ＯＳ６４は、図５及び図６に図示されている関数の他に、不図示の関数を呼び出してもよい。また、以下の説明では、各関数の呼び出し時に指定される引数のうち、代表的な引数のみを説明しているが、他の引数が指定されていてもよい。さらに、以下の説明では、呼び出された各関数に定義された処理のうち、本発明において特に重要な処理を説明し、それ以外の処理の説明を省略している場合がある。
【００５４】
まず、情報処理端末５０の編集プログラム６５は、図９（Ａ）に示される編集画面をディスプレイ５３に表示させる。編集画面は、読出指示アイコン１１１と、記憶指示アイコン１１２と、プリント指示アイコン１１３と、編集画像１１４とを含む。そして、編集プログラム６５は、編集画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。
【００５５】
読出指示アイコン１１１は、領域６２Ｂに記憶されたコンテンツデータを読み出す指示に対応する。記憶指示アイコン１１２は、編集画像１１４を示すコンテンツデータを領域６２Ｂに記憶させる指示に対応する。プリント指示アイコン１１３は、コンテンツデータに対するプリント動作を実行させる指示に対応する。編集画像１１４は、コンテンツデータに含まれるページデータで示される画像である。本実施形態に係る編集プログラム６５は、編集画像１１４の長手方向がディスプレイ５３の上下方向に沿うように、編集画像１１４を編集画面に表示させている。
【００５６】
編集プログラム６５は、読出指示アイコン１１１を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、読み出し可能な形式のコンテンツデータの一覧をディスプレイ５３に表示させる。次に、編集プログラム６５は、入力Ｉ／Ｆ５４を通じて指定されたコンテンツデータを領域６２Ｂから読み出す。そして、編集プログラム６５は、読み出したコンテンツデータで示される編集画像１１４をディスプレイ５３に表示させる。編集プログラム６５は、編集画像１１４の編集を指示するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、コンテンツデータを編集する。編集プログラム６５は、記憶指示アイコン１１２を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、編集されたコンテンツデータを領域６２Ｂに記憶させる。
【００５７】
編集プログラム６５は、プリント指示アイコン１１３を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、編集中のコンテンツデータを識別するデータＩＤを、領域６２Ｂに一時記憶させる。以下、ここで一時記憶されたデータＩＤを「指定データＩＤ」と表記し、指定データＩＤで識別されるコンテンツデータを「指定コンテンツデータ」と表記する。本実施形態では、指定データＩＤ“コンテンツデータＣ”が一時記憶されたものとする。そして、編集プログラム６５は、プリント指示処理を実行する。プリント指示処理は、指定コンテンツデータに対するプリント動作をプリンタ１０に指示するための処理である。図４を参照して、プリント指示処理の詳細を説明する。
【００５８】
［プリント指示処理］
まず、編集プログラム６５は、条件情報を記憶させるのに必要なメモリ領域を領域６２Ｂの第２領域６２Ｄに確保する。また、編集プログラム６５は、確保したメモリ領域の先頭アドレスを示す第１ポインタ“ＤＥＶＭＯＤＥ”を引数として指定して、ＯＳ６４に定義された読出関数を呼び出す。これにより、第１領域６２Ｃに記憶された条件情報が、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に、ＯＳ６４によってコピーされる。以下、第２領域６２Ｄに確保されたメモリ領域に記憶される条件情報を「編集条件情報」と表記する。
【００５９】
次に、編集プログラム６５は、図１０に示される標準設定画面をディスプレイ５３に表示させる（Ｓ１１）。標準設定画面は、プルダウンメニュー１２１と、ラジオボタン１２２、１２３、１２４、１２５と、［ＯＫ］アイコン１２６と、［キャンセル］アイコン１２７とを含む。そして、編集プログラム６５は、標準設定画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１２）。
【００６０】
プルダウンメニュー１２１は、プリント動作を実行させるプリンタ１０を指定する指示に対応する。ラジオボタン１２２、１２３は、サイズ情報に設定され得る設定値“Ａ４”、“Ｂ５”に対応する。ラジオボタン１２４、１２５は、色情報に設定され得る設定値“カラー”、“モノクロ”に対応する。最初に表示される標準設定画面において、ラジオボタン１２２〜１２５の状態は、編集条件情報に設定された設定値に対応する。［ＯＫ］アイコン１２６は、編集条件情報で示される実行条件に従って、指定コンテンツデータに対するプリント動作をプリンタ１０に実行させる指示に対応する。［キャンセル］アイコン１２７は、プリント指示処理を終了させる指示に対応する。
【００６１】
編集プログラム６５は、プルダウンメニュー１２１に対するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、指定されたプリンタ１０を識別するプリンタＩＤ（以下、「指定プリンタＩＤ」と表記する。）を領域６２Ｂに一時記憶させる。本実施形態では、プリンタＩＤ“ＭＦＰ−Ａ”で識別されるプリンタ１０Ａが指定されたものとする。また、編集プログラム６５は、ラジオボタン１２２〜１２５に対するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：設定変更）、指定されたラジオボタン１２２〜１２５に対応する設定値で編集条件情報を更新する（Ｓ１３）。
【００６２】
そして、編集プログラム６５は、当該ユーザ操作を反映させた標準設定画面をディスプレイ５３に表示させる（Ｓ１１）。すなわち、編集プログラム６５は、プリント動作を実行させるプリンタ１０の指定と、編集条件情報に含まれるパブリック情報の変更とを、標準設定画面を通じて受け付けることができる。一方、編集プログラム６５は、編集条件情報に含まれるプライベート情報の変更を受け付けることができない。
【００６３】
編集プログラム６５は、［ＯＫ］アイコン１２６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：［ＯＫ］アイコン）、ＳｔａｒｔＤｏｃ処理を実行する（Ｓ１４）。一方図示は省略するが、編集プログラム６５は、［キャンセル］アイコン１２７の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、プリント指示処理を終了する。ＳｔａｒｔＤｏｃ処理は、プリンタ１０にプリント動作を実行させるための前処理である。図５を参照して、ＳｔａｒｔＤｏｃ処理の詳細を説明する。
【００６４】
［ＳｔａｒｔＤｏｃ処理］
まず、編集プログラム６５は、ＯＳ６４に定義された関数“ＳｔａｒｔＤｏｃ（）”を呼び出す（Ｓ２１）。以下、ステップＳｘｘで呼び出される関数を「関数Ｓｘｘ」と表記することがある。編集プログラム６５は、指定データＩＤ“コンテンツデータＣ”と、指定プリンタＩＤ”ＭＦＰ−Ａ”と、第１ポインタとを、関数Ｓ２１の引数として指定する。ＯＳ６４は、関数Ｓ２１が呼び出されたことに応じて、ドライバプログラム６６に定義された各種関数を所定の順序で呼び出す。また、ドライバプログラム６６は、ＯＳ６４によって呼び出された関数に定義された処理を実行する。これらの処理の詳細は省略する。
【００６５】
関数Ｓ２１が呼び出されたＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ２２）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”と、第２ポインタとを、関数Ｓ２２の引数として指定する。第２ポインタは、例えば、条件情報が記憶されている第１領域６２Ｃの先頭アドレス、或いはＯＳ６４が第１領域６２Ｃから読み出した条件情報が記憶されたメモリ領域の先頭アドレスを示す情報である。
【００６６】
次に、ＵＩモジュール６６Ａは、関数Ｓ２２が呼び出されたことに応じて、第２ポインタで示されるメモリ領域に記憶された条件情報を読み出し、読み出した条件情報を第２領域６２Ｄに記憶させ（Ｓ２３）、関数Ｓ２２を終了する（Ｓ２４）。すなわち、ＵＩモジュール６６Ａは、ステップＳ２３において、第１領域６２Ｃから読み出された条件情報を第２領域６２Ｄに記憶させる。ドライバプログラム６６が実行するステップＳ２２の処理は参照受付処理の一例であり、ステップＳ２３の処理は記憶処理の一例である。
【００６７】
以下、ステップＳ２３で第２領域６２Ｄに記憶された条件情報を「退避条件情報」と表記する。ここで、編集条件情報と退避条件情報とは、プライベート情報は同一であり、パブリック情報は異なる可能性がある。より詳細には、ステップＳ１３で編集条件情報が更新されている場合、編集条件情報と退避条件情報とでパブリック情報は異なる。
【００６８】
また、関数Ｓ２１が呼び出されたＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ２５）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣＤＯＣ”を、関数Ｓ２５の引数として指定する。ステップＳ２５の処理は、ステップＳ２２の処理より後に実行される。次に、関数Ｓ２５が呼び出されたＵＩモジュール６６Ａは、準備指示処理を実行する（Ｓ２６）。準備指示処理は、プリント前動作の実行をプリンタ１０に指示する処理である。ＵＩモジュール６６Ａが実行するステップＳ２５の処理は、ＯＳ６４からプリント指示を受け付けるプリント指示受付処理の一例である。図７（Ａ）を参照して、準備指示処理の詳細を説明する。
【００６９】
なお、プリンタ１０に対するプリント前動作の実行指示は、プリンタ１０にプリント指示情報を送信することが確実な場合に行われることが望ましい。そして、標準設定画面の［ＯＫ］アイコン１２６が指定された後は、入力Ｉ／Ｆ５４を通じたユーザの指示を必要とせずに、プリンタ１０にプリント指示情報が送信される。すなわち、［ＯＫ］アイコン１２６の指定は、プリンタ１０にプリント動作の実行を指示するユーザの意思表示と捉えることができる。そこで、ＵＩモジュール６６Ａは、標準設定画面の［ＯＫ］アイコン１２６が指定された後に、準備指示処理を実行するのが望ましい。
【００７０】
より詳細には、編集プログラム６５は、標準設定画面の［ＯＫ］アイコン１２６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：ＯＫアイコン）、関数Ｓ２１を呼び出す。ＯＳ６４は、関数Ｓ２１が呼び出された場合以外のタイミング（例えば、プリンタドライバの情報を参照するタイミング）でも、ＵＩモジュール６６Ａに定義された関数を呼び出すことがある。しかしながら、ＯＳ６４が関数Ｓ２５を呼び出すのは、関数Ｓ２１が呼び出された場合のみである。そこで、本実施形態に係るＵＩモジュール６６Ａは、関数Ｓ２１が呼び出されたことに応じて、準備指示処理を実行する。
【００７１】
［準備指示処理］
まず、ＵＩモジュール６６Ａは、プリンタ１０Ａに対する指定キューであるキュー領域６７Ａに特定指示情報が記憶されているか否かを判断する（Ｓ６１）。指定キューは、ＯＳ６４によって呼び出される関数の引数として指定される。また、ＵＩモジュール６６Ａは、プリンタ１０Ａに送信すべき情報が書き込まれる他のキュー領域６７Ｂに特定指示情報が記憶されているか否かを判断する（Ｓ６２）。なお、ＵＩモジュール６６Ａは、ドライバプログラム６６以外のプログラムがキュー領域６７Ａ、６７Ｂに書き込んだ情報も、ステップＳ６１、Ｓ６２の判断の対象とする。
【００７２】
特定指示情報とは、プリンタ１０の動作部２０を動作させる指示を示す指示情報である。本実施形態に係る特定指示情報は、準備指示情報或いはプリント指示情報を含み、ステータス送信指示情報を含まない。すなわち、特定指示情報は、後述するステップＳ４５、Ｓ４８、Ｓ５３、Ｓ６４の処理が、ドライバプログラム６６或いは他のプログラムによって実行されることによって、キュー領域６７Ａ〜６７Ｃに書き込まれる。
【００７３】
次に、ＵＩモジュール６６Ａは、キュー領域６７Ａ、６７Ｂの両方に特定指示情報が記憶されていないと判断したことに応じて（Ｓ６１：Ｎｏ＆Ｓ６２：Ｎｏ）、第２領域６２Ｄに記憶させた退避条件情報を読み出し、退避条件情報に含まれるセキュアフラグを判断する（Ｓ６３）。そして、ＵＩモジュール６６Ａは、セキュアフラグに第２値“ＯＦＦ”が設定されていると判断したことに応じて（Ｓ６３：ＯＦＦ）、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに準備指示情報を送信する（Ｓ６４）。ステップＳ６４の処理は、準備指示処理の一例である。
【００７４】
より詳細には、ＵＩモジュール６６Ａは、ステップＳ６４において、生成識別情報の一例であるジョブＩＤ“＿＿準備＿＿”を生成する。なお、ＵＩモジュール６６Ａは、指定データＩＤとなり得る文字列と重複しないように、ジョブＩＤを生成する。指定データＩＤは、後述するステップＳ２９において、ジョブＩＤとして用いられるからである。そして、ＵＩモジュール６６Ａは、図３（Ｃ）に示されるように、生成したジョブＩＤ“＿＿準備＿＿”を付加した準備指示情報を、キュー領域６７Ａに記憶させる（Ｓ６４）。キュー領域６７Ａに記憶された準備指示情報は、ＯＳ６４によってプリンタ１０Ａに送信される。
【００７５】
一方、ＵＩモジュール６６Ａは、キュー領域６７Ａ、６７Ｂの少なくとも一方に特定指示情報が記憶されていると判断したことに応じて（Ｓ６１：Ｙｅｓ／Ｓ６２：Ｙｅｓ）、或いはセキュアフラグに第１値“ＯＮ”が設定されていると判断したことに応じて（Ｓ６３：ＯＮ）、ステップＳ６４の処理を実行することなく、準備指示処理を終了する。すなわち、ＵＩモジュール６６Ａは、ステップＳ６１〜Ｓ６３において、プリント前動作の開始を準備指示情報によって指示するか否かを判断する。換言すれば、ＵＩモジュール６６Ａは、後述するプリント指示情報に先立って、準備指示情報を送信するか否かを判断する。ステップＳ６１〜Ｓ６３の処理は、第１判断処理及び要否判断処理の一例である。
【００７６】
図５に戻って、ＵＩモジュール６６Ａは、関数Ｓ２５を終了する（Ｓ２７）。次に、ＯＳ６４は、関数Ｓ２５が終了したことに応じて（Ｓ２７）、レンダリングモジュール６６Ｂに定義された第２関数“ＤｒｖＳｔａｒｔＤｏｃ（）”を呼び出す（Ｓ２８）。ＯＳ６４は、関数Ｓ２１の引数として指定された指定データＩＤ“コンテンツデータＣ”及び第１ポインタを、関数Ｓ２８の引数として指定する。
【００７７】
次に、レンダリングモジュール６６Ｂは、関数Ｓ２８が呼び出されたことに応じて、引数として指定された指定データＩＤ“コンテンツデータＣ”をジョブＩＤとするプリントジョブを、指定キューであるキュー領域６７Ａに生成して（Ｓ２９）、関数Ｓ２８を終了する（Ｓ３０）。後述するステップＳ４５、Ｓ４８、Ｓ５３でキュー領域６７Ａに書き込まれる各種指示情報には、ジョブＩＤ“コンテンツデータＣ”が付加される。但し、ジョブＩＤ“コンテンツデータＣ”で識別されるプリントジョブは、この時点では指示情報を含んでいない。関数Ｓ２８の引数として指定される指定データＩＤは、ＯＳ６４によって指定された指定識別情報の一例である。
【００７８】
次に、ＯＳ６４は、関数Ｓ２８が終了したことに応じて（Ｓ３０）、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ３１）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣＰＯＳＴ”を、関数Ｓ３１の引数として指定する。次に、ＵＩモジュール６６Ａは、関数Ｓ３１が呼び出されたことに応じて、指示解除処理を実行する（Ｓ３２）。図７（Ｂ）を参照して、指示解除処理の詳細を説明する。
【００７９】
ＵＩモジュール６６Ａは、ステップＳ６４で一時記憶させたジョブＩＤ“＿＿準備＿＿”が付加された指示情報がキュー領域６７Ａに記憶されているか否かを判断する（Ｓ６６）。ジョブＩＤ“＿＿準備＿＿”が付加された指示情報とは、すなわち、準備指示情報を指す。また、ステップＳ６６でＹｅｓと判断される場合とは、例えば、通信Ｉ／Ｆ５５が通信ネットワークに接続されていない場合、プリンタ１０Ａの電源がＯＦＦされている場合などである。
【００８０】
そして、ＵＩモジュール６６Ａは、キュー領域６７Ａに準備指示情報が記憶されていると判断したことに応じて（Ｓ６６：Ｙｅｓ）、当該準備指示情報をキュー領域６７Ａから削除する（Ｓ６７）。一方、ＵＩモジュール６６Ａは、キュー領域６７Ａに準備指示情報が記憶されていないと判断したことに応じて（Ｓ６６：Ｎｏ）、ステップＳ６７の処理を実行することなく、指示解除処理を終了する。ステップＳ６６の処理は第２判断処理の一例であり、ステップＳ６７の処理は削除処理の一例である。
【００８１】
図５に戻って、ＵＩモジュール６６Ａは、関数Ｓ３１を終了する（Ｓ３３）。また、ＯＳ６４は、関数Ｓ３１が終了したことに応じて（Ｓ３３）、関数Ｓ２１を終了する（Ｓ３４）。これにより、ＳｔａｒｔＤｏｃ処理が終了される。関数Ｓ２１の次に図４に戻って、編集プログラム６５は、ＳｔａｒｔＰａｇｅ処理を実行する（Ｓ１５）。ＳｔａｒｔＰａｇｅ処理は、プリント指示情報を生成する処理である。ＳｔａｒｔＰａｇｅ処理は、指定コンテンツデータに含まれるページデータ毎に実行される。ＳｔａｒｔＰａｇｅ処理の処理対象となるページデータは、例えば、編集プログラム６５によって関数の引数として指定される。図６を参照して、ＳｔａｒｔＰａｇｅ処理の詳細を説明する。
【００８２】
［ＳｔａｒｔＰａｇｅ処理］
編集プログラム６５は、ＯＳ６４に定義された関数“ＳｔａｒｔＰａｇｅ（）”を呼び出す（Ｓ４１）。次に、ＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ４２）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＰＡＧＥ”を、関数Ｓ４２の引数として指定する。次に、ＵＩモジュール６６Ａは、所定の処理を実行して関数Ｓ４２を終了する（Ｓ４３）。
【００８３】
次に、ＯＳ６４は、関数Ｓ４２が終了したことに応じて（Ｓ４３）、レンダリングモジュール６６Ｂに定義された関数“ＤｒｖＳｔａｒｔＰａｇｅ（）”を呼び出す（Ｓ４４）。次に、レンダリングモジュール６６Ｂは、関数Ｓ４４が呼び出されたことに応じて、ヘッダ指示情報を生成し、生成したヘッダ指示情報をキュー領域６７Ａに記憶させる（Ｓ４５）。ヘッダ指示情報は、１枚のシートに画像を記録する一連の動作において、シートに画像を記録する前に実行すべき動作を指示するためのプリント指示情報である。本実施形態に係るヘッダ指示情報は、給送指示情報及び頭出し指示情報である。
【００８４】
そして、レンダリングモジュール６６Ｂは、関数Ｓ４４を終了する（Ｓ４６）。次に、ＯＳ６４は、関数Ｓ４４が終了したことに応じて（Ｓ４６）、関数Ｓ４１を終了する（Ｓ４７）。次に、編集プログラム６５は、関数Ｓ４１が終了したことに応じて（Ｓ４７）、ＯＳ６４に定義された描画関数を呼び出す。また、ＯＳ６４は、編集プログラム６５によって描画関数が呼び出されたことに応じて、レンダリングモジュール６６Ｂに定義された描画関数を呼び出す。
【００８５】
そして、複数の描画関数が所定の順序で実行されることによって、レンダリングモジュール６６Ｂは、ページデータからプリントデータを生成する。プリントデータは、例えば、ページデータをラスタライズしたラスタデータである。また、レンダリングモジュール６６Ｂは、プリントデータに対するプリント動作を実行させるためのプリント指示情報を生成し、生成したプリント指示情報をキュー領域６７Ａに記憶させる（Ｓ４８）。ステップＳ４８では、後述するように、吐出指示情報及び搬送指示情報が生成される。ステップＳ４８においてプリントデータを生成する処理は、生成処理の一例である。以下、レンダリングモジュール６６Ｂがプリント指示情報を生成する処理の詳細を説明する。
【００８６】
まず、レンダリングモジュール６６Ｂは、ステップＳ２８以降の所定のタイミングにおいて、ラスタライズの対象として受け渡されるデータの単位を示す単位情報を、ＯＳ６４に通知する。単位情報には、例えば、ページデータの単位での受け渡しを指示する“ページ”、或いはバンドデータの単位での受け渡しを指示する“バンド”が設定される。バンドデータは、ページデータの一部のデータである。より詳細には、ページデータは、長手方向に隣接する複数のバンドデータに区画される。また、バンドデータで示される画像は、後述するパスデータで示される画像より面積が大きい。
【００８７】
レンダリングモジュール６６Ｂは、例えば、編集条件情報のサイズ情報に特定サイズ（例えば、Ａ４）が設定されていることに応じて、単位情報“ページ”をＯＳ６４に通知する。特定サイズのシートは、プリンタ１０の搬送部２１によって、当該シートの短手方向を搬送方向に一致させた状態で搬送される。また、特定サイズのシートには、当該シートの長手方向に沿って移動するプリンタ１０の吐出部２２によって、画像が記録される。
【００８８】
一方、レンダリングモジュール６６Ｂは、例えば、編集条件情報のサイズ情報に非特定サイズ（例えば、Ａ４以外）が設定されていることに応じて、単位情報“バンド”をＯＳ６４に通知する。非特定サイズのシートは、プリンタ１０の搬送部２１によって、当該シートの長手方向を搬送方向に一致させた状態で搬送される。また、非特定サイズのシートには、当該シートの短手方向に沿って移動するプリンタ１０の吐出部２２によって、画像が記録される。
【００８９】
なお、単位情報は、例えば、ＯＳ６４によって呼び出された関数の戻り値として通知されてもよい。また、特定サイズは、例えば、プリンタ１０Ａ、１０Ｂ毎に異なっていてもよい。プリンタ１０Ａ、１０Ｂ毎の特定サイズは、ドライバプログラム６６のソースコードに記述されていてもよいし、ドライバプログラム６６がプリンタ１０Ａ、１０Ｂに問い合わせてもよい。
【００９０】
単位情報“ページ”を取得したＯＳ６４は、ステップＳ４８において、ページデータを、レンダリングモジュール６６Ｂに引き渡す。レンダリングモジュール６６Ｂは、ＯＳ６４から引き渡されたページデータ全体をラスタライズしてラスタデータを生成する。次に、レンダリングモジュール６６Ｂは、領域６２Ｂに展開されたラスタデータを、領域６２Ｂ内で９０°回転させる。次に、レンダリングモジュール６６Ｂは、記録領域の１つに記録する画像を示す複数のパスデータを、９０°回転されたラスタデータから抽出する。そして、レンダリングモジュール６６Ｂは、抽出したパスデータそれぞれに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報を順番にキュー領域６７Ａに書き込む。レンダリングモジュール６６Ｂは、パスデータの抽出、吐出指示情報及び搬送指示情報の生成、生成した情報のキュー領域６７Ａへの書き込みを、ページデータに含まれる全てのパスデータに対して連続して実行する。
【００９１】
一方、単位情報“バンド”を取得したＯＳ６４は、ステップＳ４８において、ページデータに含まれる複数のバンドデータのうちの１つを、レンダリングモジュール６６Ｂに引き渡す。レンダリングモジュール６６Ｂは、ＯＳ６４から引き渡されたバンドデータ全体をラスタライズしてラスタデータを生成する。次に、レンダリングモジュール６６Ｂは、ラスタデータに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報をキュー領域６７Ａに書き込む。そして、ページデータを構成する全てのバンドデータに対して、前述の処理が繰り返し実行される。
【００９２】
すなわち、単位情報“ページ”の場合において、最初の吐出指示情報がキュー領域６７Ａに書き込まれるのは、ページデータ全体がラスタデータに変換され、且つ領域６２Ｂ内でラスタデータが９０°回転された後になる。一方、単位情報“バンド”の場合において、最初の吐出指示情報がキュー領域６７Ａに書き込まれるのは、ページデータの一部であるバンドデータ全体がラスタデータに変換された後になる。すなわち、［ＯＫ］アイコン１２６が指定されてから最初の吐出指示情報がキュー領域６７Ａに書き込まれるまでの時間は、単位情報“ページ”の場合が単位情報“バンド”の場合より長くなる。
【００９３】
次に、編集プログラム６５は、指定されたページデータに対するステップＳ４８の処理が終了したことに応じて、ＯＳ６４に定義された関数“ＥｎｄＰａｇｅ（）”を呼び出す（Ｓ４９）。次に、ＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ５０）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＥＮＤＰＡＧＥ”を、関数Ｓ５０の引数として指定する。次に、ＵＩモジュール６６Ａは、所定の処理を実行して関数Ｓ５０を終了する（Ｓ５１）。
【００９４】
次に、ＯＳ６４は、関数Ｓ５０が終了したことに応じて（Ｓ５１）、レンダリングモジュール６６Ｂに定義された関数“ＤｒｖＥｎｄＰａｇｅ（）”を呼び出す（Ｓ５２）。次に、レンダリングモジュール６６Ｂは、関数Ｓ５２が呼び出されたことに応じて、排出指示情報を生成し、生成した排出指示情報をキュー領域６７Ａに記憶させる（Ｓ５３）。
【００９５】
図６に示されるＳｔａｒｔＰａｇｅ処理によってキュー領域６７Ａに書き込まれた複数のプリント指示情報は、ＯＳ６４によって書き込み順にプリンタ１０Ａに送信される。典型的には、ＯＳ６４は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａにこの順で送信する。ステップＳ４５の処理、ステップＳ４８でプリント指示情報をキュー領域６７Ａに記憶させる処理、ステップＳ５３の処理は、通信Ｉ／Ｆ５５を通じてプリンタ１０にプリント指示情報を送信するプリント指示処理の一例である。
【００９６】
そして、レンダリングモジュール６６Ｂは、関数Ｓ５２を終了する（Ｓ５４）。次に、ＯＳ６４は、関数Ｓ５２が終了したことに応じて（Ｓ５４）、関数Ｓ４９を終了する（Ｓ５５）。これにより、ＳｔａｒｔＰａｇｅ処理が終了される。次に図４に戻って、編集プログラム６５は、指定コンテンツデータに含まれる全てのページデータに対してＳｔａｒｔＰａｇｅ処理を実行したか否かを判断する（Ｓ１６）。そして、編集プログラム６５は、ＳｔａｒｔＰａｇｅ処理を実行していないページデータが存在すると判断したことに応じて（Ｓ１６：Ｙｅｓ）、当該ページデータに対するＳｔａｒｔＰａｇｅ処理を実行する（Ｓ１５）。
【００９７】
そして、編集プログラム６５は、全てのページデータに対するＳｔａｒｔＰａｇｅ処理が終了したと判断したことに応じて（Ｓ１６：Ｎｏ）、ＥｎｄＤｏｃ処理を実行する（Ｓ１７）。ＥｎｄＤｏｃ処理は、プリンタ１０にプリント動作を実行させた後の後処理である。ＥｎｄＤｏｃ処理は、ＯＳ６４に定義された関数“ＥｎｄＤｏｃ（）”が編集プログラム６５によって呼び出されたことによって開始される周知の処理なので、詳細の説明は省略する。
【００９８】
［プリント処理］
次に、図８を参照して、プリンタ１０によって実行されるプリント処理を説明する。プリンタ１０は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から準備指示情報或いはプリント指示情報を受信したことに応じて、プリント処理を実行する。以下の各処理は、ＲＯＭ３２に記憶されているプログラムをＣＰＵ３１が読み出して実行してもよいし、制御部３０に搭載されたハードウェア回路によって実現されてもよい。
【００９９】
プリンタ１０の制御部３０は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から準備指示情報を受信する（Ｓ７１：準備指示）。ステップＳ７１で準備指示情報を受信する処理は、準備指示受信処理の一例である。そして、プリンタ１０は、準備指示情報を受信したことに応じて（Ｓ７１：準備指示）、電源部１１が休眠状態か否かを判断する（Ｓ７２）。制御部３０は、例えば、電源部１１の現在の状態を示すフラグ情報をＲＡＭ３３或いはＥＥＰＲＯＭ３４に記憶させておき、当該フラグ情報に基づいてステップＳ７２の判断を行ってもよい。但し、ステップＳ７２の判断の方法は、前述の例に限定されない。
【０１００】
次に、制御部３０は、電源部１１が休眠状態だと判断したことに応じて（Ｓ７２：Ｙｅｓ）、電源部１１を休眠状態から駆動状態に切り替える（Ｓ７３）。より詳細には、制御部３０は、ＨＩＧＨレベルの電源信号を電源部１１に出力する。ステップＳ７３の処理は、切替処理の一例である。一方、制御部３０は、電源部１１が駆動状態だと判断したことに応じて（Ｓ７２：Ｎｏ）、ステップＳ７３の処理をスキップする。ステップＳ７２の処理は状態判断処理の一例であり、ステップＳ７３の処理は切替処理の一例である。
【０１０１】
次に、制御部３０は、準備指示情報を受信したことをディスプレイ２３を通じて報知する（Ｓ７４）。制御部３０は、例えば、ディスプレイ２３のバックライトを所定の時間だけ点灯させればよい。ステップＳ７４の処理は、報知処理の一例である。ディスプレイ２３は、報知部の一例である。但し、報知処理の具体例はこれに限定されず、不図示のＬＥＤランプを点灯させてもよいし、不図示のスピーカーに報知音を出力させてもよい。
【０１０２】
次に、制御部３０は、動作部２０にプリント前動作を実行させる（Ｓ７５）。プリント前動作は、プリント動作で所定品質の画像をシートに記録するために、プリンタ１０が実行すべき動作である。プリント前動作は、例えば、ノズル面を覆うキャップを吐出部２２から離間させるアンキャップ処理、シートが通過する領域外において吐出部２２にインクを吐出させるフラッシング処理、電源部１１の電源電圧を目標電圧に昇圧する昇圧処理等のうちの一部又は全部を含む。ステップＳ７５の処理は、プリント前処理の一例である。
【０１０３】
また、制御部３０は、複数のプリント前動作それぞれに対応するフラグ情報を、ＲＡＭ３３或いはＥＥＰＲＯＭ３４に記憶させておく。全てのフラグ情報には、プリント前処理の開始時点において、プリント前動作が終了していないことに対応する第２値“ＯＦＦ”が設定されている。そして、制御部３０は、プリント前動作の１つが終了したことに応じて、プリント前動作が終了したことに対応する第１値“ＯＮ”を、終了したプリント前動作に対応するフラグ情報に設定する。
【０１０４】
次に、制御部３０は、通信Ｉ／Ｆ２５を通じて情報処理端末５０からプリント指示情報を受信する（Ｓ７１：プリント指示）。すなわち、制御部３０は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信Ｉ／Ｆ２５を通じて情報処理端末５０からこの順に受信する。ステップＳ７１でプリント指示情報を受信する処理は、プリント指示受信処理の一例である。
【０１０５】
給送指示情報は、編集条件情報のトレイ情報で示される給送トレイから搬送部２１にシートを給送させるための情報である。頭出し指示情報は、給送されたシートの最初の記録領域が吐出部２２に対面する位置まで、当該シートを搬送部２１に搬送させるための情報である。吐出指示情報は、吐出部２２に対面されたシートの記録領域に対して画像を記録するために、吐出部２２によるインクの吐出タイミングを示すための情報である。搬送指示情報は、次に画像を記録する記録領域が吐出部２２に対面する位置まで、搬送部２１にシートを搬送させるための情報である。排出指示情報は、画像が記録されたシートを搬送部２１に排出させるための情報である。
【０１０６】
次に、制御部３０は、プリント指示情報に含まれるセキュアフラグの設定値を判断する（Ｓ７６）。次に、制御部３０は、セキュアフラグに第２値“ＯＦＦ”が設定されていると判断したことに応じて（Ｓ７６：ＯＦＦ）、プリント前処理が終了したか否かを判断する（Ｓ７７）。より詳細には、制御部３０は、プリント前動作に対応付けられた全てのフラグ情報に第１値“ＯＮ”が設定されていることに応じて、プリント前処理が終了したと判断する（Ｓ７７：Ｙｅｓ）。一方、制御部３０は、プリント前動作に対応付けられた少なくとも１つのフラグ情報に第２値“ＯＦＦ”が設定されていることに応じて、プリント前処理が終了していないと判断する（Ｓ７７：Ｎｏ）。
【０１０７】
準備指示情報とプリント指示情報との受信間隔は、例えば、ステップＳ４８の処理量、通信ネットワークの状態等によって変動する。すなわち、準備指示情報をトリガにして開始されたプリント前処理は、プリント指示情報を受信した時点で終了していない可能性がある。そこで、制御部３０は、プリント前処理が終了していないと判断したことに応じて（Ｓ７７：Ｎｏ）、プリント前処理が終了するまで後続の処理の実行を待機する。そして、制御部３０は、プリント前処理が終了したと判断したことに応じて（Ｓ７７：Ｙｅｓ）、受信したプリント指示情報に従ったプリント動作を動作部２０に実行させる（Ｓ７８〜Ｓ８２）。ステップＳ７８〜Ｓ８２の処理は、プリント処理の一例である。
【０１０８】
まず、制御部３０は、受信した給送指示情報に従った給送処理と、頭出し指示情報に従った頭出し処理とを実行する（Ｓ７８）。すなわち、制御部３０は、給送指示情報に示される給送トレイに収容されたシートを搬送部２１に給送させる。次に、制御部３０は、給送処理で給送されたシートを、頭出し指示情報に示される位置まで搬送部２１に搬送させる。なお、これらの処理は、プリント前処理で実行されてもよい。
【０１０９】
次に、制御部３０は、受信した吐出指示情報に従った吐出処理を実行する（Ｓ７９）。すなわち、制御部３０は、主走査方向の一方から他方に吐出部２２を移動させると共に、吐出指示情報に示される吐出タイミングで吐出部２２にインクを吐出させる。次に、制御部３０は、シートの全ての記録領域に画像を記録したか否かを判断する（Ｓ８０）。換言すれば、制御部３０は、直近のステップＳ７９で用いた吐出指示情報の次に搬送指示情報及び排出指示情報のどちらを受信したかを判断する。
【０１１０】
次に、制御部３０は、シートの全ての記録領域に画像を記録していないと判断したことに応じて（Ｓ８０：Ｎｏ）、受信した搬送指示情報に従った搬送処理を実行する（Ｓ８１）。すなわち、制御部３０は、搬送指示情報に示される搬送量だけ搬送部２１にシートを搬送させる。制御部３０は、シートの全ての記録領域に画像を記録するまで（Ｓ８０：Ｎｏ）、ステップＳ７９〜Ｓ８１の処理を繰り返し実行する。
【０１１１】
そして、制御部３０は、シートの全ての記録領域に画像を記録したと判断したことに応じて（Ｓ８０：Ｙｅｓ）、受信した排出指示情報に従った排出処理を実行する（Ｓ８２）。すなわち、制御部３０は、画像が記録されたシートを搬送部２１にプリンタ１０の外部へ排出させる。なお、指定コンテンツデータに複数のページデータが含まれる場合、ステップＳ７８〜Ｓ８２の処理が繰り返し実行される。これにより、ステップＳ４８で生成されたプリントデータで示される画像、換言すれば、指定コンテンツデータで示される画像がシートに記録される。
【０１１２】
一方、制御部３０は、セキュアフラグに第１値“ＯＮ”が設定されていると判断したことに応じて（Ｓ７６：ＯＮ）、認証情報の入力を入力Ｉ／Ｆ２４を通じて受け付ける。そして、制御部３０は、入力Ｉ／Ｆ２４を通じて入力された認証情報と、プリント指示情報に含まれる認証情報とが一致するか否かを判断する（Ｓ８３）。次に、制御部３０は、２つの認証情報が一致したと判断したことに応じて（Ｓ８３：Ｙｅｓ）、プリント前処理を実行する（Ｓ８４）。そして、制御部３０は、プリント前処理が終了したことに応じて、ステップＳ７８以降の処理を実行する。一方、制御部３０は、２つの認証情報が不一致と判断したことに応じて（Ｓ８３：Ｎｏ）、ユーザに認証情報を再び入力させる。
【０１１３】
［本実施形態の作用効果］
上記の実施形態によれば、準備指示情報を送信するか否かを関数Ｓ２５が呼び出されたタイミングで判断するので、不要なプリント前動作をプリンタ１０に実行させることがない。すなわち、プリント前動作の実行を適切なタイミングでプリンタ１０に指示することができる。また、準備指示情報に従ってプリンタ１０がプリント前動作を実行している間に、情報処理端末５０でプリントデータが生成されるので、標準設定画面の［ＯＫ］アイコン１２６が指定されてから最初のシートがプリンタから排出されるまでの所要時間であるＦＰＯＴを短縮できる。
【０１１４】
なお、セキュアフラグに第１値“ＯＮ”が設定されている場合、プリンタ１０は、プリント指示情報を受信したことに応じて直ちにプリント動作を開始せず、入力Ｉ／Ｆ２４を通じて認証情報の入力を受け付けたことをトリガとしてプリント動作を開始する。そこで上記の実施形態のように、このような場合には準備指示処理をスキップすることにより、不要なプリント前動作をプリンタ１０に実行させることがない。なお、「プリント動作を開始するトリガ」とは、認証情報の入力に限定されず、例えば、予め設定された日時の到来等であってもよい。
【０１１５】
また、上記の実施形態のように、第１領域６２Ｃに記憶されていた条件情報を第２領域６２Ｄに退避させておくことにより、準備指示情報の送信要否を適切なタイミングで判断することができる。さらに、プライベート情報の１つであるセキュアフラグは、情報処理端末５０にインストールされた他のプログラムによって編集されないので、退避条件情報に基づいて準備指示情報の送信要否を適切なタイミングで判断することができる。
【０１１６】
また、キュー領域に特定指示情報が既に書き込まれている場合、当該特定指示情報に従ってプリンタ１０の動作部２０が動作する。そこで上記の実施形態のように、このような場合には準備指示処理をスキップすることにより、不要なプリント前動作をプリンタ１０に実行させることがない。さらに、指定キューのみならず、プリンタ１０に送信すべき指示情報が書き込まれる全てのキュー領域を確認することによって、不要なプリント前動作の実行をさらに有効に抑制できる。
【０１１７】
一方、準備指示情報とプリント指示情報との送信間隔が短い場合、準備指示情報によってプリント前動作を先行開始させるメリットが小さくなる。そこで上記の実施形態のように、プリントジョブが生成されたにも拘わらず、準備指示情報が未だキュー領域に残っている場合には、準備指示情報をキュー領域から削除することによって、プリンタ１０と情報処理端末５０との通信量を削減することができる。
【０１１８】
また、特定サイズのシートに対してプリンタ１０に画像を記録させる場合、指定コンテンツデータの長手方向及び短手方向を反転させてからプリントデータを生成するので、非特定サイズのシートに対してプリンタ１０に画像を記録させる場合と比較して、生成処理に時間がかかる。そこで上記構成のように、情報処理端末５０による生成処理と、プリンタ１０によるプリント前処理とを並行して実行することにより、ＦＰＯＴを短縮することができる。さらに上記構成のように、情報処理端末５０による生成処理と、プリンタ１０による切替処理とを並行して実行することにより、ＦＰＯＴをさらに短縮することができる。
【０１１９】
また、上記の実施形態によれば、プリンタ１０が準備指示情報を受信したことが報知部を通じて報知される。その結果、プリント動作の実行を指示したユーザに、プリンタ１０が動作を開始したことを認識させることができる。
【０１２０】
また、上記の実施形態のプリンタ１０及び情報処理端末５０において、ＲＯＭ３２或いはメモリ６２に記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１２１】
さらに、本発明は、プリンタ１０及び情報処理端末５０として実現できるだけでなく、プリンタ１０及び情報処理端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じてプリンタ１０及び情報処理端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１２２】
１０・・・プリンタ
２３，５３・・・ディスプレイ
２４，５４・・・入力Ｉ／Ｆ
２５，５５・・・通信Ｉ／Ｆ
３０・・・制御部
３１，６１・・・ＣＰＵ
３２・・・ＲＯＭ
５０・・・情報処理端末
６２・・・メモリ
６６・・・ドライバプログラム
【図１】
2020061170.tif 000003
【図２】
2020061170.tif 000004
【図３】
2020061170.tif 000005
【図４】
2020061170.tif 000006
【図５】
2020061170.tif 000007
【図６】
2020061170.tif 000008
【図７】
2020061170.tif 000009
【図８】
2020061170.tif 000010
【図９】
2020061170.tif 000011
【図１０】
2020061170.tif 000012
【手続補正書】
【提出日】令和1年12月24日(2019.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザインタフェースと、プリンタと通信可能な通信インタフェースと、メモリとを備えるコンピュータによって読み取り可能なプログラムであって、
前記ユーザインタフェースを通じて入力されたプリント指示を受け付ける指示受付処理であって、前記プリント指示は、前記プリンタにプリント動作の実行させる指示である、指示受付処理と、
前記プリント指示を受け付けた場合に、前記メモリに記憶された条件情報が第１条件を満たすか否かを判断する判断処理であって、前記条件情報は前記プリント動作を実行するための実行条件を示す、判断処理と、
前記判断処理で前記条件情報が前記第１条件を満たすと判断された場合に、プリント前動作の開始を指示する準備指示を、前記通信インタフェースに出力する準備指示処理であって、前記プリント前動作は、前記プリント動作の前に前記プリンタによって実行される前記プリント動作の準備動作である、準備指示処理と、
前記準備指示処理を実行した後、又は前記判断処理で前記実行条件が前記第１条件を満たさないと判断された場合に、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するプリント指示を、前記通信インタフェースに出力するプリント指示処理と、を前記コンピュータに実行させる、プログラム。
【請求項２】
前記第１条件は、前記プリンタが前記プリント指示を受信し且つ特定情報を受け付けたことに応じて前記プリント動作を開始することを示すトリガ情報を前記条件情報が含んでいることである、請求項１に記載のプログラム。
【請求項３】
前記条件情報は、トリガ情報を含むことが可能であり、前記トリガ情報は、前記プリント指示を受信した前記プリンタに、前記プリント動作を開始させるトリガを示すための情報であり、
前記判断処理で、前記条件情報に前記トリガ情報が含まれているか否かを判断し、
前記条件情報に前記トリガ情報が含まれていると前記判断処理で判断された場合に、前記準備指示処理を実行し、
前記条件情報に前記トリガ情報が含まれていないと前記判断処理で判断された場合に、前記準備指示処理を実行せずに前記生成処理を実行する請求項１又は２に記載のプログラム。
【請求項４】
前記条件情報は、前記メモリの第１領域に記憶されており、前記第１領域は、参照を許可する参照指示を前記コンピュータのＯＳから受け付けた場合にのみ、記憶された情報を参照可能な領域であり、
前記参照指示を前記ＯＳから受け付ける参照受付処理と、
前記参照受付処理で前記参照指示を受け付けたことに応じて、前記第１領域から読み出された前記条件情報を前記メモリの第２領域に記憶させる記憶処理とを、前記指示受付処理に先立って前記コンピュータに実行させ、前記第２領域は、前記参照指示を受け付けなくても、記憶された情報を参照可能な領域であり、
前記プログラムは、前記判断処理において、前記第２領域に記憶されている前記条件情報に前記トリガ情報が含まれているか否かを判断する請求項２又は３のいずれかに記載のプログラム。
【請求項５】
前記条件情報は、前記コンピュータにインストールされた他のプログラムも編集可能なパブリック情報と、前記プログラムのみが編集可能なプライベート情報とを含み、
前記トリガ情報は、前記プライベート情報である請求項２から４のいずれかに記載のプログラム。
【請求項６】
ユーザインタフェースと、プリンタと通信可能な通信インタフェースと、前記プリンタへの送信待ち情報を記憶可能なメモリとを備えるコンピュータによって読み取り可能なプログラムであって、
前記ユーザインタフェースを通じて入力されたプリント指示を受け付ける指示受付処理であって、前記プリント指示は、前記プリンタにプリント動作の実行させる指示である、指示受付処理と、
前記プリント指示を受け付けた場合に、前記送信待ち情報が前記メモリに記憶されているか否かを判断する第１判断処理と、
前記第１判断処理で前記送信待ち情報が前記メモリに記憶されていないと判断された場合に、プリント前動作の開始を指示する準備指示を、前記通信インタフェースに出力する準備指示処理であって、前記プリント前動作は、前記プリント動作の前に前記プリンタによって実行される前記プリント動作の準備動作である、準備指示処理と、
前記準備指示処理を実行した後、又は前記第１判断処理で前記送信待ち情報が前記メモリに記憶されていると判断された場合に、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するプリント指示を、前記通信インタフェースに出力するプリント指示処理と、を前記コンピュータに実行させる、プログラム。
【請求項７】
前記メモリは、前記送信待ち情報を記憶可能な複数のキュー領域を有しており、
前記第１判断処理において、前記複数のキュー領域の全てに前記送信待ち情報が記憶されているか否かを判断し、
前記複数のキュー領域の全てに前記送信待ち情報が記憶されていないと前記第１判断処理で判断された場合に、前記準備指示処理を実行し、
前記複数のキュー領域の全てに前記送信待ち情報が記憶されていると前記第１判断処理で判断された場合に、前記準備指示処理を実行せずに前記生成処理を実行する、請求項６に記載のプログラム。
【請求項８】
前記メモリは、前記送信待ち情報を記憶可能なキュー領域を有しており、
前記送信待ち情報は、前記プリント指示と、前記プリント指示以外の情報とを含み、
前記第１判断処理において、前記プリント指示以外の情報のみが前記キュー領域に記憶されているか否かを判断し、
前記プリント指示以外の情報のみが前記キュー領域に記憶されていると前記第１判断処理で判断された場合に、前記準備指示処理を実行し、
前記プリント指示以外の情報のみが前記キュー領域に記憶されていないと前記第１判断処理で判断された場合に、前記準備指示処理を実行せずに前記生成処理を実行する、請求項６に記載のプログラム。
【請求項９】
前記メモリは、前記送信待ち情報を記憶可能なキュー領域を有しており、
前記準備指示が前記キュー領域に記憶されているか否かを判断する第２判断処理と、
前記準備指示が記憶されていると前記第２判断処理で判断した場合に、前記準備指示を前記キュー領域から削除する削除処理とを、前記プリント指示処理に先立って前記コンピュータに実行させる、請求項６に記載のプログラム。
【請求項１０】
前記プリント指示処理において、前記コンピュータのＯＳによって指定された指定識別情報を付加した前記プリント指示を前記キュー領域に記憶させ、
前記準備指示処理において、前記指定識別情報と重複しないように生成した生成識別情報を付加した前記準備指示を前記キュー領域に記憶させ、
前記削除処理において、前記生成識別情報が付加された情報を前記キュー領域から削除する請求項９に記載のプログラム。
【請求項１１】
ユーザインタフェースと、第１通信インタフェースと、メモリとを備えるコンピュータによって読み取り可能なプログラムと、プリンタとのプリンタセットであって、
前記第１通信インタフェースは、前記プリンタと通信可能であり、
前記プログラムは、
前記ユーザインタフェースを通じて入力されたプリント指示を受け付ける指示受付処理であって、前記プリント指示は、前記プリンタにプリント動作の実行させる指示である、指示受付処理と、
前記プリント指示を受け付けた場合に、前記メモリに記憶された条件情報が第１条件を満たすか否かを判断する判断処理であって、前記条件情報は、前記プリント動作を実行するための実行条件を示す判断処理と、
前記判断処理で前記条件情報が前記第１条件を満たすと判断された場合に、プリント前動作の開始を指示する準備指示を、前記第１通信インタフェースに出力する準備指示処理であって、前記プリント前動作は、前記プリント動作の前に前記プリンタによって実行される前記プリント動作の準備動作である、準備指示処理と、
前記準備指示処理を実行した後、又は前記判断処理で前記実行条件が前記第１条件を満たさないと判断された場合に、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するプリント指示を、前記第１通信インタフェースに出力するプリント指示処理と、を前記コンピュータに実行させ、
前記プリンタは、
前記プリント前動作及び前記プリント動作を実行する動作部と、
第２通信インタフェースと、
制御部とを備えており、
前記制御部は、
前記第２通信インタフェースを通じて前記コンピュータから前記準備指示を受信する準備指示受信処理と、
前記準備指示受信処理で前記準備指示を受信したことに応じて、前記動作部に前記プリント前動作を実行させるプリント前処理と、
前記第２通信インタフェースを通じて前記コンピュータから前記プリント指示を受信するプリント指示受信処理と、
前記プリント前処理が終了したことに応じて、前記プリント指示受信処理で受信した前記プリント指示に従った前記プリント動作を前記動作部に実行させるプリント処理とを実行する、プリンタセット。
【請求項１２】
ユーザインタフェースと、第１通信インタフェースと、メモリとを備えるコンピュータによって読み取り可能なプログラムと、プリンタとのプリンタセットであって、
前記第１通信インタフェースは、前記プリンタと通信可能であり、
前記メモリは、前記プリンタへの送信待ち情報を記憶可能であり、
前記プログラムは、
前記ユーザインタフェースを通じて入力されたプリント指示を受け付ける指示受付処理であって、前記プリント指示は、前記プリンタにプリント動作の実行させる指示である、指示受付処理と、
前記プリント指示を受け付けた場合に、前記送信待ち情報が前記メモリに記憶されているか否かを判断する第１判断処理と、
前記第１判断処理で前記送信待ち情報が前記メモリに記憶されていないと判断された場合に、プリント前動作の開始を指示する準備指示を、前記第１通信インタフェースに出力する準備指示処理であって、前記プリント前動作は、前記プリント動作の前に前記プリンタによって実行される前記プリント動作の準備動作である、準備指示処理と、
前記準備指示処理を実行した後、又は前記第１判断処理で前記送信待ち情報が前記メモリに記憶されていると判断された場合に、前記プリント動作の対象となるプリントデータを生成する生成処理と、
前記生成処理で生成した前記プリントデータに対する前記プリント動作の実行を指示するプリント指示を、前記第１通信インタフェースに出力するプリント指示処理と、を前記コンピュータに実行させ、
前記プリンタは、
前記プリント前動作及び前記プリント動作を実行する動作部と、
第２通信インタフェースと、
制御部とを備えており、
前記制御部は、
前記第２通信インタフェースを通じて前記コンピュータから前記準備指示を受信する準備指示受信処理と、
前記準備指示受信処理で前記準備指示を受信したことに応じて、前記動作部に前記プリント前動作を実行させるプリント前処理と、
前記第２通信インタフェースを通じて前記コンピュータから前記プリント指示を受信するプリント指示受信処理と、
前記プリント前処理が終了したことに応じて、前記プリント指示受信処理で受信した前記プリント指示に従った前記プリント動作を前記動作部に実行させるプリント処理とを実行する、プリンタセット。