(57)【特許請求の範囲】
【請求項１】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行し、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの１ページ分のページ画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報であって、前記１ページ分のページ画像を識別するページ番号を含む前記識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記１ページ分のページ画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記制御部は、
前記順序情報が、両面印刷を実行すべきことを示す両面情報を含む場合に、
ｊ回目（ｊは１以上の整数）の前記送信処理において、ｎページ目（ｎは１以上の整数）のページ番号を含む前記要求を前記サーバに送信し、
（ｊ＋１）回目の前記送信処理において、（ｎ＋１）ページ目のページ番号とは異なるページ番号を含む前記要求を前記サーバに送信し、
前記Ｎが偶数であり、かつ、前記ｊ回目の送信処理において、前記Ｎページ目のページ番号である前記ｎページ目のページ番号を含む前記要求を前記サーバに送信することに応じて、前記通信インターフェースを介して、前記ファイルの終端を表わすファイル終端データを受信する第１の場合に、
前記（ｊ＋１）回目の送信処理において、前記異なるページ番号を含む前記要求を前記サーバに送信する、プリンタ。
【請求項２】
前記第１の場合に、前記異なるページ番号は、前記（Ｎ−１）ページ目のページ番号である、請求項１に記載のプリンタ。
【請求項３】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行し、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの１ページ分のページ画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報であって、前記１ページ分のページ画像を識別するページ番号を含む前記識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記１ページ分のページ画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記制御部は、
前記順序情報が、両面印刷を実行すべきことを示す両面情報を含む場合に、
ｊ回目（ｊは１以上の整数）の前記送信処理において、ｎページ目（ｎは１以上の整数）のページ番号を含む前記要求を前記サーバに送信し、
（ｊ＋１）回目の前記送信処理において、（ｎ＋１）ページ目のページ番号とは異なるページ番号を含む前記要求を前記サーバに送信し、
前記Ｎが奇数であり、かつ、前記ｊ回目の送信処理において、（Ｎ＋１）ページ目のページ番号である前記ｎページ目のページ番号を含む前記要求を前記サーバに送信することに応じて、前記部分データを受信不可能である第２の場合に、
前記（ｊ＋１）回目の送信処理において、前記異なるページ番号を含む前記要求を前記サーバに送信する、プリンタ。
【請求項４】
前記制御部は、さらに、
前記第２の場合に、印刷媒体の第１面に対する印刷を前記印刷エンジンに実行させることなく、前記印刷媒体の前記第１面に対する印刷を実行可能な位置から、前記印刷媒体の前記第１面の反対面である第２面に対する印刷を実行可能な位置まで、前記印刷媒体を前記印刷エンジンに搬送させる搬送制御処理を実行する、請求項３に記載のプリンタ。
【請求項５】
前記第２の場合に、前記異なるページ番号は、前記Ｎページ目のページ番号である、請求項３又は４に記載のプリンタ。
【請求項６】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行し、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記順序情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む場合に、
前記繰返処理は、前記Ｎページ分のページ画像の全ての印刷が完了するまで前記１セットの処理を繰り返して、Ｎ／２枚（小数点切り上げ）の印刷媒体に対する１部のコレート印刷を実行する処理であり、
前記制御部は、１部のコレート印刷を実行するための前記繰返処理をＭ回実行して、Ｍ部のコレート印刷を実行する、プリンタ。
【請求項７】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行し、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記順序情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、アンコレート印刷を実行すべきことを示すアンコレート情報と、を含む場合に、
前記繰返処理は、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷が完了するまで前記１セットの処理を繰り返す処理であり、
前記制御部は、前記Ｎページ分のページ画像の全ての印刷が完了するまで、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷を実行するための前記繰返処理をＮ／２回（小数点切り上げ）実行して、Ｍ部のアンコレート印刷を実行する、プリンタ。
【請求項８】
前記部分データは、前記Ｎページ分のページ画像のうちの１ページ分のページ画像を表わし、
前記識別情報は、前記１ページ分のページ画像を識別するページ番号を含む、請求項６又は７に記載のプリンタ。
【請求項９】
前記制御部は、
前記順序情報が、前記両面情報を含む場合に、
ｊ回目（ｊは１以上の整数）の前記送信処理において、ｎページ目（ｎは１以上の整数）のページ番号を含む前記要求を前記サーバに送信し、
（ｊ＋１）回目の前記送信処理において、（ｎ＋１）ページ目のページ番号とは異なるページ番号を含む前記要求を前記サーバに送信する、請求項８に記載のプリンタ。
【請求項１０】
前記制御部は、さらに、
前記通信インターフェースを介して、前記サーバとの接続を確立する確立処理と、
前記サーバとの前記接続を利用して前記ｊ回目の送信処理を実行することに応じて、前記サーバから、前記通信インターフェースを介して、ｎページ目のページ画像の終端を表わすページ終端データを受信することを監視する監視処理と、
前記ページ終端データを受信した後に、前記サーバとの前記接続を切断する切断処理と、を実行し、
前記制御部は、前記切断処理の後に、前記サーバとの前記接続を再確立するための前記確立処理を実行し、再確立済みの前記接続を利用して、前記（ｊ＋１）回目の送信処理を実行する、請求項１から５及び９のいずれか一項に記載のプリンタ。
【請求項１１】
前記サーバとの前記接続は、ＴＣＰ（Transmission Control Protocolの略）に従った接続である、請求項１０に記載のプリンタ。
【請求項１２】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理と、
前記印刷設定情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む第３の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで第１セットの処理を繰り返して、Ｎ／２枚（小数点切り上げ）の印刷媒体に対する１部の両面コレート印刷を実行する第１の繰返処理と、
前記印刷設定情報が、前記両面情報と、Ｍ部を示す前記部数情報と、アンコレート印刷を実行すべきことを示すアンコレート情報と、を含む第４の場合に、Ｍ枚の印刷媒体に対する同じページ画像の印刷が完了するまで前記第１セットの処理を繰り返す第２の繰返処理と、を実行し、
前記第１セットの処理は、
前記サーバから、前記通信インターフェースを介して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる第１の印刷制御処理と、
前記第１の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第１の解放処理と、を含み、
前記制御部は、
前記第３の場合に、１部の両面コレート印刷を実行するための前記第１の繰返処理をＭ回実行して、Ｍ部の両面コレート印刷を実行し、
前記第４の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷を実行するための前記第２の繰返処理をＮ／２回（小数点切り上げ）実行して、Ｍ部の両面アンコレート印刷を実行する、プリンタ。
【請求項１３】
プリンタであって、
通信インターフェースと、
メモリと、
印刷エンジンと、
制御部と、を備え、
前記制御部は、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理と、
前記印刷設定情報が、片面印刷を実行すべきことを示す片面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む第５の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで第１セットの処理を繰り返して、Ｎ枚の印刷媒体に対する１部の片面コレート印刷を実行する第１の繰返処理と、を実行し、
前記第１セットの処理は、
前記サーバから、前記通信インターフェースを介して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる第１の印刷制御処理と、
前記第１の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第１の解放処理と、を含み、
前記制御部は、前記第５の場合に、Ｎ枚の印刷媒体に対する１部の片面コレート印刷を実行するための前記第１の繰返処理をＭ回実行して、Ｍ部の片面コレート印刷を実行する、プリンタ。
【請求項１４】
前記制御部は、さらに、
前記通信インターフェースを介して、前記サーバとの接続を確立する確立処理と、
前記第５の場合に、前記サーバとの前記接続を利用して１回の前記第１の繰返処理を実行した後に、前記サーバとの前記接続を切断する切断処理と、を実行し、
前記制御部は、前記切断処理の後に、前記サーバとの前記接続を再確立するための前記確立処理を実行し、再確立済みの前記接続を利用して、次の１回の前記第１の繰返処理を実行する、請求項１３に記載のプリンタ。
【請求項１５】
前記制御部は、さらに、
前記印刷設定情報が、片面印刷を実行すべきことを示す片面情報と、Ｍ部を示す前記部数情報と、アンコレート印刷を実行すべきことを示すアンコレート情報と、を含む第６の場合に、第２セットの処理を繰り返す第３の繰返処理を実行し、
前記第２セットの処理は、
前記格納制御処理と、
前記メモリ内の前記部分データを利用して、Ｍ枚の印刷媒体に対する同じページ画像の印刷を前記印刷エンジンに実行させる第２の印刷制御処理と、
前記第２の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第２の解放処理と、を含み、
前記制御部は、前記第６の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで前記第２のセットの処理をＮ回繰り返す前記第３の繰返処理を実行して、Ｍ部の片面アンコレート印刷を実行する、請求項１２から１４のいずれか一項に記載のプリンタ。
【請求項１６】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行させ、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの１ページ分のページ画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報であって、前記１ページ分のページ画像を識別するページ番号を含む前記識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記１ページ分のページ画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記コンピュータプログラムは、前記制御部に、
前記順序情報が、両面印刷を実行すべきことを示す両面情報を含む場合に、
ｊ回目（ｊは１以上の整数）の前記送信処理において、ｎページ目（ｎは１以上の整数）のページ番号を含む前記要求を前記サーバに送信させ、
（ｊ＋１）回目の前記送信処理において、（ｎ＋１）ページ目のページ番号とは異なるページ番号を含む前記要求を前記サーバに送信させ、
前記Ｎが偶数であり、かつ、前記ｊ回目の送信処理において、前記Ｎページ目のページ番号である前記ｎページ目のページ番号を含む前記要求を前記サーバに送信させることに応じて、前記通信インターフェースを介して、前記ファイルの終端を表わすファイル終端データを受信する第１の場合に、
前記（ｊ＋１）回目の送信処理において、前記異なるページ番号を含む前記要求を前記サーバに送信させる、コンピュータプログラム。
【請求項１７】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行させ、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの１ページ分のページ画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報であって、前記１ページ分のページ画像を識別するページ番号を含む前記識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記１ページ分のページ画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記コンピュータプログラムは、前記制御部に、
前記順序情報が、両面印刷を実行すべきことを示す両面情報を含む場合に、
ｊ回目（ｊは１以上の整数）の前記送信処理において、ｎページ目（ｎは１以上の整数）のページ番号を含む前記要求を前記サーバに送信させ、
（ｊ＋１）回目の前記送信処理において、（ｎ＋１）ページ目のページ番号とは異なるページ番号を含む前記要求を前記サーバに送信させ、
前記Ｎが奇数であり、かつ、前記ｊ回目の送信処理において、（Ｎ＋１）ページ目のページ番号である前記ｎページ目のページ番号を含む前記要求を前記サーバに送信させることに応じて、前記部分データを受信不可能である第２の場合に、
前記（ｊ＋１）回目の送信処理において、前記異なるページ番号を含む前記要求を前記サーバに送信させる、コンピュータプログラム。
【請求項１８】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行させ、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記順序情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む場合に、
前記繰返処理は、前記Ｎページ分のページ画像の全ての印刷が完了するまで前記１セットの処理を繰り返して、Ｎ／２枚（小数点切り上げ）の印刷媒体に対する１部のコレート印刷を実行する処理であり、
前記コンピュータプログラムは、前記制御部に、１部のコレート印刷を実行するための前記繰返処理をＭ回実行させて、Ｍ部のコレート印刷を実行させる、コンピュータプログラム。
【請求項１９】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、
前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行させ、
前記１セットの処理は、
前記順序情報を利用して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報を特定する特定処理と、
前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、
前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、
前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含み、
前記順序情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、アンコレート印刷を実行すべきことを示すアンコレート情報と、を含む場合に、
前記繰返処理は、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷が完了するまで前記１セットの処理を繰り返す処理であり、
前記コンピュータプログラムは、前記制御部に、前記Ｎページ分のページ画像の全ての印刷が完了するまで、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷を実行するための前記繰返処理をＮ／２回（小数点切り上げ）実行させて、Ｍ部のアンコレート印刷を実行させる、コンピュータプログラム。
【請求項２０】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理と、
前記印刷設定情報が、両面印刷を実行すべきことを示す両面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む第３の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで第１セットの処理を繰り返して、Ｎ／２枚（小数点切り上げ）の印刷媒体に対する１部の両面コレート印刷を実行する第１の繰返処理と、
前記印刷設定情報が、前記両面情報と、Ｍ部を示す前記部数情報と、アンコレート印刷を実行すべきことを示すアンコレート情報と、を含む第４の場合に、Ｍ枚の印刷媒体に対する同じページ画像の印刷が完了するまで前記第１セットの処理を繰り返す第２の繰返処理と、を実行させ、
前記第１セットの処理は、
前記サーバから、前記通信インターフェースを介して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記プリンタの印刷エンジンに実行させる第１の印刷制御処理と、
前記第１の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第１の解放処理と、を含み、
前記コンピュータプログラムは、前記制御部に、
前記第３の場合に、１部の両面コレート印刷を実行するための前記第１の繰返処理をＭ回実行させて、Ｍ部の両面コレート印刷を実行させ、
前記第４の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで、前記Ｍ枚の印刷媒体に対する同じページ画像の印刷を実行するための前記第２の繰返処理をＮ／２回（小数点切り上げ）実行させて、Ｍ部の両面アンコレート印刷を実行させる、コンピュータプログラム。
【請求項２１】
プリンタのためのコンピュータプログラムであって、
プリンタの制御部に、以下の各処理、即ち、
Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記プリンタの通信インターフェースを介して、前記印刷設定情報を受信する受信処理と、
前記印刷設定情報が、片面印刷を実行すべきことを示す片面情報と、Ｍ部（Ｍは２以上の整数）を示す部数情報と、コレート印刷を実行すべきことを示すコレート情報と、を含む第５の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで第１セットの処理を繰り返して、Ｎ枚の印刷媒体に対する１部の片面コレート印刷を実行する第１の繰返処理と、を実行させ、
前記第１セットの処理は、
前記サーバから、前記通信インターフェースを介して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データを受信する場合に、前記部分データを前記プリンタのメモリに格納させる格納制御処理と、
前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記プリンタの印刷エンジンに実行させる第１の印刷制御処理と、
前記第１の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第１の解放処理と、を含み、
前記コンピュータプログラムは、前記制御部に、
前記第５の場合に、Ｎ枚の印刷媒体に対する１部の片面コレート印刷を実行するための前記第１の繰返処理をＭ回実行させて、Ｍ部の片面コレート印刷を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、サーバに格納されているファイルによって表わされる複数ページ分のページ画像を印刷するプリンタを開示する。
【背景技術】
【０００２】
特許文献１には、サーバに格納されているファイルをダウンロードして印刷を実行する画像形成装置が開示されている。画像形成装置は、ユーザから、操作パネルを介して、印刷されるべきページ範囲等を示す印刷設定を伴う印刷要求を受け付ける。画像形成装置は、印刷設定に応じたデータのダウンロードをサーバに要求して、印刷設定に応じた印刷を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１４４０５号公報
【特許文献２】特開２０１４−１２８８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来、サーバに格納されているファイルに対して印刷設定が既に指定されている状況において、プリンタがサーバからデータを受信して印刷を実行すべき際に、プリンタのメモリ内の使用容量をできるだけ少なくすることについて、検討されていなかった。本明細書では、サーバに格納されているファイルに対して印刷設定が既に指定されている状況において、プリンタが、メモリ内の使用容量が少ない状態で、当該ファイルによって表わされる画像の印刷を実行するための技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される一つのプリンタは、通信インターフェースと、メモリと、印刷エンジンと、制御部と、を備え、前記制御部は、Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理であって、前記印刷設定情報は、各ページ画像の印刷順序に関係する順序情報を含む、前記受信処理と、前記印刷設定情報を受信することに応じて、１セットの処理を繰り返す繰返処理と、を実行し、前記１セットの処理は、前記順序情報を利用して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データであって、前記サーバから受信されるべき前記部分データを識別する識別情報を特定する特定処理と、前記通信インターフェースを介して、前記特定済みの識別情報を含む要求を前記サーバに送信する送信処理と、前記サーバから、前記通信インターフェースを介して、前記要求に含まれる前記識別情報によって識別される前記部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる印刷制御処理と、前記印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する解放処理と、を含む。
【０００６】
上記の構成によると、プリンタは、サーバから印刷設定情報を受信することに応じて、印刷設定情報に含まれる順序情報を利用して、Ｎページ分のページ画像のうちの一部である部分画像を印刷するための１セットの処理を繰り返す。従って、プリンタは、Ｎページ分のページ画像の印刷を実行すべき際に、Ｎページ分の部分データの全てをメモリに同時的に格納せずに済む。このために、サーバに格納されているファイルに対して印刷設定情報が既に指定されている状況において、プリンタは、メモリ内の使用容量が少ない状態で、当該ファイルによって表わされるＮページ分のページ画像の印刷を実行することができる。
【０００７】
本明細書によって開示される別のプリンタでは、制御部は、Ｎページ分（Ｎは２以上の整数）のページ画像を表わすファイルと、印刷設定情報と、を対応付けて格納しているサーバから、前記通信インターフェースを介して、前記印刷設定情報を受信する受信処理と、前記印刷設定情報がＭ部（Ｍは２以上の整数）を示す部数情報を含む第１の場合に、前記Ｎページ分のページ画像の全ての印刷が完了するまで第１セットの処理を繰り返して、１部のコレート印刷を実行する第１の繰返処理と、を実行し、前記第１セットの処理は、前記サーバから、前記通信インターフェースを介して、前記Ｎページ分のページ画像のうちの一部である部分画像を表わす部分データを受信する場合に、前記部分データを前記メモリに格納させる格納制御処理と、前記メモリ内の前記部分データを利用して、前記部分データによって表わされる前記部分画像の印刷を前記印刷エンジンに実行させる第１の印刷制御処理と、前記第１の印刷制御処理を実行した後に、前記部分データを格納している前記メモリ内の領域を解放する第１の解放処理と、を含み、前記制御部は、前記第１の場合に、１部のコレート印刷を実行するための前記第１の繰返処理をＭ回実行して、Ｍ部のコレート印刷を実行する。
【０００８】
上記の構成によると、プリンタは、Ｎページ分のページ画像のうちの一部である部分画像を印刷するための１セットの処理を繰り返す。従って、プリンタは、Ｎページ分のページ画像のＭ部のコレート印刷を実行すべき際に、Ｎページ分の部分データの全てをメモリに同時的に格納せずに済む。このために、サーバに格納されているファイルに対して印刷設定情報が既に指定されている状況において、プリンタは、メモリ内の使用容量が少ない状態で、当該ファイルによって表わされるＮページ分のページ画像のＭ部のコレート印刷を実行することができる。
【０００９】
上記のプリンタを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００１０】
【図１】通信システムの構成を示す。
【図２】印刷処理のフローチャートを示す。
【図３】片面コレート印刷処理のフローチャートを示す。
【図４】片面コレート印刷の具体例を示す。
【図５】片面アンコレート印刷処理のフローチャートを示す。
【図６】片面アンコレート印刷の具体例を示す。
【図７】両面コレート印刷処理のフローチャートを示す。
【図８】偶数ページの両面コレート印刷の具体例を示す。
【図９】奇数ページの両面コレート印刷の具体例を示す。
【図１０】両面アンコレート印刷処理のフローチャートを示す。
【図１１】偶数ページの両面アンコレート印刷の具体例を示す。
【図１２】奇数ページの両面アンコレート印刷の具体例を示す。
【発明を実施するための形態】
【００１１】
（実施例）
図１に示されるように、通信システム２は、プリンタ１０と、端末装置５０と、サーバ１００と、を備える。プリンタ１０は、ＬＡＮ（Local Area Networkの略）４を介して、インターネット６に接続されている。プリンタ１０及びサーバ１００は、インターネット６を介して、相互に通信可能である。また、端末装置５０及びサーバ１００は、インターネット６を介して、相互に通信可能である。
【００１２】
（プリンタ１０の構成）
プリンタ１０は、印刷機能を実行可能な周辺機器（即ち端末装置５０等の周辺機器）である。プリンタ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、印刷エンジン１８と、制御部３０と、を備える。各部１２〜３０は、バス線（符号省略）に接続されている。
【００１３】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、いわゆるタッチパネルとして機能し、操作部としても機能する。ネットワークインターフェース１６は、ＬＡＮ４に接続されている。ＬＡＮ４は、有線ＬＡＮでも無線ＬＡＮでもよい。
【００１４】
印刷エンジン１８は、インクジェット方式、レーザ方式等の印刷機構を備える。印刷エンジン１８は、さらに、両面印刷を実行するための両面印刷機構を備える。両面印刷機構は、まず、印刷用紙の第１面に対する印刷を実行可能な位置まで印刷用紙を搬送し、第１面に対する印刷が完了すると、印刷用紙の第１面の反対面である第２面に対する印刷を実行可能な位置まで印刷用紙を搬送する。特に、印刷エンジン１８は、複数ページ分の画像を昇順に両面印刷するものではなく、２ページ目の画像を第１の印刷用紙の第１面に印刷し、次いで、１ページ目の画像を第１の印刷用紙の第２面に印刷する。次いで、印刷エンジン１８は、４ページ目の画像を第２の印刷用紙の第１面に印刷し、次いで、３ページ目の画像を第２の印刷用紙の第２面に印刷する。このように、印刷エンジン１８は、２ｎページ目（ｎは１以上の整数）の画像を印刷用紙の第１面に印刷し、次いで、（２ｎ−１）ページ目の画像を印刷用紙の第２面に印刷する。
【００１５】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ３４は、部分データ領域４０と印刷データ領域４２とを備える。
【００１６】
部分データ領域４０は、サーバ１００から受信される部分データを格納するための領域である。部分データは、サーバ１００内の画像ファイルＩＦによって表わされる複数ページ分の画像のうちの一部の画像を表わすデータである。部分データのデータ形式は、本実施例では、サーバ１００によって画像ファイルＩＦから生成されるＰＷＧ（Printer Working Groupの略）ラスタであるが、変形例では、例えばＰＤＦ（Portable Document Formatの略）等の他の形式であってもよい。部分データ領域４０は、１ページ分の部分データを格納可能な容量を有するが、２ページ分の部分データを格納不可能である。
【００１７】
印刷データ領域４２は、プリンタ１０によって部分データから生成される印刷データを格納するための領域である。印刷データは、印刷エンジン１８が解釈可能なデータ形式を有するデータであり、本実施例では、ＣＭＹＫの比較的に少ない階調（例えば２階調、３階調等）を有するビットマップデータである。
【００１８】
（サーバ１００の構成）
サーバ１００は、プリンタ１０のベンダとは異なる事業者によってインターネット上に設置されるサーバであり、例えば、Google（登録商標）によって提供されるＧＣＰ（Google Cloud Printの略）サーバである。ただし、変形例では、サーバ１００は、例えば、プリンタ１０のベンダによって提供されるサーバであってもよい。
【００１９】
サーバ１００は、端末装置５０とプリンタ１０との間で印刷の仲介を実行するためのサーバである。即ち、サーバ１００は、端末装置５０からサブミットされる印刷ジョブＰＪに含まれる画像ファイルＩＦを変換して、プリンタ１０が解釈可能なデータ形式（即ちＰＷＧラスタ）を有する変換済みデータを生成し、当該変換済みデータをプリンタ１０に送信する。従って、端末装置５０は、画像ファイルＩＦを変換するためのプリンタドライバを備えていなくても、サーバ１００に印刷ジョブＰＪをサブミットすれば、プリンタ１０に印刷を実行させることができる。
【００２０】
（印刷の概略）
続いて、プリンタ１０が、端末装置５０からサーバ１００にサブミットされる印刷ジョブＰＪに従った印刷を実行する様子を簡単に説明しておく。まず、プリンタ１０のユーザは、プリンタ１０に関する情報をサーバ１００に登録して、プリンタ１０とサーバ１００との間にＸＭＰＰ（eXtensible Messaging and Presence Protocolの略）接続を確立させる。これにより、プリンタ１０とサーバ１００との間にいわゆる常時接続が確立されるために、インターネット６上のサーバ１００からＬＡＮ４側に存在するプリンタ１０への後述のジョブ通知の送信を実現することができる。
【００２１】
端末装置５０のユーザは、プリンタ１０に印刷を実行させることを望む場合に、サーバ１００にアクセスして、画像ファイルＩＦと印刷設定情報ＰＳとを含む印刷ジョブＰＪをサーバ１００にサブミットする。画像ファイルＩＦは、例えば、端末装置５０のメモリ内に格納されていたファイルであり、ＪＰＥＧ（Joint Photographic Experts Groupの略）、ＰＤＦ等のデータ形式を有する。印刷設定情報ＰＳは、ユーザによって設定される情報であり、両面印刷又は片面印刷を示す情報、部数を示す情報、コレート印刷又はアンコレート印刷を示す情報等を含む。なお、コレート印刷、アンコレート印刷は、それぞれ、ソート印刷、非ソート印刷と同義である。
【００２２】
サーバ１００は、印刷ジョブＰＪのサブミットを受け付けることに応じて、ＸＭＰＰ接続を利用して、ジョブ通知をプリンタ１０に送信する。これにより、プリンタ１０は、印刷ジョブＰＪがサーバ１００に格納されたことを知ることができる。そして、プリンタ１０は、画像ファイルＩＦから生成される各部分データの送信をサーバ１００に要求することによってサーバ１００から各部分データを順次受信し、各部分データから各印刷データを順次生成し、各印刷データを印刷エンジン１８に順次供給する。これにより、プリンタ１０は、印刷ジョブＰＪに従った印刷を実行することができる。なお、上記の要求の送信及び部分データの受信は、ＸＭＰＰではなく、ＨＴＴＰＳ（Hyper Text Transfer Protocol Secureの略）に従って実行される。
【００２３】
上述したように、プリンタ１０の部分データ領域４０は、２ページ分の部分データを格納不可能な比較的に少ない容量を有する。本実施例では、プリンタ１０は、このような少ない容量を有する部分データ領域４０を利用して、両面印刷及びコレート印刷を適切に実行することができる。これを実現するための処理の詳細を以下に説明する。以下では、画像ファイルＩＦが複数ページ分の画像を表わすことを前提としている。
【００２４】
（印刷処理；図２）
図２を参照して、ＣＰＵ３２によって実行される印刷処理の内容を説明する。なお、以下の通信に関係する処理の全ては、ネットワークインターフェース１６を介して実行される。このために、以下の説明では、「ネットワークインターフェース１６を介して」という説明を省略する。
【００２５】
Ｓ１０では、ＣＰＵ３２は、ＸＭＰＰ接続を利用して、サーバ１００からジョブ通知を受信することを監視する。ＣＰＵ３２は、ジョブ通知を受信する場合に、Ｓ１０でＹＥＳと判断して、Ｓ２０に進む。
【００２６】
Ｓ２０では、ＣＰＵ３２は、ＴＣＰ（Transmission Control Protocolの略）接続を確立するための接続信号をサーバ１００に送信して、サーバ１００からＯＫ信号を受信する。これにより、ＣＰＵ３２は、サーバ１００とのＴＣＰ接続を確立する。この結果、ＣＰＵ３２は、ＴＣＰ接続を利用して、サーバ１００に要求を送信したり、サーバ１００からデータを受信したりすることができる。Ｓ２２では、ＣＰＵ３２は、サーバ１００から印刷ジョブＰＪ内の印刷設定情報ＰＳを受信する。
【００２７】
Ｓ３０では、ＣＰＵ３２は、印刷設定情報ＰＳが片面印刷を示す片面情報を含むのか否かを判断する。ＣＰＵ３２は、情報ＰＳが片面情報を含む場合には、Ｓ３０でＹＥＳと判断してＳ３２に進み、情報ＰＳが両面印刷を示す両面情報を含む場合には、Ｓ３０でＮＯと判断してＳ３４に進む。
【００２８】
Ｓ３２では、ＣＰＵ３２は、情報ＰＳが、さらに、複数部を示す部数情報と、コレート印刷を示すコレート情報と、の双方を含むのか否かを判断する。ＣＰＵ３２は、情報ＰＳがこれらの情報の双方を含む場合には、Ｓ３２でＹＥＳと判断して、Ｓ４０において、片面コレート印刷処理（図３参照）を実行する。一方、ＣＰＵ３２は、情報ＰＳが、１部を示す部数情報と、アンコレート印刷を示すアンコレート情報と、のうちの少なくとも一方を含む場合には、Ｓ３２でＮＯと判断して、Ｓ５０において、片面アンコレート印刷処理（図５参照）を実行する。
【００２９】
Ｓ３４は、Ｓ３２と同様である。ＣＰＵ３２は、Ｓ３４でＹＥＳと判断する場合には、Ｓ６０において、両面コレート印刷処理（図７参照）を実行し、Ｓ３４でＮＯと判断する場合には、Ｓ７０において、両面アンコレート印刷処理（図１０参照）を実行する。
【００３０】
ＣＰＵ３２は、Ｓ４０〜Ｓ７０のいずれかが終了すると、Ｓ８０において、印刷ジョブＰＪに従った印刷が完了したことを示すジョブ完了通知をサーバ１００に送信する。この結果、サーバ１００では、印刷ジョブＰＪが削除される。
【００３１】
（片面コレート印刷処理；図３）
続いて、図３を参照して、図２のＳ４０で実行される片面コレート印刷処理の内容を説明する。なお、プリンタ１０とサーバ１００との間の以下の各通信（例えばＳ１１０、Ｓ１１２等）は、ＴＣＰ接続（図２のＳ２０、後述のＳ１５２参照）が利用される。このために、以下では、「ＴＣＰ接続を利用して」という記載を省略する。この点は、後述の図５等でも同様である。
【００３２】
Ｓ１００では、ＣＰＵ３２は、ポインタｍ及びｎのそれぞれの値を「１」に設定する。ｍ、ｎは、それぞれ、部数、ページ番号に関係するポインタである。
【００３３】
Ｓ１１０では、ＣＰＵ３２は、ページ番号「ｎ（本処理では１）」を含む要求をサーバ１００に送信する。当該要求は、ページ番号「ｎ」によって識別されるページの画像を表わす部分データの送信をサーバ１００に要求するためのコマンドである。サーバ１００は、上記の要求を受信すると、画像ファイルＩＦを変換して当該部分データ（即ちＰＷＧラスタ）を生成し、当該部分データの先頭から所定サイズのデータをプリンタ１０に順次送信する。この結果、ＣＰＵ３２は、Ｓ１１２において、サーバ１００から部分データを受信し、Ｓ１１４において、部分データを部分データ領域４０に格納する。
【００３４】
Ｓ１２０では、ＣＰＵ３２は、１ページ分の部分データの終端を受信することを監視する。１ページ分の部分データの先頭部分には当該部分データの合計データサイズが記述されている。ＣＰＵ３２は、Ｓ１１２で受信されたデータの累積データサイズをカウントし、カウント値が上記の合計データサイズに達しない場合には、Ｓ１２０でＮＯと判断してＳ１１２に戻り、カウント値が上記の合計データサイズに達する場合には、Ｓ１２０でＹＥＳと判断してＳ１３０に進む。
【００３５】
サーバ１００は、通常、ＴＣＰ接続が確立されている状態では、プリンタ１０から待機指示を受信しない限り、データをプリンタ１０に送信し続ける。例えば、サーバ１００は、１ページ分の部分データをプリンタ１０に送信し終えた後に、次の１ページ分の部分データをプリンタ１０に連続的に送信する。ただし、上述したように、プリンタ１０の部分データ領域４０は、２ページ分の部分データを格納不可能である。このために、図示省略しているが、ＣＰＵ３２は、１ページ分の部分データを受信した際（即ちＳ１２０でＹＥＳ）に、待機指示をサーバ１００に送信して、サーバ１００からのデータ送信を停止させる。
【００３６】
なお、変形例では、ＣＰＵ３２は、１ページ分の部分データを受信した際に、サーバ１００とのＴＣＰ接続を切断してもよい。このようにしても、ＣＰＵ３２は、サーバ１００からのデータ送信を停止させることができる。この場合、ＣＰＵ３２は、次の１ページ分の部分データを受信すべき際に、サーバ１００とのＴＣＰ接続を再び確立すればよい。ただし、変形例の手法では、１ページ分の部分データが受信される毎に、ＴＣＰ接続の切断及び再確立が実行されるので、部分データを受信するための時間が長くなり得る。これに対し、本実施例では、ＴＣＰ接続が確立されている状態が維持されながら、待機指示がサーバ１００に送信される構成を採用している。このために、変形例の構成と比べると、部分データを受信するための時間を短縮化し得る。
【００３７】
Ｓ１３０では、ＣＰＵ３２は、部分データ領域４０内の１ページ分の部分データ（即ちＰＷＧラスタ）を変換して、１ページ分の印刷データ（即ち比較的に少ない階調を有するＣＭＹＫデータ）を印刷データ領域４２内に生成する。なお、変形例では、サーバ１００によって印刷データが生成されてもよい。この場合、Ｓ１１２及びＳ１１４では、印刷データが受信及び格納され、Ｓ１３０を省略可能である。本変形例では、印刷データそのものが部分データである。
【００３８】
Ｓ１３２では、ＣＰＵ３２は、印刷データ領域４２内の１ページ分の印刷データを印刷エンジン１８に供給する。この結果、印刷エンジン１８は、当該印刷データによって表わされる画像を印刷用紙の一方の面に印刷する。ＣＰＵ３２は、さらに、印刷用紙を排紙するための排紙指示を印刷エンジン１８に供給する。この結果、印刷エンジン１８は、１ページ分の画像が片面印刷された印刷用紙を排紙する。
【００３９】
Ｓ１３４では、ＣＰＵ３２は、部分データ領域４０及び印刷データ領域４２のそれぞれからデータを削除することによって、各領域４０，４２を解放する。これにより、各領域４０，４２に新たなデータを格納させることができる状態になる。なお、変形例では、ＣＰＵ３２は、各領域４０，４２からデータを削除せずに、各領域４０，４２の状態をデータの上書きを実行可能な状態に設定することによって、各領域４０，４２を解放してもよい。また、別の変形例では、ＣＰＵ３２は、Ｓ１３０で印刷データを生成した後に、Ｓ１３２で印刷データを供給する前に、部分データ領域４０を解放し、Ｓ１３２で印刷データを供給した後に、印刷データ領域４２を解放してもよい。
【００４０】
Ｓ１４０では、ＣＰＵ３２は、最終ページの部分データを受信したのか否かを判断する。ＣＰＵ３２は、Ｓ１１２で受信された部分データの終端部分に最終ページであることを示す文字列が記述されている場合には、Ｓ１４０でＹＥＳと判断してＳ１５０に進む。一方、ＣＰＵ３２は、部分データの終端部分に上記の文字列が記述されていない場合には、Ｓ１４０でＮＯと判断し、データ送信を再開させるための再開指示をサーバ１００に送信してＳ１１２に戻る。
【００４１】
Ｓ１４０でＹＥＳと判断される状況では、画像ファイルＩＦによって表わされるＮページ分（Ｎは２以上の整数）の画像の全てが片面印刷されたＮ枚の印刷用紙が排紙されている。即ち、１部目の片面コレート印刷が完了している。そして、部数情報が複数部を示す場合には、２部目の片面コレート印刷が実行されるべきである。従って、プリンタ１０は、１ページ目の部分データを再び受信しなければならないので、１ページ目の部分データの送信をサーバ１００に再び要求しなければならない（Ｓ１１０）。本実施例では、プリンタ１０は、２部目の片面コレート印刷のための１ページ目の部分データの送信をサーバ１００に再び要求するために、サーバ１００とのＴＣＰ接続を切断してＴＣＰ接続を再び確立する。このために、Ｓ１５０及びＳ１５２の処理が実行される。
【００４２】
Ｓ１５０では、ＣＰＵ３２は、ＴＣＰ接続を切断するための切断信号をサーバ１００に送信して、サーバ１００とのＴＣＰ接続を切断する。そして、Ｓ１５２では、ＣＰＵ３２は、ＴＣＰ接続を確立するための接続信号をサーバ１００に再び送信して、サーバ１００とのＴＣＰ接続を再び確立する。なお、変形例では、プリンタ１０は、ＴＣＰ接続の切断及び再確立を実行しなくてもよい（即ちＳ１５０及びＳ１５２を実行しなくてもよい）。
【００４３】
Ｓ１６０では、ＣＰＵ３２は、ポインタｍの現行値と、部数情報が示す部数Ｍと、が等しいのか否かを判断する。ＣＰＵ３２は、ポインタｍの現行値と部数Ｍとが等しい場合には、Ｓ１６０でＹＥＳと判断して図３の処理を終了する。一方、ＣＰＵ３２は、ポインタｍの現行値が部数Ｍ未満である場合には、Ｓ１６０でＮＯと判断して、Ｓ１６２において、ポインタｍの現行値に「１」を加算して新たな値を設定し、Ｓ１１０に戻る。これにより、２部目以降の片面コレート印刷が実行される。
【００４４】
（片面コレート印刷処理の具体例；図４）
図４を参照して、図３の処理によって実現される具体例を説明する。以下では、ｎページ目の部分データ、当該部分データを利用した印刷を、それぞれ、「部分データ（Ｐｎ）」、「印刷（Ｐｎ）」と表現し、画像ファイルＩＦに含まれるページの総数を「Ｎ」として説明する。この点は、後述の図６等でも同様である。
【００４５】
プリンタ１０は、Ｔ１００において、ページ番号「１」を含む要求をサーバ１００に送信し（Ｓ１１０）、Ｔ１１０において、サーバ１００から部分データ（Ｐ１）を受信し（Ｓ１１２，Ｓ１１４）、Ｔ１１２において、印刷（Ｐ１）を実行して（Ｓ１３０、Ｓ１３２）、部分データ領域４０を解放する（Ｓ１３４）。
【００４６】
上記のＴ１１０及びＴ１１２は、１ページ分の部分データの受信、印刷、及び、部分データ領域４０の解放を含む１セットの処理である。プリンタ１０は、Ｎページ分の画像の全ての印刷が完了するまで１セットの処理を繰り返す繰返処理を実行して、Ｎ枚の印刷媒体に対する１部の片面コレート印刷を実行する。即ち、プリンタ１０は、２ページ目の画像の印刷のためにＴ１２０及びＴ１２２を含む１セットの処理を実行し、さらにこれを繰り返して、最終ページであるＮページ目の画像の印刷のためにＴ１３０及びＴ１３２を含む１セットの処理を実行する。これにより、１回の繰返処理（Ｔ１１０〜Ｔ１３２）が完了し、Ｎ枚の印刷媒体に対する１部の片面コレート印刷が完了する。
【００４７】
プリンタ１０は、１回の繰返処理が終了すると（Ｓ１４０でＹＥＳ）、Ｔ１４０において、ＴＣＰ接続の切断及び再確立を実行する（Ｓ１５０，Ｓ１５２）。そして、プリンタ１０は、部数Ｍに対応するＭ回の繰返処理を実行し（Ｓ１６０でＮＯ）、この結果、（Ｎ×Ｍ）枚の印刷用紙に対するＭ部の片面コレート印刷が完了する。
【００４８】
図４内のテーブルは、印刷用紙と、当該印刷用紙に印刷される画像のページ番号と、の関係を示す。当該テーブルでは、画像ファイルＩＦが６ページ分の画像を表わしており、かつ、当該画像を２部印刷する例を示す。後述の図６、図８、及び、図１１も同様の例を示す。テーブルに示される矢印は、ＴＣＰ接続の切断及び再確立（Ｔ１４０）が実行されるタイミングを示す。１〜６枚目の印刷用紙に対して１〜６ページ目の画像が印刷されて、１部目の片面コレート印刷が完了する。そして、７〜１２枚目の印刷用紙に対して１〜６ページ目の画像が印刷されて、２部目の片面コレート印刷が完了する。この結果、１２枚（６ページ×２部）の印刷用紙に対する２部の片面コレート印刷が完了する。
【００４９】
例えば、部分データ領域４０が６ページ分の部分データを格納可能な容量を有する状況を想定する。この場合、プリンタ１０は、１ページ分の部分データを利用した印刷を実行する毎に、部分データ領域４０を解放せずに、６ページ分の部分データの全てを部分データ領域４０に格納することができる。従って、プリンタ１０は、１部目の片面コレート印刷が終了した後に、サーバ１００から部分データを受信することなく、部分データ領域４０内の各部分データを利用して、２部目の片面コレート印刷を実行することができる。しかしながら、本実施例では、部分データ領域４０は、１ページ分の部分データしか格納することができず、上記の手法を採用することができない。従って、プリンタ１０は、１ページ分の部分データの受信、印刷、及び、部分データ領域４０の解放を含む１セットの処理を繰り返す繰返処理をＭ回実行して、Ｍ部の片面コレート印刷を実現する。このために、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、複数部の片面コレート印刷を適切に実行することができる。
【００５０】
（片面アンコレート印刷処理；図５）
続いて、図５を参照して、図２のＳ５０で実行される片面アンコレート印刷処理の内容を説明する。Ｓ２００〜Ｓ２３２は、図３のＳ１００〜Ｓ１３２と同様である。
【００５１】
Ｓ２４０〜Ｓ２４２は、図３のＳ１６０〜Ｓ１６２と同様である。Ｓ２４０でＮＯの場合には、Ｓ２４２を経てＳ２３２が再び実行される。即ち、部数Ｍに対応するＭ枚の印刷媒体のそれぞれに対する１ページ分の画像の印刷が完了するまで、Ｓ２３２が繰り返し実行される。
【００５２】
Ｓ２４０でＹＥＳの場合には、ＣＰＵ３２は、Ｓ２４４において、ポインタｍの値を「１」に初期化し、Ｓ２４６において、部分データ領域４０を解放する。そして、Ｓ２５０は、図３のＳ１４０と同様であり、Ｓ２５０でＮＯの場合には、Ｓ２１２に戻り、Ｓ２５０でＹＥＳの場合には、図５の処理が終了する。
【００５３】
（片面アンコレート印刷処理の具体例；図６）
図６を参照して、図５の処理によって実現される具体例を説明する。プリンタ１０は、Ｔ２００において、ページ番号「１」を含む要求をサーバ１００に送信し（Ｓ２１０）、Ｔ２１０において、サーバ１００から部分データ（Ｐ１）を受信し（Ｓ２１２，Ｓ２１４）、Ｔ２１２において、印刷（Ｐ１）を実行する（Ｓ２３０、Ｓ２３２）。プリンタ１０は、Ｍ枚の印刷用紙のそれぞれに対する１ページ目の画像の印刷が完了するまで、印刷（Ｐ１）を繰り返し実行する（Ｓ２４０でＮＯ、Ｓ２３２）。即ち、プリンタ１０は、Ｔ２１４において、印刷（Ｐ１）を再び実行し（Ｓ２３２）、これを繰り返して、合計でＭ回の印刷（Ｐ１）を実行する。そして、Ｔ２２０では、プリンタ１０は、部分データ領域４０を解放する（Ｓ２４６）。
【００５４】
上記のＴ２１０〜Ｔ２２０は、１ページ分の部分データの受信、Ｍ回の印刷、及び、部分データ領域４０の解放を含む１セットの処理である。プリンタ１０は、Ｎページ分の画像の全ての印刷が完了するまで１セットの処理をＮ回繰り返す繰返処理を実行する。即ち、プリンタ１０は、２ページ目の画像の印刷のためにＴ２３０〜Ｔ２４０を含む１セットの処理を実行し（Ｓ２１２〜Ｓ２４６）、３ページ目以降についても同様に１セットの処理を実行する（Ｓ２１２〜Ｓ２４６）。この結果、（Ｎ×Ｍ）枚の印刷用紙に対するＭ部の片面アンコレート印刷が完了する。
【００５５】
図６のテーブルに示されるように、１及び２枚目の印刷用紙に対して１ページ目の画像が印刷され、３及び４枚目の印刷用紙に対して２ページ目の画像が印刷される。同様に、２枚の印刷用紙に対して同じ画像が印刷されることが繰り返し実行される。この結果、１２枚（６ページ×２部）の印刷用紙に対する２部の片面アンコレート印刷が完了する。このように、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、複数部の片面アンコレート印刷を適切に実行することができる。
【００５６】
（両面コレート印刷処理；図７）
続いて、図７を参照して、図２のＳ６０で実行される両面コレート印刷処理の内容を説明する。Ｓ３００は、図３のＳ１００と同様である。
【００５７】
上述したように、印刷エンジン１８の両面印刷機構は、２ｎページ目の画像を印刷用紙の第１面に印刷し、次いで、（２ｎ−１）ページ目の画像を印刷用紙の第２面に印刷する。これを実現するために、Ｓ３１０では、ＣＰＵ３２は、まず、サーバ１００に要求すべきページ番号として「２ｎ」を特定し、特定済みのページ番号「２ｎ」を含む要求をサーバ１００に送信する。
【００５８】
Ｓ３１１では、ＣＰＵ３２は、サーバ１００から、Ｓ３１０の要求に対するＯＫ信号を受信したのか否かを判断する。ＯＫ信号は、Ｓ３１０の要求に含まれるページ番号「２ｎ」に対応するページが画像ファイルＩＦに存在する場合に、サーバ１００から送信される。一方、例えば、ｎ＝３であることに起因してページ番号「６」を含む要求がサーバ１００に送信され、画像ファイルＩＦのページ数が５ページである場合には、ページ番号「６」に対応するページが画像ファイルＩＦに存在しない。この場合、サーバ１００からＮＧ信号が送信される。ＣＰＵ３２は、サーバ１００からＯＫ信号を受信する場合（Ｓ３１１でＹＥＳ）にはＳ３１２に進み、サーバ１００からＮＧ信号を受信する場合（Ｓ３１１でＮＯ）にはＳ３４５に進む。
【００５９】
Ｓ３１２〜Ｓ３３４は、図３のＳ１１２〜Ｓ１３４と同様である。ただし、Ｓ３３２では、ＣＰＵ３２は、印刷用紙を排紙するための排紙指示を印刷エンジン１８に供給するのではなく、搬送指示を印刷エンジン１８に供給する。この結果、印刷エンジン１８は、２ｎページ目の画像を印刷用紙の第１面に印刷した後に、印刷用紙の第１面に対する印刷を実行可能な位置から、印刷用紙の第２面に対する印刷を実行可能な位置まで、印刷用紙を搬送する。
【００６０】
Ｓ３４０，Ｓ３４２は、図３のＳ１５０，Ｓ１５２と同様である。サーバ１００は、ページ番号「２ｎ」を含む要求に応じて、２ｎページ目の部分データをプリンタ１０に送信する場合には、２ｎページ目から最終ページ目までの各部分データを昇順のページ順で送信し終えること、又は、ＴＣＰ接続の切断及び再確立、のどちらかが実行されるまで、ページ番号「２ｎ−１」を含む要求に応じて、（２ｎ−１）ページ目の部分データをプリンタ１０に送信することができない。前者の構成は、最終ページ目までの各部分データの通信を実行する必要があるので、通信時間の長期化の観点から好ましくない。従って、本実施例では後者の構成を採用しており、Ｓ３４０，Ｓ３４２が実行される。この結果、プリンタ１０は、２ｎページ目の部分データを受信した後に、最終ページ目までの各部分データを受信しなくても、ページ番号「２ｎ−１」を含む要求をサーバ１００に送信して（後述のＳ３５０参照）、（２ｎ−１）ページ目の部分データを受信することができる。同様に、プリンタ１０は、後述のＳ３５２に含まれるＳ３４０，Ｓ３４２を実行するので、最終ページ目までの各部分データを受信しなくても、ページ番号「２ｎ」を含む要求をサーバ１００に送信して（Ｓ３１０参照）、２ｎページ目の部分データを受信することができる。なお、変形例では、プリンタ１０は、最終ページ目までの各部分データを受信する上記の前者の構成を採用し、Ｓ３４０，Ｓ３４２を実行しなくてもよい。
【００６１】
Ｓ３４５では、ＣＰＵ３２は、印刷データを印刷エンジン１８に供給することなく、Ｓ３３２で説明した搬送指示と同じ搬送指示を印刷エンジン１８に供給する。この結果、印刷エンジン１８は、印刷用紙の第１面に対する印刷を実行することなく、印刷用紙の第１面に対する印刷を実行可能な位置から、印刷用紙の第２面に対する印刷を実行可能な位置まで、印刷用紙を搬送する。Ｓ３４５が終了すると、Ｓ３５０に進む。
【００６２】
Ｓ３５０では、ＣＰＵ３２は、サーバ１００に要求すべきページ番号として「２ｎ−１」を特定し、特定済みのページ番号「２ｎ−１」を含む要求をサーバ１００に送信する。そして、Ｓ３５２では、ＣＰＵ３２は、Ｓ３１２〜Ｓ３４２と同様の処理を実行する。ただし、ここでのＳ３３２では、ＣＰＵ３２は、搬送指示を印刷エンジン１８に供給するのではなく、印刷用紙を排紙するための排紙指示を印刷エンジン１８に供給する。この結果、印刷エンジン１８は、（２ｎ−１）ページ目の画像を印刷用紙の第２面に印刷した後に、印刷用紙を排紙する。
【００６３】
Ｓ３６０では、ＣＰＵ３２は、２ｎページ目又は（２ｎ−１）ページ目の部分データが最終ページの部分データであるのか否かを判断する。具体的には、ＣＰＵ３２は、２ｎページ目及び（２ｎ−１）ページ目の部分データのうちのどちらにも、最終ページであることを示す文字列が記述されていない場合には、Ｓ３６０でＮＯと判断してＳ３６２に進む。Ｓ３６２では、ＣＰＵ３２は、ポインタｎの現行値に「１」を加算してポインタｎの新たな値を設定し、Ｓ３１０に戻る。
【００６４】
一方、ＣＰＵ３２は、２ｎページ目及び（２ｎ−１）ページ目の部分データのうちの一方に上記の文字列が記述されている場合には、Ｓ３６０でＹＥＳと判断してＳ３７０に進む。Ｓ３６０でＹＥＳと判断される状況では、１部目の両面コレート印刷が完了している。ＣＰＵ３２は、ポインタｍの現行値と部数情報が示す部数Ｍとが等しい場合（Ｓ３７０でＹＥＳ）には、図７の処理を終了する。一方、ＣＰＵ３２は、ポインタｍの現行値が部数Ｍ未満である場合（Ｓ３７０でＮＯ）には、Ｓ３７２において、ポインタｍの現行値に「１」を加算して新たな値を設定すると共に、ポインタｎの値を「１」に初期化して、Ｓ３１０に戻る。これにより、２部目以降の両面コレート印刷が実行される。
【００６５】
（両面コレート印刷処理（偶数ページ）の具体例；図８）
図８を参照して、図７の処理によって実現される具体例を説明する。図８は、画像ファイルＩＦのページ数が偶数であるケースである。プリンタ１０は、Ｔ３００において、ページ番号「２」を含む要求をサーバ１００に送信し（Ｓ３１０）、Ｔ３０２において、サーバ１００から部分データ（Ｐ２）を受信し（Ｓ３１２，Ｓ３１４）、Ｔ３０４において、印刷（Ｐ２）を実行して（Ｓ３３０，Ｓ３３２）、部分データ領域４０を解放する（Ｓ３３４）。次いで、Ｔ３０６において、プリンタ１０は、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３４０，Ｓ３４２）。
【００６６】
上記のＴ３００〜Ｔ３０４は、サーバ１００に要求すべきページ番号の特定、１ページ分の部分データの要求、印刷、及び、部分データ領域４０の解放を含む１セットの処理である。プリンタ１０は、１セットの処理が終了する毎に、サーバ１００とのＴＣＰ接続の切断及び再確立を実行しながら、Ｎページ分の画像の全ての印刷が完了するまで１セットの処理を繰り返す繰返処理を実行して、Ｎ／２枚の印刷媒体に対する１部の両面コレート印刷を実行する。即ち、プリンタ１０は、１ページ目の画像の印刷のためにＴ３１０〜Ｔ３１４を含む１セットの処理を実行し（Ｓ３５０、Ｓ３５２内のＳ３１２〜Ｓ３３４）、Ｔ３１６において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３５２内のＳ３４０，Ｓ３４２）。次いで、プリンタ１０は、４ページ目の画像の印刷のためにＴ３２０〜Ｔ３２４を含む１セットの処理を実行し（Ｓ３１０〜Ｓ３３４）、Ｔ３２６において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３４０，Ｓ３４２）。
【００６７】
同様に、プリンタ１０は、Ｎページ目の画像の印刷のためにＴ３３０〜Ｔ３３４を含む１セットの処理を実行し（Ｓ３１０〜Ｓ３３４）、Ｔ３３６において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３４０，Ｓ３４２）。ここで、プリンタ１０は、最終ページであることを示す文字列が記述されている部分データを受信する。ただし、プリンタ１０は、さらに、（Ｎ−１）ページ目の画像の印刷のためにＴ３４０〜Ｔ３４４を含む１セットの処理を実行し（Ｓ３５０、Ｓ３５２内のＳ３１２〜Ｓ３３４）、Ｔ３４６において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３５２内のＳ３４０，Ｓ３４２）。これにより、１回の繰返処理（Ｔ３００〜Ｔ３４６）が完了し、Ｎ／２枚の印刷媒体に対する１部の両面コレート印刷が完了する。
【００６８】
プリンタ１０は、１回の繰返処理が終了すると（Ｓ３６０でＹＥＳ）、次の繰返処理を実行する（Ｓ３７０でＮＯ）。プリンタ１０は、合計でＭ回の繰返処理を実行し、この結果、（Ｎ／２×Ｍ）枚の印刷用紙に対するＭ部の両面コレート印刷が完了する。
【００６９】
図８のテーブルに示されるように、１〜３枚目の印刷用紙に対して１〜６ページ目の画像が印刷されて、１部目の両面コレート印刷が完了する。そして、４〜６枚目の印刷用紙に対して１〜６ページ目の画像が印刷されて、２部目の両面コレート印刷が完了する。この結果、６枚（６ページ／２×２部）の印刷用紙に対する２部の両面コレート印刷が完了する。
【００７０】
（両面コレート印刷処理（奇数ページ）の具体例；図９）
図９は、画像ファイルＩＦのページ数が奇数であるケースである。Ｔ３００〜Ｔ３２６は、図８のＴ３００〜Ｔ３２６と同様である。Ｔ３３０’では、プリンタ１０は、画像ファイルＩＦのページ数「Ｎ（例えば５）」よりも大きいページ番号「Ｎ＋１（例えば６）」を含む要求をサーバ１００に送信する（Ｓ３１０）。この場合、プリンタ１０は、サーバ１００からＮＧ信号を受信し（Ｓ３１１でＮＯ）、印刷を実行することなく、印刷用紙を搬送する（Ｓ３４５）。そして、プリンタ１０は、Ｔ３３６’において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３４０，Ｓ３４２）。次いで、プリンタ１０は、Ｔ３４０’〜Ｔ３４４’を含む１セットの処理を実行し（Ｓ３５０、Ｓ３５２内のＳ３１２〜Ｓ３３４）、Ｔ３４６’において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ３５２内のＳ３４０，Ｓ３４２）。これにより、１回の繰返処理（Ｔ３００〜Ｔ３４６’）が完了し、Ｎ／２枚（小数点切り上げ）の印刷媒体に対する１部の両面コレート印刷が完了する。
【００７１】
プリンタ１０は、１回の繰返処理が終了すると（Ｓ３６０でＹＥＳ）、次の繰返処理を実行する（Ｓ３７０でＮＯ）。プリンタ１０は、合計でＭ回の繰返処理を実行し、この結果、（Ｎ／２（小数点切り上げ）×Ｍ）枚の印刷用紙に対するＭ部の両面コレート印刷が完了する。
【００７２】
図９内のテーブルは、画像ファイルＩＦが５ページ分の画像を表わしており、かつ、当該画像を２部印刷する例を示す。後述の図１１も同様の例を示す。図９内のテーブルに示されるように、１〜３枚目の印刷用紙に対して１〜５ページ目の画像が印刷されて、１部目の両面コレート印刷が完了する。そして、４〜６枚目の印刷用紙に対して１〜５ページ目の画像が印刷されて、２部目の両面コレート印刷が完了する。３及び６枚目の印刷用紙では、第１面に画像が印刷されておらず、第２面に５ページ目の画像が印刷される。この結果、６枚（５ページ／２（小数点繰り上げ）×２部）の印刷用紙に対する２部の両面コレート印刷が完了する。
【００７３】
例えば、プリンタ１０が、２ページ分の部分データを縮小して、２ページ分の縮小部分データを部分データ領域４０に格納する構成を採用する状況を想定する。この場合、プリンタ１０は、まず、１ページ目の部分データを受信し、当該部分データを縮小して縮小済み部分データを部分データ領域４０に格納し、次いで、２ページ目の部分データを受信し、当該部分データを縮小して縮小済み部分データを部分データ領域４０に格納する。このようにすれば、部分データ領域４０が縮小前の１ページ分の部分データしか格納できなくても、２ページ分の縮小済み部分データを部分データ領域４０に格納させることができる。そして、プリンタ１０は、２ページ目の縮小済み部分データを利用して印刷用紙の第１面に印刷を実行し、次いで、１ページ目の縮小済み部分データを利用して印刷用紙の第２面に印刷を実行する。このような構成を採用すれば、プリンタ１０は、ページ番号の昇順に部分データを受信すればよいので、上記の１セットの処理を繰り返さずに済み、さらに、上記の１セットの処理毎のＴＣＰ接続の切断及び再確立を実行せずに済む。しかしながら、部分データが縮小されるので、印刷済み画像の画質が低下する。これを避けるために、本実施例では、プリンタ１０は、上記の１セットの処理を繰り返し、さらに、上記の１セットの処理毎のＴＣＰ接続の切断及び再確立を実行する構成を採用している。プリンタ１０は、部分データを縮小せずに済むので、高品質の画像を印刷することができる。このために、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、複数部の両面コレート印刷を適切に実行することができる。
【００７４】
（両面アンコレート印刷処理；図１０）
続いて、図１０を参照して、図２のＳ７０で実行される両面アンコレート印刷処理の内容を説明する。Ｓ４００は、図３のＳ１００と同様である。ＣＰＵ３２は、Ｓ４０２において、図７のＳ３１０〜Ｓ３５０の処理を実行し、Ｓ４０４において、図７のＳ３５２（即ちＳ３１２〜Ｓ３４２）の処理を実行する。
【００７５】
ＣＰＵ３２は、ポインタｍの現行値が、部数情報が示す部数Ｍ未満である場合（Ｓ４１０でＮＯ）には、Ｓ４１２において、ポインタｍの現行値に「１」を加算して新たな値を設定して、Ｓ４０２に戻る。即ち、部数Ｍに対応するＭ枚の印刷媒体のそれぞれに対する印刷が完了するまで、Ｓ４０２及びＳ４０４が繰り返し実行される。ここで、画像ファイルＩＦのページ数が偶数である場合には、常に、Ｍ枚の印刷媒体のそれぞれに対して同じ２ページ分の画像が印刷される。一方、画像ファイルＩＦのページ数が奇数である場合には、最終ページの画像の印刷を除いて、Ｍ枚の印刷媒体のそれぞれに対して同じ２ページ分の画像が印刷される。ただし、最終ページの画像については、Ｍ枚の印刷媒体のそれぞれに対して同じ１ページ分の画像（即ち最終ページの画像）のみが印刷される。
【００７６】
一方、ＣＰＵ３２は、ポインタｍの現行値が部数Ｍに等しい場合（Ｓ４１０でＹＥＳ）には、Ｓ４６０に進む。Ｓ４６０は、図７のＳ３６０と同様であり、ＣＰＵ３２は、Ｓ４６０でＹＥＳの場合には、図１０の処理を終了する。一方、ＣＰＵ３２は、Ｓ４６０でＮＯの場合には、Ｓ４６２において、ポインタｎの現行値に「１」を加算して新たな値を設定すると共に、ポインタｍの値を「１」に初期化して、Ｓ４０２に戻る。
【００７７】
（両面アンコレート印刷処理（偶数ページ）の具体例；図１１）
図１１を参照して、図１０の処理によって実現される具体例を説明する。図１１は、画像ファイルＩＦのページ数が偶数であるケースである。Ｔ４００〜Ｔ４１６は、図８のＴ３００〜Ｔ３１６と同様である。これにより、１枚の印刷媒体に対する２ページ分の画像の印刷が完了する。次いで、プリンタ１０は、２ページ目の画像の印刷のためにＴ４２０〜Ｔ４２４を含む１セットの処理を実行し（Ｓ４０２内のＳ３１０〜Ｓ３３４）、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ４０２内のＳ３４０，Ｓ３４２）。プリンタ１０は、１セットの処理を２Ｍ回繰り返す繰返処理（Ｔ４００〜Ｔ４２６）を実行し、この結果、Ｍ枚の印刷媒体のそれぞれに対する同じ２ページ分の画像の印刷が完了する。
【００７８】
プリンタ１０は、１回の繰返処理が終了すると（Ｓ４１０でＹＥＳ）、次の繰返処理を実行する（Ｓ４６０でＮＯ）。最終ページとその前のページの印刷のためのＴ４３０〜Ｔ４４６は、図８のＴ３３０〜Ｔ３４６と同様である。プリンタ１０は、合計でＮ／２回の繰返処理を実行し、この結果、（Ｎ／２×Ｍ）枚の印刷用紙に対するＭ部の両面アンコレート印刷が完了する。
【００７９】
図１１のテーブルに示されるように、１及び２枚目の印刷用紙に対して２及び１ページ目の画像が印刷され、３及び４枚目の印刷用紙に対して４及び３ページ目の画像が印刷される。同様に、２枚の印刷用紙のそれぞれに対して同じ２ページ分の画像が印刷されることが繰り返し実行される。この結果、６枚（６ページ／２×２部）の印刷用紙に対する２部の両面アンコレート印刷が完了する。プリンタ１０は、部分データを縮小せずに済むので、高品質の画像を印刷することができる。このために、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、複数部の両面アンコレート印刷を適切に実行することができる。
【００８０】
（両面アンコレート印刷処理（奇数ページ）の具体例；図１２）
図１２は、画像ファイルＩＦのページ数が奇数であるケースである。Ｔ４００〜Ｔ４２６は、図１１のＴ４００〜Ｔ４２６と同様である。Ｔ４３０’では、プリンタ１０は、画像ファイルＩＦのページ数「Ｎ（例えば５）」よりも大きいページ番号「Ｎ＋１（例えば６）」を含む要求をサーバ１００に送信する（Ｓ４０２内のＳ３１０）。この場合、プリンタ１０は、サーバ１００からＮＧ信号を受信し（Ｓ４０２内のＳ３１１でＮＯ）、印刷を実行することなく、印刷用紙を搬送する（Ｓ４０２内のＳ３４５）。そして、プリンタ１０は、Ｔ４３６’において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ４０２内のＳ３４０，Ｓ３４２）。次いで、プリンタ１０は、Ｔ４４０’〜Ｔ４４４’を含む１セットの処理を実行し（Ｓ４０２内のＳ３５０、Ｓ４０４内のＳ３１２〜Ｓ３３４）、Ｔ４４６’において、サーバ１００とのＴＣＰ接続の切断及び再確立を実行する（Ｓ４０４内のＳ３４０，Ｓ３４２）。プリンタ１０は、合計でＮ／２回（小数点切り上げ）の繰返処理を実行し、この結果、（Ｎ／２（小数点切り上げ）×Ｍ）枚の印刷用紙に対するＭ部の両面アンコレート印刷が完了する。
【００８１】
図１２のテーブルは、図１１のテーブルとほぼ同様であるが、５及び６枚目の印刷用紙では、第１面に画像が印刷されておらず、第２面に５ページ目の画像が印刷される。この結果、６枚（５ページ／２（小数点繰り上げ）×２部）の印刷用紙に対する２部の両面アンコレート印刷が完了する。
【００８２】
（本実施例の効果）
本実施例によると、図８、図９、図１１、及び、図１２に示されるように、プリンタ１０は、サーバ１００から印刷設定情報ＰＳを受信することに応じて（図２のＳ２２）、印刷設定情報ＰＳに含まれる各情報（即ち、両面印刷又は片面印刷を示す情報、部数情報、コレート印刷又はアンコレート印刷を示す情報）を利用して、Ｎページ分の画像のうちの一部である１ページ分の画像を印刷するための１セットの処理を繰り返す。従って、プリンタ１０は、Ｎページ分の画像の印刷を実行すべき際に、Ｎページ分の部分データの全てを部分データ領域４０に同時的に格納せずに済む。このために、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、Ｎページ分の画像の印刷を実行することができる。
【００８３】
また、本実施例によると、図３、図８、及び、図９に示されるように、プリンタ１０は、サーバ１００から印刷設定情報ＰＳを受信し（図２のＳ２２）、印刷設定情報ＰＳが複数部であるＭ部を示す部数情報とコレート印刷を示すコレート情報とを含む場合（図２のＳ３４でＹＥＳ、Ｓ３２でＹＥＳ）に、Ｎページ分のページ画像のうちの一部である１ページ分の画像を印刷するための１セットの処理を繰り返す。従って、プリンタは、Ｎページ分の画像のＭ部のコレート印刷を実行すべき際に、Ｎページ分の部分データの全てを部分データ領域４０に同時的に格納せずに済む。このために、プリンタ１０は、サーバ１００に格納されている画像ファイルＩＦに対して印刷設定情報ＰＳが既に指定されている状況において、メモリ３４内の使用容量が少ない状態で、Ｎページ分の画像のＭ部のコレート印刷を実行することができる。
【００８４】
（対応関係）
両面印刷又は片面印刷を示す情報、部数情報、コレート印刷又はアンコレート印刷を示す情報が、「順序情報」の一例である。図７及び図１０のＳ３００、Ｓ３６２、及び、Ｓ３７２において、ポインタｎの値を設定して、Ｓ３１０及びＳ３５０において、サーバ１００に要求すべきページ番号を特定する処理が、「特定処理」の一例である。Ｓ３４２の処理、Ｓ３１０及びＳ３５０で要求を送信する処理、Ｓ３１４の処理、Ｓ３２０の処理、Ｓ３３０及びＳ３３２の処理、Ｓ３３４の処理、Ｓ３４０の処理、Ｓ３４５の処理が、それぞれ、「確立処理」、「送信処理」、「格納制御処理」、「監視処理」、「印刷制御処理」、「解放処理」、「切断処理」、「搬送制御処理」の一例である。図８、図９、図１１、及び、図１２に示される繰返処理が、「繰返処理」の一例である。図８のＴ３３０、Ｔ３４０が、それぞれ、Ｎが偶数である場合における「ｊ回目の送信処理」、「（ｊ＋１）回目の送信処理」の一例である。図９のＴ４３０、Ｔ４４０が、それぞれ、Ｎが奇数である場合における「ｊ回目の送信処理」、「（ｊ＋１）回目の送信処理」の一例である。
【００８５】
図３のＳ１１４及び図７のＳ３１４の処理、図３のＳ１３０、Ｓ１３２、図７のＳ３３０、及び、Ｓ３３２の処理、図３のＳ１３４及び図７のＳ３３４の処理が、それぞれ、「格納制御処理」、「第１の印刷制御処理」、「第１の解放処理」の一例である。図３のＳ１５０の処理、Ｓ１５２の処理が、それぞれ、「切断処理」、「確立処理」の一例である。図４、図８、及び、図９の繰返処理が、「第１の繰返処理」の一例である。図１１及び図１２の繰返処理が、「第２の繰返処理」の一例である。図５のＳ２１４の処理、Ｓ２３０及びＳ２３２の処理、Ｓ２４６の処理が、それぞれ、「格納制御処理」、「第２の印刷制御処理」、「第２の解放処理」の一例である。図６の繰返処理が、「第３の繰返処理」の一例である。
【００８６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００８７】
（変形例１）部分データ領域４０は、１ページ分の部分データよりも小さい部分データしか格納できない容量（例えば半ページ分の部分データのみを格納可能な容量）を有していてもよい。この場合、ＣＰＵ３２は、半ページ分の部分データを順次受信してもよい。ＣＰＵ３２は、例えば、図７のＳ３１０において、２ページ目のページ番号を含む要求を送信する場合に、Ｓ３１２，Ｓ３１４において、２ページ目の前半部分の部分データを受信して格納し、Ｓ３３０，Ｓ３３２において、当該部分データを利用した印刷を実行し、Ｓ３３４において、部分データ領域４０を解放する。次いで、ＣＰＵ３２は、２ページ目のページ番号を含む要求を再び送信し、２ページ目の前半部分の部分データを部分データ領域４０に格納せずに破棄し、２ページ目の後半部分の部分データを受信して格納し、当該部分データを利用した印刷を実行し、部分データ領域４０を解放する。図７以外でも、同様の処理が実行される。本変形例では、「部分データ」は、１ページ分のページ画像よりも小さい部分画像を表わすデータである。別の変形例では、部分データ領域４０が１ページ分の部分データよりも大きい部分データを格納可能な容量を有していてもよい。この場合、「部分データ」は、１ページ分のページ画像よりも大きい部分画像（例えば２ページ分のページ画像）を表わすデータである。
【００８８】
（変形例２）上記のサーバ１００は、ページ番号を含む要求を受信する場合に、当該ページ番号に対応する部分データと、それ以降の各ページ番号に対応する各部分データと、をプリンタ１０に順次送信する。これに代えて、サーバ１００は、ページ番号を含む要求を受信する場合に、当該ページ番号に対応する部分データのみをプリンタ１０に送信するものであってもよい。この場合、ＣＰＵ３２は、例えば図３のＳ１２０において、１ページ分の部分データの終端を検出せずに済む。また、ＣＰＵ３２は、例えば図３のＳ１４０でＮＯと判断する場合に、次のページ番号を含む要求をサーバ１００に送信して、Ｓ１１２に進む。また、本変形例では、ＣＰＵ３２は、例えば図７のＳ３４０，Ｓ３４２を実行しなくてもよい。
【００８９】
（変形例３）ＣＰＵ３２は、例えば、図７のＳ３１０及びそれと同様の各処理において、ページ番号を含む要求をサーバ１００に送信する代わりに、当該ページ番号によって識別される部分データの先頭のデータ位置（例えば画像ファイルＩＦの先頭からのバイト数）を示す情報を含む要求をサーバ１００に送信してもよい。本変形例では、データ位置を示す情報が、「識別情報」の一例である。
【００９０】
（変形例４）印刷設定情報ＰＳは、さらに、逆順印刷を実行すべきことを示す逆順情報、印刷ページ範囲を示す範囲情報等を含んでいてもよい。この場合、ＣＰＵ３２は、例えば、図７のＳ３１０及びそれと同様の各処理において、逆順情報、範囲情報等をさらに利用して、サーバ１００に要求すべきページ番号を特定する。本変形例では、逆順情報、範囲情報等が、「順序情報」の一例である。
【００９１】
（変形例５）上記の実施例では、印刷エンジン１８は、両面コレート印刷を実行すべき場合に、１枚目の印刷用紙の第１面に対する２ページ目の画像、１枚目の印刷用紙の第２面に対する１ページ目の画像、２枚目の印刷用紙の第１面に対する４ページ目の画像、２枚目の印刷用紙の第２面に対する３ページ目の画像の順序で印刷を実行する。これに代えて、印刷エンジン１８は、例えば、１枚目の印刷用紙の第１面に対する２ページ目の画像、２枚目の印刷用紙の第１面に対する４ページ目の画像、１枚目の印刷用紙の第２面に対する１ページ目の画像、２枚目の印刷用紙の第２面に対する３ページ目の画像の順序で印刷を実行してもよい。即ち、プリンタ１０は、両面コレート印刷を実行すべき際に、２ページ目、４ページ目、１ページ目、３ページ目・・・の順序で、各部分データを受信してもよい。また、別の変形例では、印刷エンジン１８は、例えば、１枚目の印刷用紙の第１面に対する１ページ目の画像、１枚目の印刷用紙の第２面に対する２ページ目の画像、２枚目の印刷用紙の第１面に対する３ページ目の画像、２枚目の印刷用紙の第２面に対する４ページ目の画像の順序で印刷を実行してもよい。即ち、プリンタ１０は、両面コレート印刷を実行すべき際に、１ページ目、２ページ目、３ページ目、４ページ目・・・の順序で、各部分データを受信してもよい。即ち、「特定処理」では、上記の実施例と同じ順序で識別情報が特定されなくてもよい。
【００９２】
（変形例６）ＣＰＵ３２は、例えば、図７の処理を開始する前に、サーバ１００に要求すべきページ番号の順序を決定してもよい。例えば、図８のテーブルの例では、ＣＰＵ３２は、２、１、４、３・・・という順序を決定してもよい。そして、ＣＰＵ３２は、ポインタｍ，ｎを利用する代わりに、要求をサーバ１００に送信すべき毎に、決定済みの順序に従ってページ番号を特定してもよい。このように、決定済みの順序に従ってページ番号を特定する処理も、「特定処理」の一例である。
【００９３】
（変形例７）ＣＰＵ３２は、例えば、図７のＳ３２０及びそれと同様の各処理において、部分データ領域４０に格納されているデータ量が閾値未満になること（即ちメモリフルになること）を監視し、部分データ領域４０がメモリフルになる場合に、Ｓ３２０でＹＥＳと判断してもよい。即ち、「ページ終端データを受信することを監視する監視処理」が実行されなくてもよい。
【００９４】
（変形例８）メモリ３４内の各領域４０，４２を解放する処理（例えば、図３のＳ１３４、図５のＳ２４６、図７のＳ３３４等）は、以下のように実行されてもよい。各領域４０，４２は、常に、データの上書きを実行可能な状態に設定されていてもよい。そして、ＣＰＵ３２は、部分データを受信して当該部分データを領域４０に格納することによって（例えば図７のＳ３１４参照）、領域４０を解放してもよい。即ち、本変形例では、あるページの部分データのための「解放処理」と、次のページの部分データのための「格納制御処理」と、が同時的に実行される。
【００９５】
（変形例９）プリンタ１０は、アンコレート印刷を実行不可能であり、コレート印刷のみを実行可能であってもよい。また、別の変形例では、プリンタ１０は、コレート印刷を実行不可能であり、アンコレート印刷のみを実行可能であってもよい。上記のどちらの変形例でも、印刷設定情報ＰＳは、コレート印刷又はアンコレート印刷を示す情報を含まなくてもよい。また、別の変形例では、プリンタ１０は、両面印刷を実行不可能であり、片面印刷のみを実行可能であってもよい。この場合、印刷設定情報ＰＳは、両面印刷又は片面印刷を示す情報を含まなくてもよい。また、別の変形例では、プリンタ１０は、プリンタ１０の排紙方法がフェイスアップに設定されている場合には、各ページの部分データを逆順で要求し、プリンタ１０の排紙方法がフェイスダウンに設定されている場合には、各ページの部分データを昇順で要求してもよい。ここで、フェイスアップ（又はファイルダウン）は、印刷用紙の印刷面が上方（又は下方）を向いた状態で排紙されることを意味する。このように、プリンタ１０は、排紙方法に応じて、要求すべきページ番号を決定することができるので、印刷設定情報ＰＳは、昇順又は逆順を示す情報を含まなくてもよい。上述したように、印刷設定情報ＰＳは、コレート印刷又はアンコレート印刷を示す情報、両面印刷又は片面印刷を示す情報、及び、昇順又は逆順を示す情報のいずれも含まなくてもよい。一般的に言うと、「印刷設定情報」は、順序情報を含まなくてもよい。
【００９６】
（変形例１０）例えば、画像ファイルＩＦがサーバ１００にサブミットされる際に、ユーザが印刷部数を設定不可能な構成を採用してもよい。この場合、印刷設定情報ＰＳは部数情報を含まなくてもよく、プリンタ１０は１部の印刷のみを実行してもよい。また、別の変形例では、例えば、画像ファイルＩＦがサーバ１００にサブミットされる際に、ユーザが印刷部数を設定可能であってもよい。そして、ユーザが複数部を示す印刷部数を設定する場合には、印刷設定情報ＰＳは部数情報を含み、ユーザが１部を示す印刷部数を設定する場合には、印刷設定情報ＰＳは部数情報を含まなくてもよい。
【００９７】
（変形例１１）上記の実施例では、プリンタ１０のＣＰＵ３２がメモリ３４内のプログラム３６を実行することによって、図２〜図１２の各処理が実現される。これに代えて、図２〜図１２の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００９８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００９９】
２：通信システム、４：ＬＡＮ、６：インターネット、１０：プリンタ、１２：操作部、１４：表示部、１６：ネットワークインターフェース、１８：印刷エンジン、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、４０：部分データ領域、４２：印刷データ領域、５０：端末装置、１００：サーバ、ＰＪ：印刷ジョブ、ＩＦ：画像ファイル、ＰＳ：印刷設定情報
【図１】
0006631248.tif 000002
【図２】
0006631248.tif 000003
【図３】
0006631248.tif 000004
【図４】
0006631248.tif 000005
【図５】
0006631248.tif 000006
【図６】
0006631248.tif 000007
【図７】
0006631248.tif 000008
【図８】
0006631248.tif 000009
【図９】
0006631248.tif 000010
【図１０】
0006631248.tif 000011
【図１１】
0006631248.tif 000012
【図１２】
0006631248.tif 000013