サーバーに対して印刷データの送信要求を行う要求部と、前記送信要求に応じて前記サーバーから送信された前記印刷データを受信する受信部と、受信した前記印刷データを順次処理対象とし、前記処理対象となった前記印刷データに基づいて印刷を行う印刷処理部と、受信した前記印刷データのうち前記印刷処理部による前記処理対象となった前記印刷データのデータ量を計測する計測部と、を備え、前記印刷データの全てが前記処理対象となる前に前記サーバーとのセッションが切断されその後再接続された場合に、前記要求部が前記印刷データの送信要求を再度行ったことに応じて前記受信部が受信した前記印刷データの中から、前記印刷処理部は、前記計測部が計測した前記データ量に基づいてまだ前記印刷対象になっていない部分を抽出して前記印刷対象とする、印刷装置。前記要求部は、前記セッションの再接続後に、前記計測部が計測した前記データ量に基づいて前記印刷データのうちまだ前記処理対象になっていない部分の送信要求を行い、前記印刷処理部は、前記セッションの再接続後に受信した前記印刷データがまだ前記処理対象になっていない部分である場合には、当該印刷データを前記処理対象とし、前記セッションの再接続後に受信した前記印刷データが既に前記処理対象となった部分とまだ前記処理対象になっていない部分とを含む場合には、受信した前記印刷データから前記計測部が計測した前記データ量に基づいてまだ前記処理対象になっていない部分を抽出して前記処理対象とする、請求項1に記載の印刷装置。前記要求部は、まだ前記処理対象になっていない部分の送信要求を、HTTPのrangeヘッダーを用いて範囲指定することで行う、請求項2に記載の印刷装置。前記受信部は、受信した前記印刷データを第一記憶部に記憶させ、前記印刷処理部は、第二記憶部に記憶されている前記印刷データを前記処理対象として印刷前処理を行い、前記印刷前処理後のデータに基づいて印刷を行い、前記計測部は、前記第一記憶部から前記第二記憶部に転送された前記印刷データの前記データ量を計測する、請求項1~請求項3のいずれかに記載の印刷装置。サーバーに対して印刷データの送信要求を行う要求工程と、前記送信要求に応じて前記サーバーから送信された前記印刷データを受信する受信工程と、受信した前記印刷データを順次処理対象とし、前記処理対象となった前記印刷データに基づいて印刷を行う印刷処理工程と、受信した前記印刷データのうち前記処理対象となった前記印刷データのデータ量を計測する計測工程と、を含み、前記印刷データの全てが前記処理対象となる前に前記サーバーとのセッションが切断されその後再接続された場合に、前記要求工程にて前記印刷データの送信要求を再度行ったことに応じて前記受信工程にて受信した前記印刷データの中から、前記印刷処理工程においては、前記計測工程にて計測した前記データ量に基づいてまだ前記印刷対象になっていない部分を抽出して前記印刷対象とする、印刷方法。このような印刷システムにおいては、ユーザーが送信した電子メールに基づいてサーバーが印刷データを生成し、プリンターに対して印刷ジョブの存在を通知し、通知を受けたプリンターはサーバーに対して印刷データの送信要求を行って印刷データを取得しながら印刷を実行している。プリンターが搭載しているメモリサイズにはコストの観点から制限があるので、印刷が終了した部分の印刷データについてはメモリから破棄し次に処理すべき部分の印刷データのためにメモリ領域を確保する。このようにプリンターは、印刷データを取得しながら印刷を行うため、印刷データの取得途中でプリンターにおいてエラーが発生した場合、印刷を続行することができないため印刷データをメモリから破棄することができず、やがて後続して送信された印刷データを受信できない状態となる。このような場合、従来はエラーが発生したため印刷を終了するという動作になっておりエラー復帰後の動作について特に考慮されていなかった。プリンターはこれ以上印刷データを受信できないためやがてプリンターとサーバー間のセッションも切断される。エラーが解消された後は、できれば最初から印刷をやり直すよりもエラーによる中断時の続きから印刷を再開できる方が望ましいことを考えると、セッションはエラー発生後も維持されている方が好都合であるが、プリンターにおけるエラーが発生後即座に解消される保証はなく場合によっては長時間エラーによる印刷中断の状態のまま放置されることも考えられる。エラーが解消され印刷可能となるまでの期間もセッションを維持し続けることはサーバーに負荷がかかるので、セッションを維持し続けることは難しい。前述のように従来はエラー復帰後の動作について考慮されていないので、エラー解消後に再度印刷する場合は、もう一度印刷ジョブの最初から印刷が実行される。その場合、インクや印刷媒体等の消耗品や、印刷に要する時間を無用に消費してしまうことになる。本発明は、印刷データの取得途中で印刷装置とサーバーとの間でセッションが切断され、その後再接続された場合に、効率的に印刷を再開することができる印刷装置の提供を目的とする。上記目的を達成するための印刷装置は、要求部と、受信部と、印刷処理部と、計測部と、を備える。要求部は、サーバーに対して印刷データの送信要求を行う。受信部は、送信要求に応じてサーバーから送信された印刷データを受信する。印刷処理部は、受信部が受信した印刷データを順次処理対象とし、処理対象にした印刷データに基づいて印刷を行う。計測部は、受信した印刷データのうち印刷処理部による処理対象となった印刷データのデータ量を計測する。すなわち、送信要求した印刷データであって、所定サイズずつ順に受信する印刷データが順次印刷処理部の処理対象となるたびにその累積のデータ量サイズを計測する。本発明の印刷装置において、サーバーに要求した印刷データの全てが印刷処理部の処理対象となる前にサーバーとのセッションが切断されその後再接続された場合、要求部が印刷データの送信要求を再度行ったことに応じて受信部が受信した印刷データの中から、印刷処理部は、計測部が計測したデータ量に基づいて印刷データのうちまだ印刷処理部の処理対象になっていない部分を抽出して処理対象とする。すなわち印刷処理部は、受信した印刷データの中から既に印刷処理部の処理対象となった部分を再度印刷処理部の処理対象とすることなく、まだ処理対象になっていない部分を抽出して処理対象にする。そのため、既に印刷済みの部分や印刷を実行するために印刷装置に適した形式に印刷データを変換する印刷前処理中の部分の印刷データに対して再度印刷を実行することを防止できる。すなわち、セッションの切断再接続を経ても印刷中断時の続きから印刷を再開することができるため、インクや印刷媒体などの消耗品が無用に消費されることを防止できる。また、続きから印刷再開するため、再度最初から印刷する場合と比較して、印刷完了までに要する時間も短縮することができる。さらに、上記目的を達成するための印刷装置において、要求部は、セッションの再接続後に、計測部が計測したデータ量に基づいて印刷データのうちまだ処理対象になっていない部分の送信要求を行ってもよい。その場合、印刷処理部は、セッションの再接続後に受信した印刷データがまだ処理対象になっていない部分である場合には、当該印刷データを処理対象とし、セッションの再接続後に受信した印刷データが既に処理対象となった部分とまだ処理対象になっていない部分とを含む場合には、受信した印刷データから計測部が計測したデータ量に基づいてまだ処理対象になっていない部分を抽出して処理対象としてもよい。すなわちサーバー側が、印刷装置からの印刷データの部分的な送信要求機能に対応している場合は、印刷装置が要求した通りまだ処理対象になっていない部分の印刷データがサーバーから送信されるので当該印刷データを処理対象とする。一方、サーバーが部分的な送信要求機能に対応していない場合は、サーバーからは既に処理対象となった部分もまだなっていない部分も含めて一つの印刷ジョブに含まれる印刷データ全体が送信されることになる。その場合も本発明の印刷装置によると、まだ処理対象となっていない部分の印刷データを抽出して印刷処理部の処理対象とすることができる。そのため、部分的な送信要求にサーバーが対応しているか否かに関わらず、印刷装置側では、印刷中断時の続きから印刷を再開することができるため、インクや印刷媒体などの消耗品が無用に消費されることを防止できる。また、続きから印刷再開するため、再度最初から印刷する場合と比較して、印刷に要する時間も短縮することができる。さらに、上記目的を達成するための印刷装置において、要求部は、まだ印刷処理部の処理対象になっていない部分の印刷データの送信要求を、HTTPのrangeヘッダーを用いて範囲指定することで行ってもよい。HTTPのrangeヘッダーを用いることで、印刷データの部分的な送信要求を実現することができる。さらに、上記目的を達成するための印刷装置において、受信部は、受信した印刷データを第一記憶部に記憶させてもよい。その場合に印刷処理部は、第二記憶部に記憶されている印刷データを処理対象として印刷前処理を行い、印刷前処理後のデータに基づいて印刷を行ってもよい。またその場合に計測部は、第一記憶部から第二記憶部に転送された印刷データのデータ量を計測してもよい。印刷装置が、サーバーから受信した印刷データを一旦記憶する第一記憶部と、印刷前処理のための印刷データの記憶領域である第二記憶部と、を備える構成である場合、印刷前処理を行うために印刷データを第一記憶部から第二記憶部に移すという処理が必要である。その処理と同期して第一記憶部から第二記憶部に移された印刷データのデータ量を計測することで、印刷処理部による処理対象となった印刷データのデータ量の計測を実現することができる。なお、請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は方法としても、コンピュータープログラムとしても、そのプログラムの記録媒体としても成立する。むろん、そのコンピュータープログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。1.第一実施形態1-1.構成図1は、本発明にかかるプリンター印刷装置3を含む印刷システム全体の構成を示すブロック図である。図1に示す印刷システムは、サーバー2に登録されたプリンター3に対応付けられた電子メールアドレスを宛先とする電子メールを任意の通信端末1から送信すると、宛先の電子メールアドレスに対応付けられたプリンター3において電子メールの添付ファイルや本文が印刷される機能を実現する。サーバー2は1以上のコンピューターによって構成される。サーバー2、プリンター3、通信端末1はインターネット4に接続される。プリンター3は、サーバー2とのXMPPExtensibleMessagingandPresenceProtocolを用いた常時接続によってサーバー2から印刷ジョブ有り通知を通知されると、HTTPHyperTextTransferProtocolを用いて印刷データをサーバー2から取得し、印刷を実行する機能を有する。したがってプリンター3は、CPU、ROM、RAM等を備えたコントローラー31、印刷部35等の通常のプリンターの構成要素に加えて、インターネット4を介して各種のデータを送受信するための通信部34を備えている。通信部34はインターネット4からLANを経由して受信する信号をプロトコルに従って変換して内部バスに送出し、内部バスから取り込んだ信号をプロトコルに従って変換してLANを経由してインターネットに送出する。コントローラー31のROMにはRAMに読み込まれCPUによって実行される通信プログラムや印刷プログラムなどの種々のコンピュータープログラムが記憶されている。これらのコンピュータープログラムをCPUが実行することによって、プリンター3の各種の機能が実現される。通信プログラムは、サーバー2とTCP/IP、HTTP、XMPP等の通信プロトコルに従った通信を行うためのプログラムである。なお、HTTPやXMPPを用いてサーバー2と接続するために必要な情報は予めコントローラー31は取得済みである。受信バッファー32第一記憶部に相当は、通信プログラムを実行するコントローラー31が通信部34を介して外部から受信したデータを記憶するメモリであり、印刷データなど様々なデータが一旦格納されるメモリである。通信プログラムを実行するコントローラー31および通信部34は、印刷データの送信要求をサーバー2に対して行う要求部に相当する。また、通信プログラムを実行するコントローラー31と通信部34と受信バッファー32とは、サーバー2から送信された印刷データを受信する受信部に相当する。印刷プログラムは、受信バッファー32に記憶されている印刷データを読み出して処理バッファー33第二記憶部に相当に転送し、印刷前処理を施してプリンター3における印刷に適した形式のデータに印刷データを変換し、変換後のデータに基づいて印刷部35を制御して印刷を行う機能を有するプログラムである。印刷プログラムを実行するコントローラー31と、印刷部35と処理バッファー33とは印刷処理部に相当する。本実施形態においては、サーバー2が生成しプリンター3に送信する印刷データは、画素値がRGB形式で表現されたデータである。その場合、印刷前処理は、そのような形式の印刷データに対して施す、解像度変換処理や、色変換処理プリンター3に搭載されたインクごとの階調値に変換する処理や、ハーフトーン処理や、並べ替え処理等を指す。処理バッファー33は、受信バッファー32に記憶された様々なデータの中から抽出され読み出された印刷データに対して前述の印刷前処理を施す際に処理前や処理過程や処理後のデータを記憶するためのメモリである。印刷前処理に含まれる前述の各処理のデータ受け渡しのためにそれぞれ設けられたバッファーメモリをまとめて処理バッファー33と呼ぶ。図2は各バッファーについて説明するための模式図である。図2に示すように例えば本実施形態では処理バッファー33は、受信バッファー32から読み出した解像度変換処理前の印刷データを記憶する第一の処理バッファー331と、解像度変換後のデータであり色変換処理前のデータを記憶する第二の処理バッファー332と、色変換処理後のデータであってハーフトーン処理前のデータを記憶する第三の処理バッファー333と、ハーフトーン処理後のデータであって並べ替え処理前のデータを記憶する第四の処理バッファー334と、並べ替え処理後のデータを記憶する第五の処理バッファー335とを含んでいる。第五の処理バッファー335に記憶されたデータは印刷部35による印刷に用いられる。印刷処理プログラムを実行するコントローラー31が、受信バッファー32に記憶されている印刷データを受信バッファー32から読み出し、処理バッファー33第一の処理バッファー331に転送することで、印刷処理部による処理対象となる。受信バッファー32から読み出され、処理バッファー33第一の処理バッファー331に転送された印刷データは、受信バッファー32からは破棄され、受信する新たなデータのための格納場所に当てられる。印刷プログラムは受信バッファー32から処理バッファー33に印刷データを転送するごとに、転送された印刷データの累積のデータ量をサイズnとして計測する計測機能を有している。したがって印刷プログラムを実行するコントローラー31は計測部に相当する。コントローラー31は、第一の処理バッファー331に記憶されている印刷データに対する解像度変換処理を終了すると処理後のデータを第二の処理バッファー332に書き込み、当該印刷データを第一の処理バッファー331から破棄する。そして、後続の印刷データを受信バッファー32から読み出し第一の処理バッファー331に転送する。第二の処理バッファー332~第五の処理バッファー335についても同様にコントローラー31は、前段のバッファーからデータを読み出して処理し後段のバッファーに書込みが終了すると前段のバッファーからはデータを破棄し後続のデータを前段のバッファーに転送可能な状態とする。印刷部35は、インクジェット方式、レーザー方式など周知の印刷方式で写真用紙、普通紙、OHPシートなどの印刷媒体に印刷を実行するためのアクチュエーターやセンサーや駆動回路や機械部品を備えている。印刷部35によって印刷が完了した部分に相当する印刷データは処理バッファー33第五の処理バッファー335から破棄される。1-2.印刷シーケンス図1に示す印刷システムにおいては、通信端末1からプリンター3に対応付けられた電子メールアドレス宛の電子メールが添付ファイルとともに送信されたとき、プリンター3において添付ファイルの印刷が即座に実行されることが望まれる。また、プリンター3が印刷要求を即時に取得するためにサーバー2をHTTPに基づいたメッセージを使ってポーリングすることはサーバー2の負荷とネットワークトラフィックの観点から望ましくない。そこで、プリンター3はXMPPに基づいた印刷ジョブ有り通知をサーバー2から受信する。XMPPは、双方向にメッセージを送信できる所謂プッシュ型のプロトコルであるため、プリンター3によるサーバー2のポーリングは不要となる。プリンター3の電源がオン状態のとき、通信エラーやその他のエラーが特に発生していなければ、サーバー2とプリンター3とは、XMPP接続が常時確立された状態である。図3は、本実施形態における印刷シーケンスのシーケンスチャートであって、さらに詳細には、一つの印刷ジョブに含まれる印刷データをプリンター3が全て取得して処理バッファー33に転送する前にプリンター3にエラーが発生する場合のシーケンスチャートである。なお、図3のシーケンスチャートでは、発明の要部を明確にするため、セッションの確立や切断のシーケンスの詳細や、各通信に応答するACKパケットやFINパケット等の記載を発明に関連する部分を除いて省略している。はじめに、プリンター3に対応付けられた電子メールアドレス宛に通信端末1から送信された電子メールをサーバー2が受信するS100と、電子メールに基づいて添付ファイルなどの印刷対象をレンダリングして印刷データを生成し、XMPPを用いてサーバー2は印刷ジョブ有り通知をプリンター3に送信するS105。通信部34はサーバー2からXMPPで送信された印刷ジョブ有り通知を受信すると、サーバー2とHTTPセッションを確立しS110、HTTPのgetリクエストでコンテンツ情報の送信要求をサーバー2に送信するS115。プリンター3から送信されたコンテンツ情報送信要求を受信したサーバー2は、印刷ジョブのコンテンツ情報をプリンター3に送信するS120。ここでコンテンツ情報には、印刷データのダウンロード先URIや、印刷データのドキュメントフォーマット等の印刷ジョブに含まれる印刷データに関する情報が含まれている。コンテンツ情報は通信部34を経て受信バッファー32に記憶される。コントローラー31は受信バッファー32に記憶されているデータを解析しコンテンツ情報を取得する。コンテンツ情報取得後はコントローラー31はコンテンツ情報を受信バッファー32から破棄する。続いてコントローラー31は、HTTPのgetリクエストで印刷データの送信要求をサーバー2に送信するS125。印刷データのダウンロード先URIはS120でプリンター3が取得したコンテンツ情報に含まれている。なおS125においては、S105で通知された印刷ジョブに含まれる印刷データ全体を対象とした送信要求を行う。サーバー2はプリンター3からの印刷データ送信要求を受けて、HTTPを用いて印刷データを先頭から所定サイズずつプリンター3に送信するS130。S130で送信される印刷データは、S125のgetリクエストに対応する応答メッセージの中に含まれた形でプリンター3に送信される。応答メッセージに含まれるHTTPヘッダーには、プリンター3に送信する印刷データ全体のサイズサイズMを示す情報が含まれているContentLengthヘッダー。サーバー2から送信された印刷データは通信部34や通信プログラムを実行するコントローラー31により、受信バッファー32に格納される。前述の印刷データ全体のサイズMも受信バッファー32に格納される。コントローラー31は、受信バッファー32内のデータを解析してサイズMを取得して記憶する。このサイズMの記憶は、コントローラー31により印刷データの印刷完了に応じて消去される。続いてコントローラー31は、受信バッファー32に格納されている印刷データを処理バッファー33第一の処理バッファー331に空きがあれば処理バッファー33第一の処理バッファー331に転送するとともに、転送した累積の印刷データのデータ量サイズnを計測する。また処理バッファー33に転送済みの印刷データは受信バッファー32から破棄される。データ量サイズnは1印刷ジョブごとに計測される一つの印刷ジョブの印刷が終了するとサイズnの値はリセットされる。コントローラー31は、処理バッファー33に転送した印刷データを対象に印刷前処理を施す。そして、印刷前処理を施されたデータに基づいてコントローラー31は印刷部35を制御して印刷を実行する。印刷が完了した部分に相当する処理バッファー33内のデータは破棄される。コントローラー31が、印刷データの受信、印刷データの受信バッファー32から処理バッファー33への転送、転送されたデータ量の計測、印刷前処理、印刷実行の工程を繰り返している途中で、プリンター3においてエラーが発生した場合のシーケンスについて以降で説明する。この場合のエラーは例えば、印刷用紙切れやインク切れなど比較的経度でユーザーがエラーを解消後に印刷を続きから再開しても問題が生じない種類のエラーが想定される。プリンター3におけるエラーが発生すると、プリンター3では印刷を続行できないため、コントローラー31は印刷動作を中断する。また、コントローラー31は処理バッファー33内のデータを印刷再開に備えて破棄せずに残す。処理バッファー33内に空きが生じないため、コントローラー31は受信バッファー32内の印刷データを処理バッファー33に転送しない。そのため受信バッファー32は、サーバー2から続々と受信した印刷データであってまだ印刷前処理の処理対象でない印刷データを含むデータで満たされ、後続の印刷データを受信できない状態となる。この状態をサーバー2に通知するため、コントローラー31は、S130のサーバー2からの印刷データの送信に対応するACKパケットにおいてウィンドウサイズを0と設定してサーバー2に送信するS135。この状態をゼロウィンドウ状態と呼ぶ。サーバー2は、所定の期間例えば5分間、ゼロウィンドウ状態が継続していると判断すると、HTTPセッションを切断するためのデータを送信するS140。具体的には例えば、サーバー2はRSTResetパケットをプリンター3に送信する。この結果、プリンター3とサーバー2との間のセッションは切断される。セッションが切断されると、コントローラー31は受信バッファー32に格納されていた印刷データを破棄する。エラーが解消され印刷の再開が可能となる時期は未定であり、当該時期までHTTPセッションを維持し続けることは、サーバー2に負荷を与える。具体的には、セッションごとに確保しておくメモリ領域を長期間解放できない状態となり、その結果、他の通信端末から送信された電子メールを受信してから印刷を実行するまでの時間が遅延する。この遅延を防止するために、サーバー2とプリンター3との間のセッションが一旦切断されるのである。コントローラー31がプリンター3におけるエラーが解消されたことを検出すると、コントローラー31は、処理バッファー33に蓄えられている印刷データを用いて印刷前処理や印刷を再開する。また、コントローラー31はエラーの解消の検出に応じて、再びサーバー2とのHTTPセッションを確立しS145、S125と同様にサーバー2に印刷ジョブに含まれる印刷データ全体の送信要求を送信するS150。プリンター3からの印刷データの送信要求に応じてサーバー2は印刷データを再び先頭から順にプリンター3に送信するS155。プリンター3のコントローラー31は、サーバー2から送信された印刷データをS130と同様に受信バッファー32に格納する。受信バッファー32に格納されるのは、S105で通知された印刷ジョブが示す印刷データの先頭部分からであるので、コントローラー31は、受信バッファー32内の印刷データであって、印刷ジョブで示される印刷データの先頭から、計測しておいたデータ量サイズn分、すなわち既に処理バッファー33に転送された分の印刷データを処理バッファー33には転送せずに破棄する。そしてコントローラー31は、まだ印刷前処理の処理対象として処理バッファー33に転送されていない部分の印刷データを受信すると受信バッファー32からは破棄せずに、処理バッファー33に空きが出来た後に処理バッファー33に転送して、印刷前処理の対象とする。図4は、一つの印刷ジョブに含まれる印刷データを示す模式図であり、プリンター3におけるエラーが発生した時点の印刷データの状態の一例を説明するための模式図である。この例では、印刷データをその先頭から4つの部分に分け、先頭に近い順からd1、d2、d3、d4と呼ぶ。印刷データはその先頭から順にサーバー2から送信され、順に受信バッファー32に記憶され、処理バッファー33に転送されて印刷前処理を施され、印刷され、破棄される。エラーが発生したとき、印刷データのうち先頭から所定サイズ分の印刷データd1は既に印刷済みで処理バッファー33から破棄されているデータであり、印刷データd1に後続する印刷データd2は処理バッファー33に転送され印刷前処理中のデータおよび印刷中のデータであり、印刷データd2に後続する印刷データd3は受信バッファー32に格納されている状態でまだ処理バッファー33には転送されていない状態のデータであるとする。印刷データd3に後続する印刷データd4についてはプリンター3にまだ受信されていないデータであるとする。S155でサーバー2から印刷データが先頭から送信されると、コントローラー31は、先頭からサイズn分の印刷データを受信バッファー32から破棄して処理バッファー33には転送しない。印刷データd3以降の印刷データを受信バッファー32に受信してからは、印刷データd3以降印刷データの末尾までの印刷データを順に処理バッファー33に転送する。処理バッファー33に転送された印刷データに対して、コントローラー31は上述と同様に印刷前処理を施して印刷を実行する。すなわち、エラーが解消した後、印刷データd2はそのまま印刷前処理や印刷が再開され、印刷が終了した後に処理バッファー33から破棄される。また、印刷データd3および印刷データd4は、サーバー2からプリンター3に送信され、印刷前処理と印刷とが行われる。一つの印刷ジョブに対応する印刷が完了すると、印刷ジョブステータスとして印刷終了をサーバー2に通知しS160、他にプリンター3に対する印刷ジョブが存在しなければサーバー2はプリンター3とのセッションを切断するS165。なお、印刷を再開した後に再びエラーが生じた場合には、S135と同様にサーバー2からの印刷データの送信に対応するACKパケットにおいてウィンドウサイズを0と設定してサーバー2に送信し、S140以降の動作が繰り返される。以上説明したように、本実施形態によると、印刷データの処理バッファー33への転送が終了していない状態でサーバー2とのセッションが切断された場合、セッション再接続後に、受信した印刷データの中から既に処理バッファー33に転送され印刷前処理の処理対象となった部分あるいは既に印刷済みで破棄された部分の印刷データを再度処理バッファー33に転送することなく、処理バッファー33にまだ転送しておらず印刷前処理の処理対象にまだなっていない印刷データを抽出して処理バッファー33に転送し印刷前処理の対象とする。そのため、既に印刷済みの部分や印刷前処理中の部分の印刷データに対して再度印刷前処理を行って印刷を実行することを防止できる。すなわち、印刷中断時の続きから印刷を再開することができるため、インクや印刷媒体などの消耗品が無用に消費されることを防止できる。また、続きから印刷再開するため、再度最初から印刷する場合と比較して、印刷完了までに要する時間も短縮することができる。2.他の実施形態尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、上記実施形態では、エラー解消後に再度印刷データの送信要求を行う場合に印刷ジョブの印刷データ全体を送信要求の対象とし、印刷ジョブの印刷データ全体をサーバー2から受信したうえで、印刷前処理の対象にまだなっていない部分の印刷データを抽出して処理バッファー33に転送し印刷前処理の処理対象となるようにしていた。しかしエラー解消後に印刷データの送信要求を行う際に、印刷前処理の対象にまだなっていない部分の印刷データを対象に送信要求してもよい。すなわち、図3のS150における印刷データの送信要求エラー解消後に行う印刷データの送信要求では、コントローラー31は、エラーが発生した時点の印刷データのダウンロード先URIと、処理バッファー33に転送済みのデータ量サイズnの値に基づいて既に印刷前処理の処理対象となった印刷データを除く残りの印刷データの部分を示す範囲と、を指定して送信要求を行う。図4を用いて説明すると、処理バッファー33に転送済みのデータ量サイズnの値に基づいて既に印刷前処理の対象となった印刷データを除く残りの印刷データの部分を範囲指定して、送信要求を行う。サーバー2から受信して受信バッファー32に記憶されている印刷データd3はセッションの切断にともなって破棄されるので、受信バッファー32に格納されている印刷データd3も再取得の対象とする。具体的にはエラー解消後の印刷データの送信要求時に、コントローラー31は、印刷データ全体のサイズMとサイズnとを比較しサイズM>サイズn>0であれば、印刷データの先頭からサイズn分のデータに後続する位置から、印刷データの末尾サイズMの位置までのサイズM-サイズn分の印刷データを範囲指定する。範囲指定には、HTTPのrangeヘッダーを用いる。ところで、サーバー2がrangeヘッダーによる範囲指定に対応していない場合もありえる。その場合、プリンター3による範囲指定をした印刷データ送信要求に対して、サーバー2は範囲指定に対応していないことを示す情報をプリンター3にHTTPステータスコードとして通知した上で印刷データ全体を送信する。ステータスコードとしては、範囲指定に応じた部分の印刷データを送信する場合は206、範囲指定に対応せずに印刷データ全体を送信する場合は200がサーバー2から通知される。コントローラー31は、サーバー2から送信された印刷データを上述と同様に受信バッファー32に格納する。コントローラー31範囲指定した送信要求に対してサーバー2から通知されたステータスコードについて判別を行い、ステータスコードが範囲指定に対応せずに印刷データ全体を送信することを示している場合、すなわちステータスコードが200である場合、サーバー2から送信されるのは印刷ジョブに含まれる印刷データ全体であるので、コントローラー31は、第一実施形態と同様に受信バッファー32に記憶されている印刷データの先頭から、計測しておいたデータ量分既に処理バッファー33に転送された分の印刷データを処理バッファー33には転送せずに破棄する。そしてコントローラー31は、まだ印刷前処理の処理対象として処理バッファー33に転送されていない印刷データを、処理バッファー33に空きが出来た後に転送し、印刷前処理の処理対象とする。一方、範囲指定した送信要求に対してサーバー2から通知されたステータスコードが、指定通りの範囲の印刷データを送信することを示している場合、すなわちステータスコードが206である場合、サーバー2から送信されるのは範囲指定通りの部分の印刷データであるので、コントローラー31は受信バッファー32に格納されている当該印刷データを処理バッファー33に空きが出来た後に転送し印刷前処理の処理対象とする。このようにすることで、サーバー2がrangeヘッダーによる範囲指定に対応しているか否かに関わらず、エラー復帰後にエラー発生時の続きから印刷を再開することができる。また、上記実施形態においては、受信バッファー32から処理バッファー33に印刷データを転送する際に転送済み印刷データの累積データ量をカウントする例を説明したが図2参照、受信バッファー32に印刷データが格納された時点で印刷処理部の処理対象となったとして、受信バッファー32に印刷データを格納した時点で格納済み印刷データの累積データ量をカウントしてもよい。この場合、通信プログラムを実行するコントローラー31と通信部34とが受信部に相当し、印刷プログラムを実行するコントローラー31と受信バッファー32と処理バッファー33とが印刷処理部に相当する。図5はこの場合の印刷データの状態を説明するための模式図である。図5を参照して説明すると、この場合サイズnはd1とd2とd3を合わせたサイズに相当する。そして、図5に示す状態のときにエラーが発生した場合、再接続後に、範囲指定して印刷データを要求する場合は印刷データd4の部分を指定する。サーバー2から印刷データ全体が送信された場合は、d1~d3の部分を一旦受信バッファー32に格納した後受信バッファー32から破棄して受信バッファー32にd4の部分を順次格納する。なお、この変形例の場合、S140でセッションが切断されてもコントローラー31は受信バッファー32内の印刷データd3を破棄しない。また、エラー発生時に処理バッファー33に存在していたデータ図4や図5の印刷データd2については、エラー解消前に印刷前処理を完了させて最終段の処理バッファー33である第五の処理バッファー335に記憶させておいてもよい。この場合、エラー解消後にこの印刷データd2に対する印刷前処理を行わずに印刷を行うことができるため、印刷時間の短縮に貢献することができる。なお、エラー発生時に処理バッファー33に存在していたデータ図4や図5の印刷データd2に対する印刷前処理や印刷の再開は、サーバー2から後続の印刷データ図4や図5の印刷データd3が送られてきてからであってもよい。また、上記実施形態で説明したバッファーの構成図2はあくまでも一例であってこれに限定されるものではない。また、上記実施形態で示した印刷前処理の一部または全てをサーバー2が行っても良い。また、サーバー2は未レンダリングの印刷対象をプリンター3に通知し、プリンター3が印刷対象をレンダリングして印刷データを生成し、当該印刷データに対して印刷前処理を行ってもよい。したがってサーバー2から送信される印刷データの形式も上記実施形態で示した例に限定されない。なお、第一実施形態においては、コンテンツ情報の送信要求~受信、および、印刷データの送信要求~受信は、一続きのHTTPセッションで行われているが、コンテンツ情報の送信要求~受信図3のS115~S120の後にHTTPセッションを切断し、印刷データの送信要求S125の前に新たにHTTPセッションを確立するようにして印刷データの送信要求~受信を行ってもよい。また、第一実施形態においては、エラー解消後にHTTPセッションを再び確立S145した後、印刷データ全体に対する送信要求S150を行っているが、HTTPセッションを再確立した後、印刷データ全体に対する送信要求を行う前に、S115~S120と同様に、再びコンテンツ情報の送信要求~受信を行っても良い。