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