(57)【特許請求の範囲】
【請求項１】
印刷指示を受信する受信手段と、
受信手段によって印刷指示が受信された時刻である印刷指示受信時刻と印刷データとが対応づけられている組合せデータを記憶する組合せデータ記憶手段と、
印刷データを印刷する印刷手段と、
キャンセル指示を入力するキャンセル指示入力手段と、
キャンセル指示の入力時刻より前の印刷指示受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化する無効化手段と
を備えるプリンタ。
【請求項２】
印刷データを受信し、当該印刷データが受信された時刻である印刷データ受信時刻と当該印刷データとが対応づけられている新たな組合せデータを作成し、当該印刷データを前記印刷手段に印刷させる処理を実行するタスク実行手段をさらに備え、
前記キャンセル指示入力手段は、第１キャンセル指示と第２キャンセル指示とを含む複数種類のキャンセル指示のいずれかを入力することが可能であり、
前記無効化手段は、
（１）前記キャンセル指示入力手段に第１キャンセル指示が入力された場合に、その第１キャンセル指示の入力時刻より前の印刷指示受信時刻に対応づけられている印刷データの前記印刷手段による印刷を無効化し、
（２）前記キャンセル指示入力手段に第２キャンセル指示が入力された場合に、その第２キャンセル指示の入力時刻より前の印刷データ受信時刻に対応づけられている印刷データの前記印刷手段による印刷を無効化する
ことを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記第１キャンセル指示は、すべての印刷データの印刷をキャンセルする指示であり、前記第２キャンセル指示は、前記印刷手段により印刷中の印刷データの印刷をキャンセルする指示であることを特徴とする請求項２に記載のプリンタ。
【請求項４】
前記受信手段は、印刷指示とともに時刻に関する情報も受信し、
前記組合せデータ記憶手段によって記憶される印刷指示受信時刻は、前記受信手段によって印刷指示とともに受信された時刻に基づく時刻であることを特徴とする請求項１から３のいずれかに記載のプリンタ。
【請求項５】
前記受信手段によって印刷指示とともに受信された時刻を、当該印刷指示の送信元の外部装置とプリンタ自身との間の時刻差に基づいて補正する補正手段をさらに備え、
前記組合せデータ記憶手段によって記憶される印刷指示受信時刻は、前記補正手段による補正後の時刻であることを特徴とする請求項４に記載のプリンタ。
【請求項６】
外部装置のデータ送信時刻に関する時刻情報を受信する時刻情報受信手段と、
時刻情報受信手段によって時刻情報が受信された時刻を検出する受信時刻検出手段と、
時刻情報受信手段によって受信された時刻情報に示される時刻と、受信時刻検出手段によって検出された時刻との時刻差を算出する時刻差算出手段とをさらに備え、
前記補正手段は、前記受信手段によって印刷指示とともに受信された時刻を、時刻差算出手段によって算出された時刻差に基づいて補正することを特徴とする請求項５に記載のプリンタ。
【請求項７】
印刷データを受信し、当該印刷データが受信された時刻である印刷データ受信時刻と当該印刷データとが対応づけられている組合せデータを作成し、当該印刷データを印刷手段に印刷させる処理を実行するタスク実行手段と、
キャンセル指示を入力するキャンセル指示入力手段と、
キャンセル指示の入力時刻より前の印刷データ受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化する無効化手段と
を備えるプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷をキャンセルする機能を有するプリンタに関する。
【背景技術】
【０００２】
印刷をキャンセルする機能を有するプリンタが知られている。下記の特許文献１には、このタイプのプリンタが開示されている。このプリンタは、キャンセル指示を入力する入力手段を備える。例えば、印刷指示を出した後に、ユーザが間違いに気付き、印刷をキャンセルしたい場合がある。このような場合、ユーザは、キャンセル指示を入力手段に入力することができる。キャンセル指示が入力されると、プリンタは、印刷処理中の印刷ジョブをキャンセルする（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平２００３−３０３０６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複数の印刷ジョブを蓄積したプリンタに対してキャンセル指示が入力されると、どの印刷ジョブに対するキャンセル指示であるのかが分からない。例えば、キャンセル処理を実行する間に、他の印刷指示が新たに受信され、この新たに受信された印刷指示に基づく印刷ジョブもキャンセルされる可能性がある。即ち、ユーザが意図していないキャンセル処理が行なわれる可能性がある。本明細書では、ユーザが意図していないキャンセル処理が実行されるという事象が発生することを防止することができるプリンタを提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるプリンタは、受信手段と、組合せデータ記憶手段と、印刷手段と、キャンセル指示入力手段と、無効化手段とを備える。受信手段は、印刷指示を受信する。例えば、受信手段は、プリンタと通信可能に接続されている外部装置から送信される印刷指示を受信する。なお、印刷指示は、印刷データ（印刷対象のデータ）を含んでいてもよいし、印刷データを含んでいなくてもよい。後者の場合、印刷指示は、印刷データを保存しているアドレスを含んでいてもよい。この場合、プリンタは、印刷指示に含まれるアドレスから印刷データをダウンロードし、ダウンロードされた印刷データを印刷してもよい。
【０００６】
組合せデータ記憶手段は、受信手段によって印刷指示が受信された時刻である印刷指示受信時刻と印刷データとが対応づけられている組合せデータを記憶する。上述したように、印刷指示には印刷データが含まれていてもよいし、印刷データが含まれておらず印刷データを保存しているアドレスが含まれていてもよい。前者の場合、組合せデータ記憶手段は、印刷指示受信時刻と印刷データとを対応づけて記憶することができる。後者の場合、組合せデータ記憶手段は、印刷指示に含まれるアドレスから印刷データをダウンロードし、印刷指示受信時刻と当該印刷データとを対応づけて記憶してもよい。また、後者の場合、組合せデータ記憶手段は、印刷指示受信時刻とアドレスとを対応づけて記憶してもよい。この場合も、「印刷指示受信時刻と印刷データとを対応づけて記憶する」ことに等しい。なお、上記の「印刷指示受信時刻」は、受信手段によって印刷指示が実際に受信された時刻であってもよいし、後述する「印刷指示とともに受信された時刻に基づく時刻」であってもよい。また、ネットワークアダプタに接続されているプリンタの場合、上記の「受信手段に印刷指示が実際に受信された時刻」は、プリンタ自身によって受信された時刻であってもよいし、ネットワークアダプタによって受信された時刻であってもよい。
【０００７】
印刷手段は、印刷データを印刷する。例えば、印刷指示に印刷データが含まれている場合、印刷手段は、その印刷データを印刷する。また、例えば、印刷指示に印刷データが含まれておらず印刷データを保存しているアドレスが含まれている場合、印刷手段は、そのアドレスから印刷データをダウンロードし、ダウンロードされた印刷データを印刷してもよい。なお、上記の「印刷データ」は、印刷に必要なデータであり、そのデータ形式は特に限定されない。例えば、印刷データは、ベクタデータであってもよいし、ビットマップデータであってもよい。印刷手段は、例えば、ベクタデータをビットマップ化する処理等の印刷準備処理を実行可能であってもよい。なお、プリンタドライバは、外部装置に設けられていてもよいし、プリンタに設けられていてもよい。
【０００８】
キャンセル指示入力手段は、キャンセル指示を入力する。例えば、ユーザがキャンセル指示入力手段を操作することによって、キャンセル指示が入力されてもよい。また、例えば、外部装置においてユーザがキャンセル操作を実行し、それに基づいて外部装置からプリンタにキャンセル指示が出力されてもよい。この場合、キャンセル指示入力手段は、外部装置から出力されたキャンセル指示を入力してもよい。
【０００９】
無効化手段は、キャンセル指示の入力時刻より前の印刷指示受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化する。なお、上記の「無効化」という用語は、印刷データを印刷手段が印刷することを禁止することを意味している。
【００１０】
上述したように、本明細書によって開示されるプリンタでは、印刷指示に対応する印刷指示受信時刻が記憶される（組合せデータ記憶手段に記憶される）。このために、無効化手段は、印刷指示に対応する印刷指示受信時刻とキャンセル指示の入力時刻とを比較することができ、キャンセル指示の入力時刻より前の印刷指示受信時刻に対応する印刷のみを無効化することができる。キャンセル指示の入力時刻より後の印刷指示受信時刻に対応する印刷が無効化されるという事象が発生しない。このプリンタによると、ユーザが意図していないキャンセル処理が実行されるという事象が発生することを防止することができる。
【００１１】
本明細書によって開示される一つの形態のプリンタは、印刷データを受信し、当該印刷データが受信された時刻である印刷データ受信時刻と当該印刷データとが対応づけられている新たな組合せデータを作成し、当該印刷データを前記印刷手段に印刷させる処理を実行するタスク実行手段をさらに備えていてもよい。なお、本明細書によって開示される他の形態のプリンタは、第１タスク実行手段と、第２タスク実行手段とをさらに備えていてもよい。第１タスク実行手段は、印刷データを送信する。例えば、第１タスク実行手段は、印刷データのレイアウト処理、ラスタライズ処理等の印刷準備処理を実行するものであってもよい。第２タスク実行手段は、第１タスク実行手段によって送信された印刷データを受信し、その印刷データが受信された時刻である印刷データ受信時刻とその印刷データとが対応づけられている新たな組合せデータを作成し、上記の印刷データを印刷手段に印刷させる処理を実行する。
【００１２】
例えば、上記のプリンタを使用するユーザにとっては、印刷のキャンセルを指示する際に、印刷中の印刷データの印刷をキャンセルしたい場合と、すでに印刷の指示をした複数の印刷データの印刷をキャンセルしたい場合とがありうる。このような要求に応えるために、上記のプリンタは、上述したいずれのキャンセル指示を出すのかをユーザが選択可能であることが好ましい。このことから、上記のプリンタにおいて、キャンセル指示入力手段は、第１キャンセル指示と第２キャンセル指示とを含む複数種類のキャンセル指示のいずれかを入力することが可能であってもよい。
【００１３】
上記のプリンタの無効化手段は、第１キャンセル指示が入力された場合には、その第１キャンセル指示の入力時刻より前の印刷指示受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化してもよい。この場合、第１キャンセル指示が入力されると、ユーザがキャンセル指示を入力した時点においてすでにプリンタで受信されている全ての印刷指示に対応する印刷データの印刷をキャンセルすることができる。また、無効化手段は、第２キャンセル指示が入力された場合には、その第２キャンセル指示の入力時刻より前の印刷データ受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化してもよい。この場合、第２キャンセル指示が入力されると、ユーザがキャンセル指示をした時点においてすでに第２タスク実行手段で受信されている印刷データ（すなわち印刷手段による印刷が実行されている印刷データ）の印刷をキャンセルすることができる。
【００１４】
また、上記のプリンタにおいて、上述の第１キャンセル指示はすべての印刷データの印刷をキャンセルする指示であり、第２キャンセル指示は印刷手段により印刷中の印刷データの印刷をキャンセルする指示であってもよい。
【００１５】
上記のプリンタにおいて、受信手段は、印刷指示とともに時刻に関する情報も受信してもよい。例えば、印刷指示には、その印刷指示が外部装置で作成された時刻に関する情報が付加されていてもよい。また、例えば、印刷指示には、その印刷指示が外部装置から送信された時刻に関する情報が付加されていてもよい。組合せデータ記憶手段によって記憶される印刷指示受信時刻は、受信手段によって印刷指示とともに受信された時刻に基づく時刻であってもよい。
【００１６】
上記のプリンタは、受信手段によって印刷指示とともに受信された時刻を、その印刷指示の送信元の外部装置とプリンタ自身との間の時刻差に基づいて補正する補正手段をさらに備えていてもよい。このとき、組合せデータ記憶手段によって記憶される印刷指示受信時刻は、補正手段による補正後の時刻であってもよい。
【００１７】
例えば、外部装置における時刻設定と、プリンタにおける時刻設定が異なっているために、外部装置とプリンタとの間に時刻差が生じることがある。外部装置側とプリンタ側との間に時刻差が生じていると、例えば、外部装置から印刷指示が送信された後にキャンセル指示を入力した場合であっても、キャンセル指示入力時刻が印刷指示受信時刻よりも前の時刻になってしまい、当該印刷指示に基づく印刷が無効化されない可能性がある。また、例えば、外部装置から印刷指示が送信される前にキャンセル指示を入力した場合であっても、キャンセル指示入力時刻が印刷指示受信時刻よりも後の時刻になってしまい、当該印刷指示に基づく印刷が無効化される可能性がある。このことから、上記のプリンタでは、印刷指示とともに受信された時刻をその印刷指示の送信元の外部装置とプリンタ自身との間の時刻差に基づいて補正する。補正後の時刻を印刷指示受信時刻とすることによって、ユーザが無効化することを意図している印刷が無効化されない事象や、ユーザが無効化することを意図していない印刷が無効化される事象が発生することを防止することができる。
【００１８】
上記のプリンタは、時刻情報受信手段と、受信時刻検出手段と、時刻差算出手段とをさらに備えていてもよい。時刻情報受信手段は、外部装置のデータ送信時刻に関する時刻情報を受信してもよい。この時刻情報は、例えば、印刷指示とともに受信してもよいし、プリンタと外部装置との間で最初に行なう通信時に受信してもよい。受信時刻検出手段は、上記の時刻情報受信手段によって時刻情報が受信された時刻を検出してもよい。時刻差算出手段は、時刻情報受信手段によって受信された時刻情報に示される時刻と、受信時刻検出手段によって検出された時刻との差を算出する。例えば、時刻情報受信手段によって受信された時刻情報が「１０時０１分」を示しており、受信時刻検出手段によって検出された当該時刻情報の受信時刻が「１０時０６分」である場合、時刻差算出手段では、「プラス５分」の時刻差が算出される。補正手段は、受信手段によって受信された印刷指示に含まれる時刻を、時刻算出手段により算出した時刻差に基づいて補正してもよい。例えば、上記の「プラス５分」の時刻差が算出された例において、印刷指示とともに「１０時００分」を示す時刻が受信されると、補正手段は、補正前の時刻（１０時００分）を、時刻算出手段によって算出された時刻差（プラス５分）で補正し、補正後の時刻（１０時０５分）を算出する。組合せデータ記憶手段には、補正手段によって補正された補正後の時刻である印刷指示受信時刻が記憶されてもよい。
【００１９】
本明細書によって開示される上記のプリンタは、印刷データと時刻とを対応づけて記憶するという技術的特徴を有する。本明細書では、この技術的特徴を有する別のプリンタも開示する。本発明のプリンタは、印刷データを受信し、当該印刷データが受信された時刻である印刷データ受信時刻と当該印刷データとが対応づけられている組合せデータを作成し、当該印刷データを印刷手段に印刷させる処理を実行するタスク実行手段と、キャンセル指示を入力するキャンセル指示入力手段と、キャンセル指示の入力時刻より前の印刷データ受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化する無効化手段と、を備える。
本明細書によって開示される一つの形態のプリンタは、第１タスク実行手段と第２タスク実行手段とキャンセル指示入力手段と無効化手段とを備える。第１タスク実行手段は、印刷データを送信する。第２タスク実行手段は、第１タスク実行手段によって送信された印刷データを受信し、当該印刷データが受信された時刻である印刷データ受信時刻と当該印刷データとが対応づけられている組合せデータを作成し、当該印刷データを印刷手段に印刷させる処理を実行する。キャンセル指示入力手段は、キャンセル指示を入力する。無効化手段は、キャンセル指示の入力時刻より前の印刷データ受信時刻に対応づけられている印刷データの印刷手段による印刷を無効化する。
【００２０】
上記のプリンタでは、第２タスク実行手段で印刷データが受信された時刻に対応する印刷データ受信時刻が記憶される（組合せデータ記憶手段に記憶される）。このために、無効化手段は、第２タスク実行手段で印刷データが受信された時刻とキャンセル指示の入力時刻とを比較することができ、キャンセル指示の入力時刻より前の印刷データ受信時刻に対応する印刷のみを無効化することができる。上記の技術は、例えば、印刷データの受信処理と、ラスタライズ等の印刷準備処理と、印刷処理とが、それぞれ異なる手段によって並列的に実行されるような、複数のタスクを並列的に実行して印刷するプリンタにおいて利用されてもよい。
【実施例】
【００２１】
図面を参照して実施例を説明する。以下の説明では、外部装置から送信される印刷指示によって印刷を指示される文書データやイメージデータを「印刷データ」という。また、外部装置からプリンタへ１回の印刷指示として送信されるコマンドに従って行う印刷データに対する処理を「ジョブ」といい、後述する各処理部が実行する処理を「タスク」という。
【００２２】
図１は、本実施例のプリンタシステム２を示す。プリンタシステム２は、プリンタ１０と外部装置５０等を備える。外部装置５０は、プリンタ１０に印刷を指示する印刷指示を送信することができる装置である。外部装置５０の例としては、例えば、パーソナルコンピュータ、デジタルカメラ、テレビ、ＤＶＤレコーダ等を挙げることができる。
【００２３】
（プリンタの構成）
プリンタ１０は、操作部１２と表示部１４と制御部１６と印刷部３０と記憶部３２と入出力ポート４４等を有する。操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な情報や指示をプリンタ１０に入力することができる。操作部１２は、キャンセルボタン１２ａを備えている。ユーザは、キャンセルボタン１２ａを操作することによって、プリンタ１０に複数種類のキャンセル指示のいずれかを入力することができる。プリンタ１０に入力可能なキャンセル指示については、後で詳しく説明する。表示部１４は、様々な情報を表示することができる。
【００２４】
制御部１６は、ＣＰＵ等によって構成されている。制御部１６は、複数のタスクを並列的（同時的）に実行することができる。制御部１６は、１つのＣＰＵによって構成されていてもよいし、複数のＣＰＵによって構成されていてもよい。いずれの構成であっても、複数のタスクを並列的に実行することができる。制御部１６は、受信処理部１８とレイアウト処理部２０とラスタライズ処理部２２とダウンロード処理部２４と印刷処理部２６とを有する。各処理部１８〜２６がタスクを並列的に実行する。各処理部１８〜２６によって実行されるタスクの内容は、後で詳しく説明する。
【００２５】
印刷部３０は、制御部１６のラスタライズ処理部２２によって作成されたビットマップデータに基づいて印刷媒体に印刷する。印刷部３０は、制御部１６の印刷処理部２６からの指示に従って印刷媒体に印刷する。記憶部３２は、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ等によって構成されている。記憶部３２は、ジョブ情報記憶領域３６を有する。ジョブ情報記憶領域３６は、ジョブ情報データを複数記憶することができる。ジョブ情報データは、印刷指示に基づいて作成される。ジョブ情報データに記述される情報の内容については、後で詳しく説明する。また、記憶部３２は、制御部１６にタスクを実行させるプログラム、外部から受信されたデータ、制御部１６によって生成されるデータ等を記憶する記憶領域４２を有する。入出力ポート４４は、ＬＡＮ回線やインターネット回線に接続されている。プリンタ１０は、入出力ポート４４を介して、外部装置５０やその他のデバイス（インターネット上のデバイス等）と通信可能である。
【００２６】
（キャンセル記憶処理）
続いて、制御部１６が実行するキャンセル記憶処理について説明する。この処理は、図１に示されている各処理部１８〜２６以外の処理部（図示省略）によって実行される。図２は、キャンセル記憶処理のフローチャートを示す。ユーザは、キャンセルボタン１２ａを操作することができる。この場合、制御部１６は、Ｓ２でＹＥＳと判断し、表示処理を実行する（Ｓ４）。具体的に言うと、制御部１６は、「全てのジョブをキャンセルｏｒ印刷中のジョブをキャンセル」という文字列を表示部１４に表示させる。ユーザは、操作部１２の所定のボタンを操作することによって、キャンセルの手法を選択することができる。この場合、制御部１６は、Ｓ６でＹＥＳと判断し、選択された手法（「全てのジョブをキャンセル」又は「印刷中のジョブをキャンセル」を示す情報）とキャンセル時刻とを記憶領域４２に記憶させる（Ｓ８）。このキャンセル時刻は、Ｓ２でキャンセルボタンが操作された時刻であってもよいし、Ｓ６で選択操作が行なわれた時刻であってもよい。
【００２７】
（受信処理）
続いて、制御部１６の各処理部１８〜２６によって実行される処理（タスク）について説明する。図３及び図４は、受信処理のフローチャートを示す。受信処理は、制御部１６の受信処理部１８によって実行される。
受信処理部１８は、外部装置５０からの印刷指示が受信されることを監視している（Ｓ１０）。上述したように、図１の外部装置５０は、印刷を指示するデータをプリンタ１０に送信することができる。このデータには、印刷を指示するコマンド（印刷指示）が含まれており、入出力ポート４４を介してプリンタ１０によって受信される。この場合、Ｓ１０でＹＥＳと判断される。図５は、プリンタ１０で受信されるデータ６２の一例を示す。本実施例のデータ６２には、印刷指示７０の他に、印刷データの保存先のアドレス７１と、印刷データの印刷枚数やフォーマット等が含まれている。また、データ６２は、印刷指示７０が作成された時刻に関する情報７２（以下の説明では、印刷指示作成時刻７２という）を含んでいる。なお、データ６２の中に印刷指示作成時刻７２が含まれないこともある。印刷指示作成時刻が含まれるのか否かは、印刷指示を送信する外部装置の機能に依存する。さらに、データ６２は、印刷指示７０が外部装置５０から送信された時刻に関する情報６０（以下の説明では、印刷指示送信時刻６０という）も含んでいる。
【００２８】
次いで、受信処理部１８は、Ｓ１０で受信した印刷指示とともに印刷データが受信されているか否かを判断する（Ｓ１２）。印刷指示とともに印刷データが受信されている場合（Ｓ１２でＹＥＳ）には、Ｓ２２へ進む。この一方で、印刷指示とともに印刷データが受信されていない場合（Ｓ１２でＮＯ）には、印刷指示で指定されているソースＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）から印刷データをダウンロードするように、ダウンロード処理部２４に指示する（Ｓ１４）。ソースＵＲＩは、印刷に必要な印刷データ（例えば、ＸＨＴＭＬ−Ｐｒｉｎｔデータ）のアドレスである。例えば、図５に示したデータ６２には印刷データは含まれておらず、印刷データの保存先のアドレスであるソースＵＲＩ７１が含まれている。ソースＵＲＩ７１は、印刷データを格納しているデバイス（本実施例では図１の外部装置５０）のＩＰアドレスと、ポート番号と、印刷データのファイル名とを含んでいる。図５では、「１９２．１６８．１．１１」がＩＰアドレスであり、「１０２５」がポート番号であり、「ａ０４５ｆ２ｅ１．ｘｈｔｍｌ」がＸＨＴＭＬ−Ｐｒｉｎｔデータのファイル名である。なお、以下では、ＸＨＴＭＬ−Ｐｒｉｎｔデータのことを「ＸＨＴＭＬデータ」と簡単に呼ぶ。
【００２９】
ダウンロード処理部２４によって印刷データがダウンロードされると、ダウンロードされた印刷データは受信処理部１８に送信され、受信処理部１８で受信される（Ｓ２０）。なお、ダウンロード処理部２４の実行する処理については、後で詳しく説明する。
【００３０】
受信処理部１８は、次いで、Ｓ１０で受信された印刷指示とともに、印刷指示作成時刻が受信されたか否かを判断する（Ｓ２２）。例えば、図５の印刷指示７０の場合、印刷指示７０とともに印刷指示作成時刻７２が受信されている。この場合、Ｓ２２でＹＥＳと判断され、Ｓ２４へと進む。この一方で、印刷指示とともに印刷指示作成時刻が受信されなかった場合には、Ｓ２２でＮＯと判断され、Ｓ２８へ進む。Ｓ２４では、外部装置５０から印刷指示が送信された時刻である送信時刻とプリンタ１０で印刷指示が受信された時刻である受信時刻から、プリンタ１０と外部装置５０との時刻差を算出する。上述したように、印刷指示７０には、印刷指示送信時刻６０が付帯している。この時刻と、受信処理部１８によって印刷指示が受信された時刻とに基づいて、時刻差が算出される。例えば、印刷指示が受信された時刻が「１０：０３：００」である場合、図５の印刷指示送信時刻６０との時刻差が「プラス２分」であることが算出される。算出された時刻差は、このステップにおいて記憶部３２に記憶される。なお、本実施例では印刷指示とともに印刷指示作成時刻が受信される（Ｓ２２でＹＥＳ）毎にプリンタ１０と外部装置５０との時刻差を算出しているが、本明細書で開示される技術の実施形態はこれに限定されない。例えば、プリンタ１０あるいは外部装置５０の電源がオンされた場合等の初期化通信時にＳ２４の処理を実行して、時刻差を算出しておいてもよい。
【００３１】
時刻差が算出されると、受信処理部１８は、算出された時刻差で印刷指示作成時刻を補正して、印刷指示受信時刻を算出する（Ｓ２６）。例えば、図５の印刷指示作成時刻７２の場合、「１０：００：３０」という印刷指示作成時刻７２が、上記の「プラス２分」の時刻差で補正され、「１０：０２：３０」という印刷指示受信時刻が算出される。本実施例では、外部装置５０側の送信時刻とプリンタ１０側での受信時刻との時刻差で補正された印刷指示作成時刻７２を印刷指示受信時刻としているが、本明細書で開示される技術の実施形態はこれに限定されない。例えば、Ｓ２６で算出される印刷指示受信時刻は、予め算出された時刻差で補正された印刷指示送信時刻６０であってもよい。
【００３２】
次いで、Ｓ２８では、印刷指示受信時刻と印刷データとが対応付けられた組合せデータを作成する。例えば、印刷指示７０とともに印刷指示作成時刻７２が受信されている場合には、補正後の印刷指示作成時刻７２に基づく「１０：０２：３０」という印刷指示受信時刻と、外部装置５０からダウンロードされた印刷データが対応付けられた組合せデータが作成される。この一方で、印刷指示が印刷指示作成時刻を含まない場合（Ｓ２２でＮＯの場合）、Ｓ２８では、印刷指示が入出力ポート４４を介してプリンタ１０で受信された時刻を印刷指示受信時刻として、その印刷指示受信時刻と印刷データとが対応付けられた組合せデータを作成する。Ｓ２８で作成された組合せデータは、次に説明するＳ３０においてジョブ情報データとして記憶される。
【００３３】
組合せデータが作成されると、受信処理部１８は、ジョブ情報データを作成して、記憶部３２のジョブ情報記憶領域３６に記憶させる（Ｓ３０）。ジョブ情報データは、Ｓ１０で受信されたデータと、Ｓ１２〜Ｓ２８の処理で生成された各種データに基づいて作成される。例えば、図１に示すジョブ情報データ３８は、ジョブＩＤ３８ａと、ジョブ名３８ｂと、用紙サイズ３８ｃと、コピー枚数３８ｄと、印刷指示受信時刻３８ｅと、印刷データ（現段階ではＸＨＴＭＬデータ）３８ｇ等の、印刷を実行するために必要な情報を含んでいる。ジョブ情報データ３８は、印刷指示受信時刻３８ｅと印刷データ３８ｇとが対応づけられた組合せデータ３９を含んでいると言える。なお、図１には図示されているが、ジョブ情報データ３８は、印刷データ受信時刻３８ｆを含むことができる。Ｓ３０の段階では、印刷データ受信時刻３８ｆは、まだ記憶されていない。印刷データ受信時刻３８ｆについては、後で詳しく説明する。
【００３４】
上記の一連の処理が完了すると、受信処理部１８は、タスクを開始する旨の情報（以下では「タスク開始指示」と呼ぶ）をレイアウト処理部２０に送信する（Ｓ３２）。次いで、Ｓ３０で作成されたジョブ情報データをレイアウト処理部２０に送信する（Ｓ３４）。一連の処理を実行すると、受信処理部１８は、次の印刷指示が受信されることを監視する状態（Ｓ１０）へと移行する。
【００３５】
（レイアウト処理）
続いて、レイアウト処理について説明する。図６は、レイアウト処理のフローチャートを示す。レイアウト処理は、制御部１６のレイアウト処理部２０によって実行される。
【００３６】
レイアウト処理部２０は、受信処理部１８からのタスク開始指示が受信されることを監視している（Ｓ４０）。このタスク開始指示は、上記の図４のＳ３２の処理で受信処理部１８からレイアウト処理部２０に送信される。Ｓ４０でＹＥＳの場合、レイアウト処理部２０は、タスク開始指示をラスタライズ処理部２２に送信する（Ｓ４２）。次いで、レイアウト処理部２０は、受信処理部１８から送信されたジョブ情報データが受信されることを監視する（Ｓ４４）。このジョブ情報データは、上記の図４のＳ３４の処理で受信処理部１８からレイアウト処理部２０に送信される。Ｓ４４でＹＥＳの場合、Ｓ４８に進む。
【００３７】
Ｓ４８では、レイアウト処理部２０は、データ解析処理を実行する。例えば、レイアウト処理部２０は、受信されたＸＨＴＭＬデータ（印刷データ）を解析することによって、複数の画像データファイル名がツリー構造に配置されているデータをメモリ（記憶領域４２）に作成する。次いで、Ｓ５０では、レイアウト処理部２０は、レイアウト処理を実行する。例えば、Ｓ４４で受信された印刷データにスタイルシートファイルのＵＲＬが含まれる場合には、そのＵＲＬによって特定されるスタイルシートファイルをダウンロード処理部２４にダウンロードさせる。スタイルシートファイルは、印刷データを解析して得られた各画像データのポジションを特定するためのデータと、各画像データの回転角度を特定するためのデータ等を含んでいる。このステップにおいて、レイアウト処理部２０は、スタイルシートファイルを解析し、印刷データに含まれる各画像データのレイアウト（各画像データが配置されるべき座標）を特定することができる。なお、外部ファイルをダウンロードしなくてもレイアウトを特定することができるデータが印刷データに含まれることがある。このような場合には、レイアウト処理部２０は、印刷データに記述されているレイアウトに関するデータからレイアウトを特定する。Ｓ５０を実行することによって、各画像データのレイアウトが決定される。このレイアウトデータが、ジョブ情報データの印刷データに付加される。
【００３８】
レイアウト処理部２０は、レイアウトデータが付加された印刷データを含むジョブ情報データをラスタライズ処理部２２に送信する（Ｓ５２）。Ｓ５２を終えると、レイアウト処理部２０はＳ４０に戻って、受信処理部１８からのタスク開始指示が受信されることを監視する。
【００３９】
（ラスタライズ処理）
続いて、ラスタライズ処理について説明する。図７は、ラスタライズ処理のフローチャートを示す。ラスタライズ処理は、制御部１６のラスタライズ処理部２２によって実行される。
【００４０】
ラスタライズ処理部２２は、レイアウト処理部２０からのタスク開始指示が受信されることを監視している（Ｓ６０）。このタスク開始指示は、上記の図６のＳ４２の処理でレイアウト処理部２０からラスタライズ処理部２２に送信される。Ｓ６０でＹＥＳの場合、ラスタライズ処理部２２は、タスク開始指示を印刷処理部２６に送信する（Ｓ６２）。次いで、ラスタライズ処理部２２は、レイアウト処理部２０から送信されたジョブ情報データが受信されることを監視する（Ｓ６４）。このジョブ情報データは、上記の図６のＳ５２の処理でレイアウト処理部２０からラスタライズ処理部２２に送信される。Ｓ６４でＹＥＳの場合、Ｓ６８に進む。なお、ラスタライズ処理部２２は、ジョブ情報データの印刷データに含まれる複数個のページデータ（あるいは、画像データ）のうちの１つを受信したときにＳ６４でＹＥＳと判断してもよいし、ジョブ情報データの印刷データに含まれる全てのデータを受信したときにＹＥＳと判断してもよい。なお、例えば、１ページ分のページデータを受信したときにＳ６４でＹＥＳと判断する場合には、Ｓ６８以降の処理を複数回に分けて実行することになる。
【００４１】
Ｓ６８では、ラスタライズ処理部２２は、印刷データを解析し、印刷データに含まれるデータをラスタライズする処理を実行する。これにより、印刷データのビットマップデータが作成される。例えば、Ｓ６４で受信された印刷データに画像データのＵＲＬが含まれる場合には、このステップにおいてそのＵＲＬから特定されるファイル（画像データファイル）をダウンロード処理部２４にダウンロードさせ、ダウンロード処理部２４によってダウンロードされたファイルを解析し、ファイルに含まれる画像データをラスタライズする処理を実行する。ラスタライズ処理が実行されると、ラスタライズ処理部２２は、ラスタライズ後の印刷データ（ＸＨＴＭＬデータ及び画像データ）を含むジョブ情報データを印刷処理部２６に送信する（Ｓ７０）。
【００４２】
（印刷処理）
続いて、印刷処理について説明する。図８は、印刷処理のフローチャートを示す。印刷処理は、制御部１６の印刷処理部２６によって実行される。
【００４３】
印刷処理部２６は、ラスタライズ処理部２２からのタスク開始指示が受信されることを監視している（Ｓ８０）。このタスク開始指示は、上記の図６のＳ６２の処理でラスタライズ処理部２２から印刷処理部２６に送信される。なお、このステップにおいてタスク開始指示が受信された後に、印刷処理部２６は、例えば、給紙トレイに収容されている印刷媒体を搬送経路に沿って搬送する処理等の印刷前処理を実行してもよい。Ｓ８０でＹＥＳの場合、次いで、印刷処理部２６はラスタライズ処理部２２から送信された所定バイト分のジョブ情報データが受信されることを監視する（Ｓ８２）。このジョブ情報データは、上記の図７のＳ７０の処理でラスタライズ処理部２２から印刷処理部２６に送信される。Ｓ８２でＹＥＳの場合、Ｓ８４に進む。
【００４４】
Ｓ８４では、印刷処理部２６は、Ｓ８２でジョブ情報データが受信された時刻（以下では「印刷データ受信時刻」と呼ぶ）をジョブ情報データに付加する。これにより、図１に例示されるように、ジョブ情報データ３８が、印刷データ受信時刻３８ｆと印刷データ３８ｇとが対応づけられた組合せデータ４０を含むことになる。なお、後述する図９のＳ９６でＮＯと判断された場合、Ｓ８２の処理が再び実行される。１つのジョブ情報データについて２回目以降のＳ８２の処理が実行された場合、Ｓ８４の処理はスキップされる。
【００４５】
図２のＳ８の処理が過去に実行された場合、記憶領域４２にキャンセル情報が記憶されている。印刷処理部２６は、記憶領域４２にキャンセル情報が記憶されているのか否かを判断する（Ｓ８６）。ここでＮＯの場合、図９のＳ９４に進む。一方において、ここでＹＥＳの場合、印刷処理部２６は、キャンセル情報が「全てのジョブをキャンセル」であるのか否かを判断する（Ｓ８８）。ここでＹＥＳの場合、Ｓ９０に進む。一方において、キャンセル情報が「印刷中のジョブをキャンセル」である場合、Ｓ８８でＮＯと判断され、Ｓ９２に進む。
【００４６】
Ｓ９０では、印刷処理部２６は、Ｓ８２で受信されたジョブ情報データに含まれる印刷指示受信時刻と、キャンセル情報に含まれるキャンセル時刻とを比較する。印刷指示受信時刻がキャンセル時刻より前である場合、印刷処理部２６は、Ｓ９０でＹＥＳと判断し、図９のＳ１００に進む。逆に、印刷指示受信時刻がキャンセル時刻より後である場合、印刷処理部２６は、Ｓ９０でＮＯと判断し、図９のＳ９４に進む。また、Ｓ９２では、印刷処理部２６は、Ｓ８４でジョブ情報データに付加された印刷データ受信時刻と、キャンセル情報に含まれるキャンセル時刻とを比較する。印刷データ受信時刻がキャンセル時刻より前である場合、印刷処理部２６は、Ｓ９２でＹＥＳと判断し、図９のＳ１００に進む。逆に、印刷データ受信時刻がキャンセル時刻より後である場合、印刷処理部２６は、Ｓ９２でＮＯと判断し、図９のＳ９４に進む。
【００４７】
図９のＳ９４では、印刷処理部２６は、印刷処理を実行する。印刷処理は、印刷媒体を給紙する処理、図８のＳ８２で受信されたジョブ情報データに含まれる印刷データに基づいて印刷媒体に印刷するように印刷部３０に指示する処理、印刷された印刷媒体を排紙する処理等を含む。次いで、印刷処理部２６は、Ｓ８２において全ての印刷データが受信され、全ての印刷データに基づいて印刷されたのか否かを判断する（Ｓ９６）。ここでＮＯの場合、印刷処理部２６は、Ｓ８２に戻って、次の所定バイト分のジョブ情報データ（即ち印刷データ）が受信されることを監視する。印刷処理部２６は、所定バイト分の印刷データの受信（Ｓ８２）と当該印刷データの印刷（Ｓ９４）とを繰り返すことによって、全ての印刷データを印刷することができる。全ての印刷データが印刷されると、Ｓ９６でＹＥＳと判断される。この場合、印刷処理部２６は、Ｓ８２で受信された全てのジョブ情報データを削除する（Ｓ９８）。次いで、印刷処理部２６は、Ｓ８０に戻って、次のタスク開始指示が受信されることを監視する。
【００４８】
Ｓ１００では、印刷処理部２６は、キャンセル処理を実行する。印刷処理は、印刷を中止するように印刷部３０に指示する処理、印刷媒体を排紙する処理等を含む。これにより、Ｓ８２で受信された印刷データに基づいて印刷されることが禁止される。Ｓ１００を終えると、印刷処理部２６は、Ｓ８２で受信された全てのジョブ情報データを削除する（Ｓ９８）。次いで、印刷処理部２６は、Ｓ８０に戻って、次のタスク開始指示が受信されることを監視する。
【００４９】
（ダウンロード処理）
次に、ダウンロード処理について説明する。図１０は、ダウンロード処理のフローチャートを示す。ダウンロード処理は、制御部１６のダウンロード処理部２４によって実行される。
【００５０】
ダウンロード処理部２４は、各処理部１８，２０，２２からのダウンロード指示が受信されることを監視している（Ｓ１１０）。ダウンロード指示には、例えば、図３のＳ１４における受信処理部１８からのＸＨＴＭＬデータ（印刷データ）のダウンロード指示や、レイアウト処理（図６のＳ５０）におけるレイアウト処理部２０からのスタイルシートファイルのダウンロード指示や、ラスタライズ処理（図７のＳ６８）におけるラスタライズ処理部２２からの画像データのダウンロード指示等が含まれる。ダウンロード指示は、接続先のアドレスと、そのアドレスに接続することを指示する情報（以下では「接続指示」と呼ぶ）を含んでいる。例えば、図３のＳ１４における受信処理部１８からの印刷データのダウンロード指示が受信された場合（Ｓ１１０でＹＥＳ）であれば、図５のソースＵＲＩ７１への接続指示がダウンロード処理部２４に送信される。この結果、ダウンロード処理部２４は、ソースＵＲＩ７１に含まれるＩＰアドレス（「１９２．１６８．１．１１」）に接続する（Ｓ１１２）。
【００５１】
次いで、ダウンロード処理部２４は、アドレスで指定されたデータをダウンロードする（Ｓ１１４）。例えば、上記のソースＵＲＩ７１が指定された場合であれば、このステップでは、ソースＵＲＩ７１で指定されたポート（「１０２５」）を経由して、指定されたファイル名（「ａ０４５ｆ２ｅ１．ｘｈｔｍｌ」））のＸＨＴＭＬデータがダウンロードされる。次いで、ダウンロード処理部２４は、ダウンロードされたデータを、ダウンロード指示の送信元の処理部へ返信する（Ｓ１１６）。例えば、ソースＵＲＩ７１が指定された場合であれば、ダウンロードした印刷データを受信処理部１８へ送信する。データの返信処理が実行されると、ダウンロード処理部２４は、ダウンロード指示が受信されることを監視する状態（Ｓ１１０）へと移行する。
【００５２】
上記のプリンタ１０によると、印刷指示に対応する印刷指示受信時刻３８ｅ（及び印刷データ受信時刻３８ｆ）が記憶される。プリンタ１０は、印刷指示受信時刻３８ｅ（又は印刷データ受信時刻３８ｆ）とキャンセル指示の入力時刻（キャンセル時刻）とを比較することができ、キャンセル時刻より前の印刷指示受信時刻３８ｅ（又は印刷データ受信時刻３８ｆ）に対応する印刷のみをキャンセルすることができる。キャンセル時刻より後の印刷指示受信時刻３８ｅ（又は印刷データ受信時刻３８ｆ）に対応する印刷がキャンセルされるという事象が発生しない。本実施例のプリンタ１０によると、ユーザが意図していないキャンセル処理が実行されるという事象が発生することを防止することができる。また、プリンタ１０は、ユーザのキャンセル指示の種類に応じてキャンセルの対象を変える。即ち、プリンタ１０は、ユーザのキャンセル指示が「全てのジョブをキャンセル」である場合にはキャンセル時刻より前の印刷指示受信時刻３８ｅを有するジョブをキャンセルし、ユーザの指示が「印刷中のジョブをキャンセル」である場合にはキャンセル時刻より前の印刷データ受信時刻３８ｆを有するジョブをキャンセルする。ユーザの意図に応じたキャンセル処理を確実に実行することができる。
【００５３】
以上、本明細書で開示される技術の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。例えば、上記の実施例では、印刷処理部２６でジョブ情報データ（印刷データ）が受信されたときに印刷データ受信時刻と印刷データの組合せデータを作成しているが、その他の処理部（上記の実施例の場合、レイアウト処理部又はラスタライズ処理部）においてジョブ情報データが受信されたときに、印刷データ受信時刻と印刷データの組合せデータを作成してもよい。また、本実施例では、受信処理部１８がジョブ情報データをレイアウト処理部２０に送信し、レイアウト処理部２０がジョブ情報データをラスタライズ処理部２２に送信し、ラスタライズ処理２２がジョブ情報データを印刷処理部２６に送信する。各処理部１８，２０，２２，２６の間で送信されるジョブ情報データは、印刷データ（ＸＨＴＭＬデータ、レイアウトデータ、画像データ等）を含んでいる。しかしながら、各処理部１８，２０，２２，２６は、ジョブ情報データ３８のジョブＩＤ３８ａ（図１参照）のみを送信するようにしてもよい。ジョブＩＤ３８ａを受信した処理部は、そのジョブＩＤ３８ａに対応するジョブ情報データをジョブ情報記憶領域３６から読み込んでもよい。このような構成は、「処理部がジョブ情報データ（印刷データ）を送信する」ことに等しい。
また、プリンタは、外付けのネットワークアダプタを介して、印刷データを受信する構成であってもよい。一般的に、外付けのネットワークアダプタには、ユーザがキャンセル指示を行う操作部を備えていない。印刷指示とともに時刻に関する情報を受信していれば、ネットワークアダプタが受信した印刷データであって、プリンタがまだ受信していない印刷データであっても、印刷指示とともに受信した時刻に関する情報に基づき、その印刷データが、キャンセル指示を入力した入力時刻より前の印刷指示受信時刻に対応づけられた印刷データであることがわかる。したがって、プリンタに蓄積された印刷データに限らず、プリンタに対して印刷指示が送信された印刷データを対象とし、ユーザの意図に沿った印刷データのキャンセル指示を行うことができる。
【００５４】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００５５】
【図１】外部装置とプリンタの概要構成を示す説明図。
【図２】キャンセル記憶処理のフローチャート。
【図３】受信処理のフローチャート（１）。
【図４】受信処理のフローチャート（２）。
【図５】プリンタで受信される印刷指示の一例を表わす図。
【図６】レイアウト処理のフローチャート。
【図７】ラスタライズ処理のフローチャート。
【図８】印刷処理のフローチャート（１）。
【図９】印刷処理のフローチャート（２）。
【図１０】ダウンロード処理のフローチャート。
【符号の説明】
【００５６】
２：プリンタシステム
１０：プリンタ
１２：操作部
１２ａ：キャンセルボタン
１４：表示部
１６：制御部
１８：受信処理部
２０：レイアウト処理部
２２：ラスタライズ処理部
２４：ダウンロード処理部
２６：印刷処理部
３０：印刷部
３２：記憶部
３６：ジョブ情報記憶領域
３８：ジョブ情報データ
３８ａ：ジョブＩＤ
３８ｂ：ジョブ名
３８ｃ：用紙サイズ
３８ｄ：コピー枚数
３８ｅ：印刷指示受信時刻
３８ｆ：印刷データ受信時刻
３８ｇ：印刷データ
３９，４０：組合せデータ
４２：その他の記憶領域
４４：入出力ポート
５０：外部装置
６０：データ
６２：印刷指示送信時刻
７０：印刷指示
７１：ソースＵＲＩ
７２：印刷指示作成時刻
【図１】
0004862835.tif 000002
【図２】
0004862835.tif 000003
【図３】
0004862835.tif 000004
【図４】
0004862835.tif 000005
【図５】
0004862835.tif 000006
【図６】
0004862835.tif 000007
【図７】
0004862835.tif 000008
【図８】
0004862835.tif 000009
【図９】
0004862835.tif 000010
【図１０】
0004862835.tif 000011