(57)【特許請求の範囲】
【請求項１】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置であって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成部であって、前記第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成する前記中間データ生成部と、
前記第１種の中間データをメモリに記憶させる記憶制御部であって、前記複数個の中間ファイルの各々が生成される毎に、当該中間ファイルを前記メモリに記憶させる前記記憶制御部と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成部であって、前記メモリ内の前記複数個の中間ファイルを用いて、前記印刷データを生成する前記印刷データ生成部と、
前記印刷データを前記印刷実行部に供給する供給部と、を備え、
前記中間データ生成部は、
前記元画像が複数枚の印刷媒体に跨って印刷される場合に、前記複数個の部分中間データよって表わされる複数個の部分画像のいずれも、最初に印刷される第１の印刷媒体と前記第１の印刷媒体の次に印刷される第２の印刷媒体とに跨って印刷されないように、前記印刷媒体のサイズに従って、前記部分中間データによって表される部分画像のサイズを決定する制御装置。
【請求項２】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置であって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成部であって、前記第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成する前記中間データ生成部と、
前記第１種の中間データをメモリに記憶させる記憶制御部であって、前記複数個の中間ファイルの各々が生成される毎に、当該中間ファイルを前記メモリに記憶させる前記記憶制御部と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成部であって、前記メモリ内の前記複数個の中間ファイルを用いて、前記印刷データを生成する前記印刷データ生成部と、
前記印刷データを前記印刷実行部に供給する供給部と、を備え、
前記中間データ生成部は、予め決められている画像のサイズに従って、前記複数個の部分中間データによって表される複数個の部分画像の各々のサイズを決定し、
前記印刷データ生成部は、前記複数個の中間ファイルのうちの特定の中間ファイルに含まれる特定の部分中間データによって表わされる部分画像が、２枚の印刷媒体に跨って印刷されるべき場合に、
前記特定の部分中間データのうちの一部分を用いて、前記印刷データのうちの第１の部分印刷データであって、前記２枚の印刷媒体のうちの一方の印刷媒体に対する印刷で利用される前記第１の部分印刷データを生成し、
前記特定の部分中間データのうちの他の部分を用いて、前記印刷データのうちの第２の部分印刷データであって、前記２枚の印刷媒体のうちの他方の印刷媒体に対する印刷で利用される前記第２の部分印刷データを生成する制御装置。
【請求項３】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置であって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成部であって、前記印刷実行部が実行可能な所定の印刷条件であって、前記第１種の中間データのデータサイズが最も大きくなる前記所定の印刷条件に従って、前記第１種の中間データを生成する、前記中間データ生成部と、
前記第１種の中間データをメモリに記憶させる記憶制御部と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成部と、
前記印刷データを前記印刷実行部に供給する供給部と、を備える制御装置。
【請求項４】
前記中間データ生成部は、前記元データを用いて、前記第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成し、
前記記憶制御部は、前記複数個の中間ファイルの各々が生成される毎に、当該中間ファイルを前記メモリに記憶させ、
前記印刷データ生成部は、前記メモリ内の前記複数個の中間ファイルを用いて、前記印刷データを生成する、請求項３に記載の制御装置。
【請求項５】
前記中間データ生成部は、さらに、前記設定指示を受け付ける前に、前記第１種の中間データを用いて、第２種の中間データを生成し、
前記記憶制御部は、前記第２種の中間データを前記メモリに記憶させ、
前記制御装置は、さらに、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第２種の中間データを用いて、印刷プレビュー画像を表わす表示データを生成する表示データ生成部を備え、
前記供給部は、さらに、前記表示データを表示部に供給し、
前記印刷データ生成部は、
前記表示データが前記表示部に供給された後に、印刷を開始するための開始指示を受け付ける際に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、前記印刷データを生成する、請求項１から４のいずれか一項に記載の制御装置。
【請求項６】
前記中間データ生成部は、
前記第２種の中間データによって表わされる画像のサイズが、前記第１種の中間データによって表わされる画像のサイズと異なるように、前記第２種の中間データを生成する、請求項５に記載の制御装置。
【請求項７】
前記記憶制御部は、前記印刷データが前記印刷実行部に供給された後も前記第１種の中間データが前記メモリに記憶されている状態を維持する、請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
前記記憶制御部は、前記第１種の中間データが前記メモリに記憶された後に、新たな印刷指示を受け付ける際に、前記第１種の中間データを前記メモリから消去する、請求項７に記載の制御装置。
【請求項９】
前記印刷データ生成部は、
前記印刷条件が、第１のサイズを有する印刷媒体に対する印刷を示す場合に、第１の色数で表現される前記印刷データを生成し、
前記印刷条件が、前記第１のサイズよりも大きい第２のサイズを有する印刷媒体に対する印刷を示す場合に、前記第１の色数よりも少ない第２の色数で表現される前記印刷データを生成する、請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置のためのコンピュータプログラムであって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成処理であって、前記第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成する前記中間データ生成処理と、
前記第１種の中間データをメモリに記憶させる記憶制御処理であって、前記複数個の中間ファイルの各々が生成される毎に、当該中間ファイルを前記メモリに記憶させる前記記憶制御処理と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成処理であって、前記メモリ内の前記複数個の中間ファイルを用いて、前記印刷データを生成する前記印刷データ生成処理と、
前記印刷データを前記印刷実行部に供給する供給処理と、
を前記制御装置に実行させ、
前記中間データ生成処理では、
前記元画像が複数枚の印刷媒体に跨って印刷される場合に、前記複数個の部分中間データよって表わされる複数個の部分画像のいずれも、最初に印刷される第１の印刷媒体と前記第１の印刷媒体の次に印刷される第２の印刷媒体とに跨って印刷されないように、前記印刷媒体のサイズに従って、前記部分中間データによって表される部分画像のサイズを決定するコンピュータプログラム。
【請求項１１】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置のためのコンピュータプログラムであって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成処理であって、前記第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成する前記中間データ生成処理と、
前記第１種の中間データをメモリに記憶させる記憶制御処理であって、前記複数個の中間ファイルの各々が生成される毎に、当該中間ファイルを前記メモリに記憶させる前記記憶制御処理と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成処理であって、前記メモリ内の前記複数個の中間ファイルを用いて、前記印刷データを生成する前記印刷データ生成処理と、
前記印刷データを前記印刷実行部に供給する供給処理と、
を前記制御装置に実行させ、
前記中間データ生成処理では、予め決められている画像のサイズに従って、前記複数個の部分中間データによって表される複数個の部分画像の各々のサイズを決定し、
前記印刷データ生成処理では、前記複数個の中間ファイルのうちの特定の中間ファイルに含まれる特定の部分中間データによって表わされる部分画像が、２枚の印刷媒体に跨って印刷されるべき場合に、
前記特定の部分中間データのうちの一部分を用いて、前記印刷データのうちの第１の部分印刷データであって、前記２枚の印刷媒体のうちの一方の印刷媒体に対する印刷で利用される前記第１の部分印刷データを生成し、
前記特定の部分中間データのうちの他の部分を用いて、前記印刷データのうちの第２の部分印刷データであって、前記２枚の印刷媒体のうちの他方の印刷媒体に対する印刷で利用される前記第２の部分印刷データを生成するコンピュータプログラム。
【請求項１２】
それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置のためのコンピュータプログラムであって、
前記元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、前記元データを用いて、第１種の中間データを生成する中間データ生成処理であって、前記印刷実行部が実行可能な所定の印刷条件であって、前記第１種の中間データのデータサイズが最も大きくなる前記所定の印刷条件に従って、前記第１種の中間データを生成する、前記中間データ生成処理と、
前記第１種の中間データをメモリに記憶させる記憶制御処理と、
前記設定指示を受け付けた後に、前記印刷条件に従って、前記メモリ内の前記第１種の中間データを用いて、印刷データを生成する印刷データ生成処理と、
前記印刷データを前記印刷実行部に供給する供給処理と、
を前記制御装置に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、データによって表される画像を印刷実行部に印刷させるための制御装置を開示する。
【背景技術】
【０００２】
特許文献１には、ウェブページデータによって表される画像を印刷するための技術が開示されている。本技術では、複合機のコントロールユニットは、ユーザによって印刷条件が設定された後に、ウェブページデータをＰＤＬ（Page Description Language）で記述される印刷データに変換する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−８５３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
制御装置（上記の例ではコントロールユニット）は、ウェブページデータによって表される画像を表示部に表示させる場合、制御装置のメモリ内に記憶されているウェブページデータを用いて画像を表示させる。ここで、ウェブページデータは、通常、それぞれが関連付けられている複数個のファイルによって構成される。
【０００５】
上記の複数個のファイルが制御装置内のメモリに記憶されている状態では、例えば、ウェブページデータによって表される画像の表示に無関係なアプリケーションによって、上記の複数個のファイルのうちの一部のファイルが、消去されたり、書き換えられたりする可能性がある。このような事態が発生すると、ウェブページデータから生成される印刷データに従って印刷が実行されても、ウェブページデータによって表わされる画像の一部が欠損した画像が印刷される。
【０００６】
本明細書では、それぞれが関連付けられている複数個のファイルによって構成される元データによって表わされる元画像の印刷が指示される場合に、元画像の一部が欠損した画像が印刷されるのを抑制し得る技術を提供する。
【課題を解決するための手段】
【０００７】
本明細書によって開示される技術は、それぞれが関連付けられている複数個のファイルに含まれる元データによって表される元画像を印刷実行部に印刷させるための制御装置である。この制御装置は、中間データ生成部と、記憶制御部と、印刷データ生成部と、供給部と、を備える。中間データ生成部は、元画像を印刷するための印刷指示を受け付けた後であって、印刷条件を設定するための設定指示をユーザから受け付ける前に、元データを用いて、第１種の中間データを生成する。記憶制御部は、第１種の中間データをメモリに記憶させる。印刷データ生成部は、設定指示を受け付けた後に、印刷条件に従って、メモリ内の第１種の中間データを用いて、印刷データを生成する。供給部は、印刷データを印刷実行部に供給する。
【０００８】
上記の制御装置は、ユーザから設定指示を受け付ける前という比較的に早い段階で、元データを用いて第１種の中間データを生成する。このため、制御装置は、元データを構成する複数個のファイルのうちの一部のファイルの消去等が発生していない元データを用いて、第１種の中間データを生成し得る。制御装置は、設定指示を受け付けた後に、一部のファイルの消去等が発生する可能性がある元データではなく、第１種の中間データを用いて印刷データを生成する。従って、元画像の一部が欠損した画像を表わす印刷データが生成されることを抑制し得るために、元画像の一部が欠損した画像が印刷されるのを抑制し得る。
【０００９】
中間データ生成部は、元データを用いて、第１種の中間データを構成する複数個の部分中間データを含む複数個の中間ファイルの各々を生成してもよい。記憶制御部は、複数個の中間ファイルの各々が生成される毎に、当該中間ファイルをメモリに記憶させてもよい。印刷データ生成部は、メモリ内の上記の複数個の中間ファイルを用いて、印刷データを生成してもよい。
【００１０】
この構成によれば、元データの全てを用いて１個の中間ファイルのみを生成する構成と比べて、第１種の中間データを生成するために必要な記憶領域の容量が小さくて済む。
【００１１】
中間データ生成部は、印刷実行部が実行可能な所定の印刷条件に従って元画像が複数枚の印刷媒体に跨って印刷される場合に、上記の複数個の部分中間データよって表わされる複数個の部分画像のいずれも、最初に印刷される第１の印刷媒体と第１の印刷媒体の次に印刷される第２の印刷媒体とに跨って印刷されないように、印刷媒体のサイズに従って、部分中間データによって表される画像のサイズを決定してもよい。
【００１２】
この構成によれば、１個の中間ファイルに含まれる部分中間データの一部分から、第１の印刷媒体に対する印刷に利用される部分印刷データが生成され、当該部分中間データの他の部分から、第２の印刷媒体に対する印刷に利用される部分印刷データが生成される、という事象が起こらない。従って、印刷データ生成部は、第１の印刷媒体に対する印刷に利用される部分印刷データの生成に必要なデータと、第２の印刷媒体に対する印刷に利用される部分印刷データの生成に必要なデータと、のそれぞれを１個の中間ファイルの中から特定しなくて済む。このため、印刷データ生成部が第１の印刷媒体に対する印刷に利用される印刷データを生成するための時間を短縮し得る。
【００１３】
中間データ生成部は、予め決められている画像のサイズに従って、上記の複数個の部分中間データによって表される複数個の部分画像の各々のサイズを決定してもよい。印刷データ生成部は、上記の複数個の中間ファイルのうちの特定の中間ファイルに含まれる特定の部分中間データによって表わされる部分画像が、２枚の印刷媒体に跨って印刷されるべき場合に、上記の所定の部分中間データのうちの一部分を用いて、印刷データのうちの第１の部分印刷データであって、２枚の印刷媒体のうちの一方の印刷媒体に対する印刷で利用される第１の部分印刷データを生成してもよい。印刷データ生成部は、上記の所定の部分中間データのうちの他の部分を用いて、印刷データのうちの第２の部分印刷データであって、２枚の印刷媒体のうちの他方の印刷媒体に対する印刷で利用される第２の部分印刷データを生成してもよい。
【００１４】
この構成によれば、印刷データ生成部は、部分中間データによって表される部分画像が２枚の印刷媒体に跨って印刷されるべき場合に、それらの２枚の印刷媒体に対する印刷で利用される第１及び第２の部分印刷データの各々を生成することができる。
【００１５】
中間データ生成部は、さらに、設定指示を受け付ける前に、第１種の中間データを用いて、第２種の中間データを生成してもよい。記憶制御部は、第２種の中間データをメモリに記憶させてもよい。制御装置は、さらに、設定指示を受け付けた後に、印刷条件に従って、メモリ内の第２種の中間データを用いて、印刷プレビュー画像を表わす表示データを生成する表示データ生成部を備えていてもよい。供給部は、さらに、表示データを表示部に供給してもよい。印刷データ生成部は、表示データが表示部に供給された後に、印刷を開始するための開始指示を受け付ける際に、印刷条件に従って、メモリ内の第１種の中間データを用いて、印刷データを生成してもよい。
【００１６】
この構成では、中間データ生成部は、一部のファイルの消去等が行なわれる可能性がある元データではなく、第２種の中間データを用いて表示データを生成する。従って、元画像の一部が欠損した印刷プレビュー画像が表示されるのを抑制し得る。
【００１７】
中間データ生成部は、第２種の中間データによって表わされる画像のサイズが、第１種の中間データによって表わされる画像のサイズと異なるように、第２種の中間データを生成してもよい。この構成によれば、第１種の中間データ及び第２種の中間データのそれぞれによって表される画像の利用目的に応じて、それぞれ適切なサイズの画像を表す中間データを生成可能である。
【００１８】
中間データ生成部は、印刷実行部が実行可能な所定の印刷条件であって、第１種の中間データのデータサイズが最も大きくなる所定の印刷条件に従って、第１種の中間データを生成してもよい。この構成によれば、印刷データ生成部は、印刷データを生成する際に、第１種の中間データによって表わされる画像のサイズを大きくするための処理を実行しなくて済む。
【００１９】
記憶制御部は、印刷データが印刷実行部に供給された後も第１種の中間データがメモリに記憶されている状態を維持してもよい。この構成によれば、例えば、元画像を印刷するための印刷指示を再び受け付ける場合に、メモリ内に維持されている第１種の中間データを用いて、印刷データを再び生成することができる。このために、元画像が再び印刷される場合に、再び第１種の中間データを生成する必要が無いため、印刷データを印刷実行部に供給するまでの時間を短縮可能であり、さらに、元画像の一部が欠損した画像が印刷されるのを抑制し得る。
【００２０】
記憶制御部は、第１種の中間データがメモリに記憶された後に、新たな印刷指示を受け付ける際に、第１種の中間データをメモリから消去してもよい。例えば、第１種の中間データを記憶するためのメモリの容量が少ないために、メモリ内の第１種の中間データを消去しなければ新たに第１種の中間データを生成できない構成であっても、新たな印刷指示を受け付けるまでは、第１種の中間データを用いて、何度も印刷データを生成可能である。
【００２１】
印刷データ生成部は、印刷条件が、第１のサイズを有する印刷媒体に対する印刷を示す場合に、第１の色数で表現される印刷データを生成し、印刷条件が、第１のサイズよりも大きい第２のサイズを有する印刷媒体に対する印刷を示す場合に、第１の色数よりも少ない第２の色数で表現される印刷データを生成してもよい。この構成によれば、サイズの大きい印刷媒体に対応する印刷データが生成される場合には、色数が少ない印刷データが生成されるために、印刷データの生成に必要な記憶容量が小さくて済む。
【００２２】
上記の制御装置を実現するための制御方法、コンピュータプログラム及び当該コンピュータプログラムを記憶しているコンピュータにて読み取り可能な記憶媒体も新規で有用である。
【図面の簡単な説明】
【００２３】
【図１】ネットワークシステムの構成を示す。
【図２】制御装置が実行する処理のフローチャートを示す。
【図３】中間データ生成処理のフローチャートを示す。
【図４】出力データ生成処理のフローチャートを示す。
【図５】ウェブデータから印刷データを生成する過程を説明するための図を示す。
【図６】第２実施例の印刷データ生成処理のフローチャートを示す。
【発明を実施するための形態】
【００２４】
（第１実施例）
（ネットワークシステムの構成）
図１に示すように、ネットワークシステム２は、携帯電話装置１０と、アクセスポイント１００と、ウェブサーバ２００と、プリンタ３００と、を備える。携帯電話装置１０は、アクセスポイント１００と無線通信可能に接続されている。アクセスポイント１００は、インターネット４を介してウェブサーバ２００と通信可能に接続されている。アクセスポイント１００は、さらに、プリンタ３００と無線通信可能に接続されている。即ち、携帯電話装置１０は、アクセスポイント１００を介して、ウェブサーバ２００及びプリンタ３００と通信可能である。プリンタ３００は、外部装置（例えば携帯電話装置１０）から取得された印刷データによって表される画像を印刷用紙に印刷することができる。なお、図１中の破線は、破線の両端の各装置が無線通信可能であることを示す。
【００２５】
（携帯電話装置の構成）
携帯電話装置１０は、操作部１２と、表示部１４と、ネットワークインターフェイス１６と、読取部１８と、制御装置２０と、を備える。読取部１８は、自身に挿入されたメモリカード（即ち外部記憶装置）１９内のデータの読み出し、及び、メモリカード１９へのデータの書き込みを実行可能である。
【００２６】
制御装置２０は、ＣＰＵ２２と記憶部３０とを備える。ＣＰＵ２２は、記憶部３０内のプログラム３２に従って処理を実行する。プログラム３２は、印刷アプリケーション３２ａと、ウェブブラウザ３２ｂと、を含む。ＣＰＵ２２が印刷アプリケーション３２ａに従って処理を実行することによって、中間データ生成部５０、記憶制御部５２、印刷データ生成部５４、表示データ生成部５６、及び、供給部５８の機能が実現される。なお、印刷アプリケーション３２ａは、携帯電話装置１０の出荷段階において携帯電話装置１０に予めインストールされていてもよいし、プリンタ３００のベンダなどによって提供されるサーバから携帯電話装置１０にインストールされてもよいし、メモリカード１９等のメディアから携帯電話装置１０にインストールされてもよい。
【００２７】
ＣＰＵ２２は、ウェブブラウザ３２ｂに従って処理を実行することによって、ウェブサーバ２００からウェブデータを取得すること、ウェブデータを後述する一時記憶領域３４に記憶させること、及び、一時記憶領域３４内のウェブデータによって表される元画像を表示部１４に表示させること、を実行可能である。なお、ウェブデータは、複数個のファイルによって構成される。制御装置２０は、ウェブサーバ２００から複数個のファイルを取得することによって、元画像を表わすウェブデータを取得する。
【００２８】
複数個のファイルは、ベクタ形式のＨＴＭＬファイルを少なくとも含む。ＨＴＭＬファイルは、表示部１４に表示されるべき元画像を構成する複数個のオブジェクト（テキストオブジェクト、画像オブジェクト等）のそれぞれについて、元画像内での当該オブジェクトの大きさ及び位置を示すデータを含む。
【００２９】
なお、ＨＴＭＬファイルは、テキストオブジェクトを表示するためのテキストデータを含んでいてもよい。また、ＨＴＭＬファイルは、画像オブジェクトを表示するための画像データを含んでいてもよいし、当該画像データを含んでいなくてもよい。後者の場合、上記の複数個のファイルは、さらに、画像データを含む画像ファイル（例えばＪＰＥＧ（Joint Photographic Experts Group）ファイル）を含み、ＨＴＭＬファイルは、画像ファイルのファイル名を示すデータを含む。
【００３０】
上記の例では、複数個のファイルは、ＨＴＭＬファイルと、画像ファイルと、を含み、ＨＴＭＬファイルは、画像ファイルのファイル名を示すデータを含む。従って、複数個のファイルのそれぞれが関連付けられている、と言うことができる。なお、複数個のファイルは、さらに、上記の例以外のファイル（例えば、オブジェクトを装飾するためのデータを含むファイル）を含んでいてもよい。
【００３１】
記憶部３０は、一時記憶領域３４を備える。一時記憶領域３４は、ＣＰＵ２２が処理を実行する過程で生成されるデータを一時的に記憶する。例えば、一時記憶領域３４は、中間データテーブル４０を記憶する。中間データテーブル４０は、後述の中間データが生成される際に利用される。なお、一時記憶領域３４は、外部から取得されるデータを一時的に記憶する。例えば、一時記憶領域３４は、ウェブサーバ２００から取得されるウェブデータを一時的に記憶する。
【００３２】
（制御装置が実行する処理）
次いで、図２を参照して、制御装置２０が実行する処理を説明する。ユーザが、ウェブブラウザ３２ｂを起動させるための操作を、操作部１２に実行すると、図２の処理が開始される。ＣＰＵ２２は、まず、ウェブブラウザ３２ｂを起動する（Ｓ１２）。ＣＰＵ２２は、ユーザによって指定されたＵＲＬ（Uniform Resource Locator）で特定されるウェブデータ（即ち複数個のファイル）を、ウェブサーバ２００から取得する（Ｓ１４）。ＣＰＵ２２は、取得されたウェブデータを、一時記憶領域３４に記憶させる。次に、ＣＰＵ２２は、ウェブデータによって表される元画像を、表示部１４の表示領域（画面）に表示させる（Ｓ１６）。
【００３３】
元画像が表示部１４に表示されている状態で、ユーザは、印刷アプリケーション３２ａを起動させるための起動操作を、操作部１２に実行することができる。ＣＰＵ２２は、ユーザからの起動操作を受け付けることを監視している（Ｓ１８）。ユーザからの起動操作を受け付ける（Ｓ１８でＹＥＳ）と、Ｓ２１に進む。
【００３４】
また、ユーザは、ウェブブラウザ３２ｂを終了させるための終了操作を、操作部１２に実行することができる。ＣＰＵ２２は、ユーザからの終了操作を受け付けることを監視している（Ｓ２０）。ＣＰＵ２２は、起動操作を受け付けずに（Ｓ１８でＮＯ）、終了操作を受け付けると（Ｓ２０でＹＥＳ）、ウェブブラウザ３２ｂを終了して、本処理を終了する。なお、ＣＰＵ２２は、起動操作を受け付けずに（Ｓ１８でＮＯ）、終了操作を受け付けないと（Ｓ２０でＮＯ）、再びユーザからの起動操作を受け付けることを監視する（Ｓ１８）。
【００３５】
Ｓ１８でＹＥＳの場合、ＣＰＵ２２は、印刷アプリケーション３２ａに従って、Ｓ２１からＳ２６の処理を実行する。Ｓ２１では、ＣＰＵ２２は、上記のＵＲＬで特定されるウェブデータ（即ち上記の元画像を表わすウェブデータ）を、ウェブサーバ２００から取得して、ウェブデータを一時記憶領域３４に記憶させる。次に、記憶制御部５２は、メモリカード１９内に中間ファイル（後述する印刷用中間ファイル又は表示用中間ファイル）が記憶されている場合に、当該中間ファイルを消去する（Ｓ２２）。この結果、記憶制御部５２は、メモリカード１９内の中間ファイルが記憶されている領域に、新たなデータを記憶させることができる。次いで、中間データ生成部５０は、中間データ生成処理を実行し（Ｓ２４）、印刷データ生成部５４及び表示データ生成部５６は、出力データ生成処理を実行する（Ｓ２６）。
【００３６】
（中間データ生成処理）
次いで、図３を参照して、中間データ生成部５０によって実行されるＳ２４の中間データ生成処理について説明する。中間データ生成処理では、図２のＳ１４で取得されたウェブデータが、ビットマップ形式（より具体的にはＲＧＢのビットマップ形式）の中間データに変換される。
【００３７】
中間データ生成部５０は、一時記憶領域３４を利用して、中間データを生成する。携帯電話装置１０の一時記憶領域３４の容量は、比較的小さい（ＰＣ等と比べると小さい）。従って、中間データ生成処理では、ウェブデータの全てを用いて、印刷用中間データを含む１個のファイルを生成するという手法を採用せず、ウェブデータを構成する複数個の部分データの各々を順次用いて、複数個の印刷用部分中間データの各々を順次生成する。
【００３８】
まず、中間データ生成部５０は、プリンタ３００が実行可能な印刷条件を、プリンタ３００から取得する（Ｓ４２）。印刷条件は、プリンタ３００が印刷可能な印刷用紙のサイズ、印刷解像度等を含む。本実施例では、プリンタ３００は、レター（８．５インチ×１１インチ）、Ａ４（２１０ｍｍ×２９７ｍｍ）、又は、Ａ３（２９７ｍｍ×４２０ｍｍ）の印刷用紙に印刷可能である。また、プリンタ３００は、３００ｄｐｉ又は６００ｄｐｉの印刷解像度で印刷可能である。なお、本実施例では、プリンタ３００は、印刷用紙の縦方向（長辺方向）と横方向（短辺方向）とに、同じ印刷解像度で印刷する。
【００３９】
次いで、中間データ生成部５０は、印刷用部分中間データの横方向の画素数を決定する（Ｓ４６）。具体的には、中間データ生成部５０は、Ｓ４２で取得された印刷条件の中から、横方向の画素数（ドット数）が最大となる印刷条件を特定する。本実施例では、Ａ３の印刷用紙と、６００ｄｐｉの印刷解像度と、の組合せが特定される。次いで、中間データ生成部５０は、Ａ３の印刷用紙の横幅（単位はインチ）に印刷解像度６００ｄｐｉを乗算することによって、印刷用部分中間データの横方向の画素数を決定する。
【００４０】
なお、本実施例では、「印刷用紙の横幅」とは、印刷用紙の横幅全体から余白の大きさが減算された長さを意味する。後述の「印刷用紙の縦幅」も同様である。なお、本実施例のプリンタ３００では、印刷用紙のサイズに応じて、余白の大きさが予め決められている。また、プリンタ３００から取得される印刷用紙のサイズは、余白の大きさを含む。
【００４１】
次に、中間データ生成部５０は、Ｓ４６で決定された印刷用部分中間データの横方向の画素数と、一時記憶領域３４内の予め決められているワーク領域の容量と、を用いて、印刷用部分中間データの縦方向の画素数を決定する（Ｓ４８）。詳細には、中間データ生成部５０は、一時記憶領域３４内のワーク領域の容量に収まる範囲内の最大の画素数を特定し、当該最大の画素数をＳ４６で決定された横方向の画素数で除算することによって、縦方向の画素数を決定する。
【００４２】
次に、中間データ生成部５０は、Ｓ４８で決定された縦方向の画素数を、Ｓ４６で決定された横方向の画素数で除算する。これにより、ワーク領域内に生成可能な最大のデータサイズを有する１個の印刷用部分中間データの画素数の縦横比（本実施例では「０．４」）が算出される。以下では、ここで算出された値「０．４」のことを「最大縦横比」と呼ぶ。中間データ生成部５０は、最大縦横比「０．４」を中間データテーブル４０（図１参照）に登録する（Ｓ５０）。
【００４３】
次に、中間データ生成部５０は、Ｓ４２で取得された印刷条件が示す各印刷用紙のサイズ（Ａ４、Ａ３、レター）の各々について、当該印刷用紙に印刷可能な縦方向の画素数を、当該印刷用紙に印刷可能な横方向の画素数で除算する。本実施例では、Ａ４及びＡ３サイズでは「１．４１」が算出され、レターサイズでは「１．２９」が算出される。これにより、各印刷用紙のサイズの各々について、当該印刷用紙に印刷可能な画素数の縦横比が算出される。以下では、算出された値「１．４１」と「１．２９」とのことを「印刷用紙縦横比」と呼ぶ。
【００４４】
中間データ生成部５０は、印刷用縦横比「１．４１」、「１．２９」を中間データテーブル４０に登録する（Ｓ５２）。なお、別の実施例では、中間データ生成部５０は、Ｓ４２〜Ｓ５２のうち少なくとも１個の処理を予め実行していてもよい。例えば、中間データ生成部５０は、プリンタ３００と通信可能に接続される際に、Ｓ４２〜Ｓ５２の処理を実行してもよい。また、予め印刷アプリケーション３２ａ自体にプリンタ３００が実行可能な印刷条件が組み込まれており、中間データ生成部５０は、プリンタ３００と通信することなく、Ｓ４２〜Ｓ５２の処理を実行してもよい。
【００４５】
次に、中間データ生成部５０は、図２のＳ１４で取得されたウェブデータ４００（図５参照）を用いて、１個の印刷用部分中間データを含む１個の印刷用中間ファイルを生成する（Ｓ５４）。中間データ生成部５０が印刷用中間ファイルを生成する処理を、具体例を挙げて説明する。
【００４６】
最初に、中間データ生成部５０は、中間データテーブル４０（図１参照）の「データ位置」の値を「０」にする。次いで、中間データ生成部５０は、中間データテーブル４０に登録されている「データ位置」の値（０）と最大縦横比（０．４）とを加算した値（０．４（＝０＋０．４））と、印刷用紙縦横比（１．４１及び１．２９）と、の中から、最小の値（０．４）を特定する（０．４＜１．２９＜１．４１から０．４を特定する）。図５に示すように、中間データ生成部５０は、ウェブデータ４００を用いて、現在の「データ位置」の値（０）の位置から、上記の最小の値（０．４）の位置までの部分画像４０２を表わす１個の印刷用部分中間データ５０２（ＲＧＢのビットマップ形式）を、ワーク領域内に生成する。
【００４７】
なお、部分画像４０２は、テキストオブジェクト４０２ｔの一部と、画像オブジェクト４０２ｉの一部と、を含む。従って、中間データ生成部５０は、ウェブデータ４００を構成する複数個のファイルの中から、テキストオブジェクト４０２ｔを含むファイルと、画像オブジェクト４０２ｉを含むファイルと、を用いて、部分画像４０２を表わす１個の印刷用部分中間データ５０２を生成する。なお、部分画像４０２を表わす印刷用部分中間データでは、横方向の画素数はＳ４６で決定された画素数であり、縦方向の画素数はＳ４８で決定された縦方向の画素数である。
【００４８】
次いで、中間データ生成部５０は、１個の印刷用部分中間データ５０２を含む１個の印刷用中間ファイルを、ワーク領域内に生成する。詳細には、中間データ生成部５０は、ＰＮＧ（Portable Network Graphics）の圧縮アルゴリズムを利用して、印刷用部分中間データ５０２を圧縮することによって、１個の印刷用中間ファイルを生成する。記憶制御部５２は、１個の印刷用中間ファイルが生成されると、当該印刷用中間ファイルを、メモリカード１９に記憶させる（Ｓ５６）。なお、Ｓ５６を終えると、記憶制御部５２は、ワーク領域内のデータ（印刷用部分中間データ、印刷用中間ファイル）を消去する。さらに、中間データ生成部５０は、中間データテーブル４０の「データ位置」の値を、部分画像４０２の下端の位置を示す「０．４」に更新する。
【００４９】
次いで、中間データ生成部５０は、ウェブデータ４００の全て用いて、印刷用中間ファイルを生成したのか否かを判断する（Ｓ５８）。ここでＮＯの場合には、Ｓ５４に戻る。Ｓ５４に戻ると、中間データ生成部５０は、中間データテーブル４０の現在の「データ位置」の値（０．４）と最大縦横比（０．４）とを加算した値（０．８（＝０．４＋０．４））と、印刷用紙縦横比（１．４１及び１．２９）と、の中から、最小の値（０．８）を特定する（０．８＜１．２９＜１．４１から０．８を特定する）。中間データ生成部５０は、現在の「データ位置」の値（０．４）の位置から、上記の最小の値（０．８）の位置までの部分画像４０４を表わす１個の印刷用部分中間データ５０４を生成し、印刷用部分中間データ５０４を圧縮して、１個の印刷用中間ファイルを生成する。
【００５０】
中間データ生成部５０は、さらに、上記のＳ５４からＳ５８の処理を繰り返し実行することによって、複数個の印刷用部分中間データ５０６，５０８，５１０を表わす複数個の印刷用中間ファイルを生成する。なお、印刷用部分中間データ５０６は、位置０．８から位置１．２までの部分画像４０６を表わす印刷用部分中間データであり、印刷用部分中間データ５０８は、位置１．２から位置１．２９までの部分画像４０８を表わす印刷用部分中間データであり、印刷用部分中間データ５１０は、位置１．２９から位置１．４１までの部分画像４１０を表わす印刷用部分中間データである。
【００５１】
なお、Ｓ５４において、印刷用紙縦横比の１．２９が最小の値として特定された場合、中間データ生成部５０は、特定された最小の値に印刷用紙縦横比（１．２９）を加算した値（２．５８）を、中間データテーブル４０内の１．２９に替えて登録する。印刷用紙縦横比の１．４１が最小の値として特定された場合も同様である。
【００５２】
なお、上述したように、位置１．２９は、レターサイズの縦横比である。従って、レターサイズの印刷用紙に印刷される場合には、位置０から位置１．２９までに対応する４個の印刷用部分中間データ５０２〜５０８を用いれば、１枚目の印刷用紙に対する印刷に利用される印刷データを生成することができる。また、上述したように、位置１．４１は、Ａ４又はＡ３の縦横比である。従って、Ａ４又はＡ３の印刷用紙に印刷される場合には、位置０から位置１．４１までに対応する５個の印刷用部分中間データ５０２〜５１０を用いれば、１枚目の印刷用紙に対する印刷に利用される印刷データを生成することができる。なお、以下では、メモリカード１９内の複数個の印刷用中間ファイルに含まれる複数個の印刷用部分中間データのことを、まとめて「印刷用中間データ５００」と呼ぶ。
【００５３】
上記の説明から明らかなように、中間データ生成部５０は、Ｓ４６で決定された横方向の画素数及びＳ４８で決定された縦方向の画素数又はそれ以下の画素数を有する１個の印刷用部分中間データを生成する。即ち、中間データ生成部５０は、一時記憶領域３４内のワーク領域を利用して生成可能な印刷用部分中間データの最大のデータサイズを超えて、印刷用部分中間データを生成しない。また、中間データ生成部５０は、印刷用中間ファイルがメモリカード１９に記憶されると、ワーク領域内のデータ（印刷用中間ファイル、印刷用部分中間データ）を消去する。この構成によれば、一時記憶領域３４内のワーク領域の容量不足によって、中間データ生成部５０が印刷用中間データ５００を生成できなくなる事態を防止できる。
【００５４】
ウェブデータ４００の全てを用いて、印刷用中間ファイルが生成されると（Ｓ５８でＹＥＳ）、中間データ生成部５０は、表示部１４（図１参照）の表示領域の横幅（記憶部３０に予め記憶されている）を取得する（Ｓ６０）。次いで、中間データ生成部５０は、メモリカード１９内の複数個の印刷用中間ファイルを用いて、ＪＰＥＧ形式の表示用中間データを生成する（Ｓ６２〜Ｓ６６）。
【００５５】
まず、Ｓ６２では、中間データ生成部５０は、複数個の印刷用中間ファイルのうち、生成された順番が最も古い１個の印刷用中間ファイルを選択する。次いで、中間データ生成部５０は、選択された印刷用中間ファイル（ＰＮＧ形式で圧縮されている）を伸張することによって、印刷用部分中間データ５０２を一時記憶領域３４内のワーク領域に生成する。次に、中間データ生成部５０は、印刷用部分中間データ５０２によって表わされる部分画像の横方向の長さが、表示領域の横幅と一致するように、印刷用部分中間データ５０２の画素数を調整して（即ち減らして）、表示用部分中間データを生成する。そして、中間データ生成部５０は、表示用部分中間データの元となった印刷用部分中間データ５０２を、ワーク領域から消去する。
【００５６】
同様に、中間データ生成部５０は、複数個の印刷用中間ファイルのうち、生成された順番が古い順に１個の印刷用中間ファイルを選択して、上記の処理を実行する。ワーク領域内の表示用部分中間データが増えると、ワーク領域の空き容量は減少する。中間データ生成部５０は、ワーク領域の空き容量が不足することに起因して、表示用部分中間データを生成できなくなるまで、表示用部分中間データの生成を続ける。表示用部分中間データが生成できなくなると、中間データ生成部５０は、ＪＰＥＧ形式の圧縮アルゴリズムを用いて、ワーク領域内の表示用部分中間データを圧縮することによって、１個の表示用中間ファイルを生成する。上記の説明から明らかなように、本実施例では、２個以上の印刷用中間ファイルから１個の表示用中間ファイルが生成され得る。
【００５７】
記憶制御部５２は、１個の表示用中間ファイルが生成されると、当該表示用中間ファイルを、メモリカード１９に記憶させる（Ｓ６４）。次いで、中間データ生成部５０は、ワーク領域内のデータ（表示用部分中間データ、表示用中間ファイル）を消去する。中間データ生成部５０は、全ての印刷用中間ファイルを用いて、表示用中間ファイルを生成したのか否かを判断する（Ｓ６６）。全ての印刷用中間ファイルを用いて、表示用中間ファイルを生成した場合（Ｓ６６でＹＥＳ）、中間データ生成処理を終了する。
【００５８】
一方、全ての印刷用中間ファイルを用いて、表示用中間ファイルを生成していない場合（Ｓ６６でＮＯ）、Ｓ６２に戻る。この結果、残りの印刷用中間ファイルから表示用中間ファイルが生成されて、表示用中間ファイルがメモリカード１９に記憶される。即ち、メモリカード１９には、２個以上の表示用中間ファイルが記憶され得る。
【００５９】
（出力データ生成処理）
次いで、図４を参照して、図２のＳ２６の出力データ生成処理について説明する。出力データ生成処理では、プリンタ３００（図１参照）が印刷するための印刷データと、表示部１４に印刷プレビュー画像を表示させるための表示データと、が生成される。
【００６０】
供給部５８は、印刷条件（印刷用紙のサイズ、印刷部数、カラー印刷又はモノクロ印刷の選択、縮小拡大率、Ｎｉｎ１印刷の設定等）をユーザに設定させるための設定画面を示すデータを、表示部１４に供給する。これにより、設定画面が表示部１４に表示される。ユーザは、操作部１２を操作することによって、印刷条件を設定することができる。印刷条件は、印刷用紙のサイズと印刷解像度とを含む。表示データ生成部５６は、ユーザからの設定操作を受け付けることを監視している（Ｓ７２）。表示データ生成部５６は、設定操作を受け付けると（Ｓ７２でＹＥＳ）、ユーザによって設定された印刷条件を記憶部３０に記憶させる。
【００６１】
表示データ生成部５６は、設定操作を受け付けると（Ｓ７２でＹＥＳ）、表示部１４（図１参照）の画面の表示領域の横幅及び縦幅（記憶部３０に予め記憶されている）を取得する（Ｓ７４）。次いで、表示データ生成部５６は、設定された印刷条件が示す印刷用紙のサイズ（例えばレター）を取得する（Ｓ７６）。
【００６２】
次いで、表示データ生成部５６は、「印刷用紙の横幅／表示領域の横幅」の値（以下では「横幅の比率」呼ぶ）と、「印刷用紙の縦幅／表示領域の縦幅」（以下では「縦幅の比率」と呼ぶ）の値と、を比較する（Ｓ７８）。横幅の比率が縦幅の比率以上の場合（Ｓ７８でＹＥＳ）、表示データ生成部５６は、表示部１４の表示領域の横幅と一致する横幅を有する画像を表わす表示データを生成する（Ｓ８０）。具体的には、まず、表示データ生成部５６は、メモリカード１９内の各表示用中間ファイルを順次伸張することによって、各表示用部分中間データ（ＲＧＢのビットマップ形式）を一時記憶領域３４内のワーク領域に順次生成する。次いで、表示データ生成部５６は、各表示用部分中間データを用いて、１枚目の印刷用紙に対応する印刷プレビュー画像を表わす表示データを生成する。
【００６３】
なお、表示データ生成部５６は、１枚目の印刷用紙に対応する表示データの横方向の画素数と縦方向の画素数との比が、ユーザによって設定された印刷用紙のサイズ（例えばレターサイズ）の印刷用紙縦横比（例えば１．２９）に一致するように、１枚目の印刷用紙に対応する表示データを生成する。上述したように、表示用部分中間データの横方向の画素数は、表示部１４の表示領域の横幅に対応している。このため、表示データ生成部５６は、表示データを生成する際に、横方向の画素数を調整するための処理を実行しなくて済む。また、表示データを生成するための時間を短縮することができる。
【００６４】
なお、２枚目以降の印刷用紙に対応する印刷プレビュー画像が存在する場合には、表示データ生成部５６は、１枚目の印刷用紙に対応する表示データを生成する場合と同様に、２枚目以降の印刷用紙に対応する表示データを生成する。この結果、１枚以上の印刷用紙に対応する１個以上の印刷プレビュー画像を表わす表示データが完成する。
【００６５】
一方、横幅の比率が縦幅の比率よりも小さい場合（Ｓ７８でＮＯ）には、表示データ生成部５６は、表示領域の縦幅と一致する縦幅を有する画像を表わす表示データを生成する（Ｓ８２）。具体的には、表示データ生成部５６は、Ｓ８０と同様に、１個の表示データの横方向の画素数と縦方向の画素数との比が、ユーザによって設定された印刷用紙のサイズ（例えばレターサイズ）の印刷用紙縦横比（例えば１．２９）に一致するように、１枚目の印刷用紙に対応する表示データを生成する。次いで、表示データ生成部５６は、１枚目の印刷用紙に対応する表示データの縦方向の画素数が、表示部１４の表示領域の縦幅に対応するように、当該表示データの画素数を調整する（即ち減らす）。同様にして、表示データ生成部５６は、２枚目以降の印刷用紙に対応する表示データを生成する。
【００６６】
供給部５８は、Ｓ８０又はＳ８２で生成される表示データを、表示部１４に供給する（Ｓ８４）。この結果、表示データによって表される印刷プレビュー画像が表示部１４に表示される。ユーザは、印刷プレビュー画像を確認して、Ｓ７２で入力した印刷条件で、プリンタ３００に印刷させるのか否かを判断することができる。
【００６７】
なお、本実施例では、設定操作を受け付けた際に、自動的に表示データを表示部１４に供給するが、別の実施例では、供給部５８は、設定操作を受け付けた後に、ユーザから所定の指示（例えば、ユーザによる操作部１２への所定の操作）を受け付けると、印刷プレビュー画像を表示部１４に供給してもよい。
【００６８】
次に、ユーザは、印刷を開始させるための開始操作を、操作部１２に実行することができる。印刷データ生成部５４は、開始操作を受け付けることを監視している（Ｓ８６）。印刷データ生成部５４は、開始操作を受け付けると（Ｓ８６でＹＥＳ）、メモリカード１９内の複数個の印刷用中間ファイルを用いて、印刷データ６００（図５参照）を生成する処理を実行する（Ｓ８８〜Ｓ１０４）。ユーザは、さらに、Ｓ７２で設定された印刷条件をキャンセルするためのキャンセル操作を、操作部１２に実行することができる。印刷データ生成部５４は、開始操作を受け付けずにキャンセル操作を受け付けると（Ｓ８６でＮＯ）、再びユーザからの設定操作を受け付けることを監視する（Ｓ７２）。
【００６９】
なお、別の実施例では、印刷データ生成部５４は、Ｓ７２においてユーザからの設定操作を受け付けない場合（Ｓ７２でＮＯ）、Ｓ８６に進んで、開始操作を受け付けることを監視してもよい。この場合、印刷データ生成部５４は、キャンセル操作を受け付けるのか否かに関わらず、設定操作を受け付けるか、開始操作を受け付けるまで、Ｓ７２及びＳ８６の処理を繰り返し実行してもよい。設定操作を受け付けずに（Ｓ７２でＮＯ）、開始操作を受け付ける（Ｓ８６でＹＥＳ）場合、印刷データ生成部５４は、印刷アプリケーション３２ａにデフォルトで設定されている印刷条件又は記憶部３０内に予め記憶されている印刷条件（例えば前回の印刷データ生成時にＳ７２で設定された印刷条件、ユーザによって予め設定されている印刷条件等）に従って、Ｓ８８以降の処理を実行してもよい。なお、この場合、表示データ生成部５６は、表示データを生成しなくてもよい。
【００７０】
まず、印刷データ生成部５４は、メモリカード１９内の複数個の印刷用中間ファイルのうち、生成順序が最も古い１個の印刷用中間ファイルを取得する（Ｓ８８）。印刷データ生成部５４は、１個の印刷用中間ファイル（ＰＮＧ形式で圧縮されている）を伸張して、１個の印刷用部分中間データ５０２を一時記憶領域３４内のワーク領域に生成する。
【００７１】
次いで、印刷データ生成部５４は、印刷用部分中間データ５０２を用いて、部分印刷データを生成する（Ｓ９０）。具体的には、印刷データ生成部５４は、Ｓ７２で設定された印刷条件が示す印刷用紙のサイズと印刷解像度とに合わせて、部分中間データ５０２の画素数を調整する。
【００７２】
印刷用部分中間データ５０２の横方向の画素数は、プリンタ３００が印刷可能な印刷条件のうち、横方向の画素数が最も大きくなる印刷条件の画素数と一致している。このため、Ｓ７２で設定された印刷条件が、画素数が最も大きくなる印刷条件（即ち、Ａ３、６００ｄｐｉ）を示す場合には、印刷データ生成部５４は、印刷用部分中間データ５０２の画素数を調整しなくて済む。一方、Ｓ７２で設定された印刷条件が、画素数が最も大きくなる印刷条件でない場合には、印刷データ生成部５４は、印刷用部分中間データ５０２の画素数を減らすように調整する。この構成によれば、印刷データ生成部５４は、印刷用部分中間データ５０２の画素数を増やすように調整しなくて済む。
【００７３】
Ｓ９０の処理によって、ビットマップ形式の部分印刷データ６０２（図５参照）が生成される。なお、フローチャートには示されていないが、記憶部３０には、「現在の縦方向の画素数」というパラメータが記憶される。Ｓ９０では、さらに、印刷データ生成部５４は、記憶部３０内の現在の縦方向の画素数（０）に、部分印刷データ６０２の縦方向の画素数を加算することによって、現在の縦方向の画素数を更新する。なお、現在の縦方向の画素数は、後述のＳ９４の判断で利用される。次いで、印刷データ生成部５４は、部分印刷データ６０２を、ＪＰＥＧの圧縮アルゴリズムを利用して圧縮することによって、印刷ファイル（ＪＰＥＧファイル）を生成する（Ｓ９２）。
【００７４】
次いで、印刷データ生成部５４は、１枚の印刷用紙に対応する印刷データが完成したのか否かを判断する（Ｓ９４）。具体的に言うと、印刷データ生成部５４は、Ｓ７２で設定された印刷条件が示す印刷用紙のサイズ（例えばレター）の縦幅（単位はインチ）と、Ｓ７２で設定された印刷条件が示す印刷解像度（例えば３００ｄｐｉ）と、を乗算することによって、１枚の印刷用紙に対する印刷に必要な縦方向の画素数（以下では「必要画素数」と呼ぶ）を算出する。Ｓ９４では、印刷データ生成部５４は、記憶部３０内の現在の縦方向の画素数が上記の必要画素数に一致するのか否かを判断することによって、１枚の印刷用紙に対応する印刷データが完成したのか否かを判断する。
【００７５】
Ｓ９４でＹＥＳの場合には、印刷データ生成部５４は、Ｓ９２で生成された印刷ファイルに、１枚の印刷用紙に対する印刷の終了を示すデータ（以下では「終了データ」と呼ぶ）を追加する。次いで、供給部５８は、終了データを含む印刷ファイルをプリンタ３００に供給する（Ｓ９６）。なお、本実施例では、部分印刷データ６０２が生成された時点では、Ｓ９４でＮＯと判断されるために、印刷データ生成部５４は、終了データを含まない印刷ファイルをプリンタ３００に供給する（Ｓ９８）。この結果、プリンタ３００は、携帯電話装置１０から取得された部分印刷データ６０２によって表される画像を、１枚目の印刷用紙に印刷する。
【００７６】
次いで、印刷データ生成部５４は、メモリカード１９内の複数個の印刷用中間ファイルの全てを処理したのか否かを判断する（Ｓ１００）。複数個の印刷用中間ファイルの全てが処理されていない場合（Ｓ１００でＮＯ）、印刷データ生成部５４は、Ｓ８８に戻る。この結果、印刷データ生成部５４は、前回のＳ８８で取得された印刷用中間ファイルの次に生成された印刷用中間ファイルを取得して伸張し、印刷用部分中間データ５０４を一時記憶領域３４内のワーク領域に生成する。次に、印刷データ生成部５４は、上記と同様に、印刷用部分中間データ５０４を用いて、部分印刷データ６０４（図５参照）を生成して（Ｓ９０）、印刷ファイルを生成する（Ｓ９２）。
【００７７】
本実施例では、部分印刷データ６０４が生成された場合も、Ｓ９４でＮＯと判断される。従って、供給部５８は、終了データを含まない印刷ファイル（即ち部分印刷データ６０４）をプリンタ３００に供給する（Ｓ９８）。この結果、プリンタ３００は、部分印刷データ６０２によって表わされる画像に連続するように、部分印刷データ６０４によって表される画像を、部分印刷データ６０２によって表される画像が印刷される印刷用紙と同じ１枚目の印刷用紙に印刷する。
【００７８】
同様に、印刷データ生成部５４は、次の印刷用中間ファイルに含まれる印刷用部分中間データ５０６を用いて、部分印刷データ６０６（図５参照）を含む印刷ファイルを生成して（Ｓ９２）する。供給部５８は、終了データを含まない印刷ファイル（即ち部分印刷データ６０６）をプリンタ３００に供給する（Ｓ９８）。
【００７９】
例えば、ユーザによって設定された印刷条件がレターサイズを示す場合には、次の印刷用中間ファイルに含まれる印刷用部分中間データ５０８を用いて、部分印刷データ６０８（図５参照）を含む印刷ファイルが生成されると（Ｓ９２）、Ｓ９４でＹＥＳと判断される。この場合、供給部５８は、終了データを含む印刷ファイル（即ち部分印刷データ６０８）をプリンタ３００に供給する（Ｓ９６）。Ｓ９６又はＳ９８で印刷ファイルが供給されると、印刷データ生成部５４は、ワーク領域内のデータ（印刷ファイル、部分印刷データ）を消去する。
【００８０】
この場合、プリンタ３００は、レターサイズの１枚の印刷用紙に対する印刷が終了することを知ることができ、部分印刷データ６０８によって表される画像を部分印刷データ６０２、６０４、及び６０６によって表される画像が印刷される印刷用紙と同じ１枚目の印刷用紙に印刷すると、当該印刷用紙を排紙する。この結果、仮に、プリンタ３００が、次の印刷ファイルを携帯電話装置１０から取得すると、当該新たな印刷ファイルに含まれる部分印刷データよって表わされる画像を、レターサイズの２枚目の印刷用紙に印刷することができる。なお、Ｓ９６を終えると、印刷データ生成部５４は、記憶部３０内の現在の縦方向の画素数を「０」に変更する。これにより、２枚目の印刷用紙に対応する印刷データが完成するまで、Ｓ９４でＮＯと判断される。
【００８１】
なお、例えば、ユーザによって設定された印刷条件がＡ３又はＡ４を示す場合には、印刷用中間ファイルに含まれる印刷用部分中間データ５０８を用いて、部分印刷データ６０８（図５参照）を含む印刷ファイルが生成されても（Ｓ９２）、Ｓ９４でＮＯと判断される。この場合には、更に次の印刷用中間ファイルに含まれる印刷用部分中間データ５１０を用いて、部分印刷データを含む印刷ファイルが生成されると（Ｓ９２）、Ｓ９４でＹＥＳと判断される。
【００８２】
上述したように、本実施例では、レターサイズの印刷用紙の印刷用紙縦横比に応じて、印刷用部分中間データ５０８によって表わされる画像のサイズ（位置１．２〜位置１．２９）が決定される。また、Ａ４等の印刷用紙のサイズに応じて、印刷用部分中間データ５１０によって表わされる画像のサイズ（位置１．２９〜位置１．４１）が決定される。従って、例えば、レターサイズの印刷用紙が印刷条件として設定される場合には、印刷用部分中間データ５０８を用いてＳ９０で部分印刷データを生成すると、レターサイズの１枚目の印刷用紙に対応する印刷データが完成する。また、例えば、Ａ４の印刷用紙が印刷条件として設定される場合には、印刷用部分中間データ５１０を用いてＳ９０で部分印刷データを生成すると、Ａ４の１枚目の印刷用紙に対応する印刷データが完成する。
【００８３】
即ち、プリンタ３００が印刷可能ないずれのサイズの印刷用紙に印刷される場合でも、メモリカード１９内の複数個の印刷用部分中間データ５０２〜５１０によって表される複数個の部分画像のいずれも、１枚目の印刷用紙と２枚目の印刷用紙とに跨って印刷されない。同様に、複数個の部分画像のいずれも、２枚以上の印刷用紙（例えば２枚目の印刷用紙と３枚目の印刷用紙）に跨って印刷されない。
【００８４】
仮に、１個の印刷用部分中間データによって表わされる１個の部分画像が、１枚目の印刷用紙と２枚目の印刷用紙とに跨って印刷されるように、１個の印刷用中間ファイルが構成されている場合には、印刷データ生成部５４は、以下のように動作する必要がある。
【００８５】
即ち、印刷データ生成部５４は、２枚の印刷用紙の一方の印刷用紙に対応する印刷データを生成する際に、１個の中間ファイルの中から一部分のデータを特定し、さらに、２枚の印刷用紙のうちの他方の印刷用紙に対応する印刷データを生成する際に、当該１個の中間ファイルの中から一部のデータを特定する。このため、１個の中間ファイルの中から一部のデータを特定するための時間が必要となる。これに対し、本実施例では、印刷データ生成部５４は、１個の中間ファイルの中から一部のデータを特定する必要がないために、印刷ファイルの生成時間が短縮される。
【００８６】
なお、メモリカード１９内の複数個の印刷用中間ファイルの全てが処理された場合（Ｓ１００でＹＥＳの場合）には、印刷データ生成部５４は、出力データ生成処理を終了する。この際に、印刷データ生成部５４は、印刷の終了を示すデータをプリンタ３００に供給してもよい。このようにすると、プリンタ３００は、印刷の終了を知ることができ、最後の印刷ファイルによって表わされる画像が印刷された印刷用紙を排紙することができる。
【００８７】
なお、記憶制御部５２は、表示データ及び印刷データが生成された後も、印刷用及び表示用中間ファイルを、メモリカード１９に記憶されている状態を維持する。即ち、印刷アプリケーション３２ａが再び起動されるまで（図２のＳ１８で再びＹＥＳと判断されるまで）、印刷用及び表示用中間ファイルがメモリカード１９内に維持される。この構成によれば、出力データ生成処理の終了後に、印刷条件の設定操作を再び受け付けた場合に、印刷用及び表示用中間ファイルを用いて、表示データ及び印刷データを生成することができる。このため、例えば、ユーザが、最初に入力した印刷条件と異なる印刷条件で、再度、元画像の印刷を望む場合に、印刷結果を取得するまでの時間を短縮することができる。
【００８８】
以上により、実施例について詳しく説明した。ウェブデータが一時記憶領域３４に記憶されている状態では、ウェブデータを構成する複数個のファイルのうちの一部のファイルが、消去されたり、書き換えられたりする事態が発生する場合がある。この場合、ウェブデータによって表される元画像の一部が欠損する。特に、制御装置２０が、ウェブデータが一時記憶領域３４に記憶されている状態で、印刷アプリケーション３２ａやウェブブラウザ３２ｂと異なるアプリケーションが起動されると、上記の事態が発生しやすい。
【００８９】
仮に、ユーザから印刷条件の設定操作を受け付けた後（図４のＳ７２参照）に、ウェブデータを用いて印刷データを生成する構成を採用すると、ウェブデータが一時記憶領域３４に記憶されている時間が比較的に長くなり、この結果、上記の事態が発生する可能性が高くなる。
【００９０】
本実施例の制御装置２０は、印刷アプリケーション３２ａの起動操作を受け付ける（図２のＳ１８でＹＥＳ）と、ユーザから設定操作を受け付ける前に、一時記憶領域３４に記憶されているウェブデータを用いて、ビットマップ形式の印刷用中間データを生成して、メモリカード１９に記憶させる。制御装置２０は、ファイルの消去等が実行され得るウェブデータではなく、ビットマップ形式の印刷用中間データを用いて、印刷データを生成する。この結果、元画像の一部が欠損した画像を表わす印刷データが生成されることを抑制することができ、元画像の一部が欠損した画像を表わす印刷が実行されることを抑制することができる。
【００９１】
なお、ウェブデータ、印刷用中間データ、表示用中間データが、それぞれ「元データ」、「第１種の中間データ」、「第２種の中間データ」の一例である。印刷用部分中間データ及び印刷用中間ファイルがそれぞれ、「部分中間データ」及び「中間ファイル」の一例である。印刷アプリケーション３２ａの起動操作、印刷条件の設定操作及び印刷を開始させるための開始操作がそれぞれ、「印刷指示」、「設定指示」及び「開始指示」の一例である。
【００９２】
（第２実施例）
第１実施例と異なる点を説明する。本実施例では、中間データ生成部５０は、図３のＳ５２の処理を実行しない。中間データ生成部５０は、Ｓ４６及びＳ４８で決定された画素数で印刷用部分中間データを生成する。この結果、１個の印刷用部分中間データによって表される画像が、２枚の印刷用紙に跨って印刷されるべき事態が発生する可能性がある。
【００９３】
（出力データ生成処理）
図６に示す出力データ生成処理は、図４のＳ７２からＳ８６と同様の処理を実行する。本実施例では、印刷データ生成部５４は、ユーザによって設定された印刷条件（図４のＳ７２参照）に含まれる印刷用紙のサイズが、Ａ３サイズであるのか否かを判断する（Ｓ２０２）。印刷用紙のサイズがＡ３である場合（Ｓ２０２でＹＥＳ）に、印刷データ生成部５４は、記憶部３０内の色数変更フラグを「１」にして（Ｓ２０４）、Ｓ２０６に進む。一方、印刷用紙のサイズがＡ３以外（即ち、Ａ４又はレター）である場合（Ｓ２０２でＮＯ）、印刷データ生成部５４は、Ｓ２０４を実行せず、Ｓ２０６に進む。
【００９４】
Ｓ２０６では、印刷データ生成部５４は、図４のＳ８８と同様に、印刷用中間ファイル（ＰＮＧ形式で圧縮されている）を取得して、印刷用中間ファイルを伸張することによって、１個の印刷用部分中間データを一時記憶領域３４内のワーク領域に生成する。次いで、印刷データ生成部５４は、ワーク領域内の印刷用部分中間データを用いて、部分印刷データを生成する（Ｓ２０８）。
【００９５】
なお、色数変更フラグが「１」である場合、印刷データ生成部５４は、部分印刷データで表わされる色数を、印刷用部分中間データで表わされる色数よりも少なくなるように、部分印刷データを生成する。例えば、印刷用部分中間データが、２４ビットのＲＧＢ（Ｒが８ビット、Ｇが８ビット、Ｂが８ビット）で表わされるデータである場合、印刷データ生成部５４は、１６ビットのＲＧＢ（Ｒが５ビット、Ｇが６ビット、Ｂが５ビット）で表わされるデータに変換する。それ以外の処理は、図４のＳ９０と同様である。
【００９６】
ここで、印刷用紙のサイズが大きくなる程、印刷データのサイズも大きくなる可能性が高いので、この構成では、印刷用紙のサイズが大きい（即ちＡ３）の場合に、印刷データによって表現される色数が少なくなる。この結果、印刷データのサイズを小さくすることができる。印刷データのサイズが大きいために、ワーク領域の空き容量が不足して、印刷データを生成できなくなる事態を防止し得る。
【００９７】
Ｓ２０８では、さらに、印刷データ生成部５４は、記憶部３０内の現在の縦方向の画素数に、部分印刷データの縦方向の画素数を加算することによって、現在の縦方向の画素数を更新する。印刷データ生成部５４は、現在の縦方向の画素数と、必要画素数と、を比較する（Ｓ２１０）。Ｓ２１０で現在の縦方向の画素数と必要画素数とが等しいと判断される場合、印刷データ生成部５４は、Ｓ２０８で生成された全ての部分印刷データと、終了データと、を含む印刷ファイルを生成する（Ｓ２１２）。次いで、供給部５８は、Ｓ２１２で生成された印刷ファイルをプリンタ３００に供給して（Ｓ２１４）、Ｓ２２８に進む。なお、Ｓ２１４を終えると、印刷データ生成部５４は、現在の縦方向の画素数を「０」に更新する。
【００９８】
Ｓ２１０で、現在の縦方向の画素数が必要画素数よりも大きいと判断された場合とは、Ｓ２０８で生成された部分印刷データによって表わされる画像が、２枚の印刷用紙に跨る場合である。この場合、印刷データ生成部５４は、現在の縦方向の画素数から必要画素数を減算して、特定の縦方向の画素数を算出する。次いで、印刷データ生成部５４は、Ｓ２０８で生成された部分印刷データのうち、当該部分印刷データによって表わされる画像の下端から特定の縦方向の画素数までの画像よりも上方の画像を表わすデータと、終了データとを含む印刷ファイルを生成する（Ｓ２１６）。続いて、供給部５８は、Ｓ２１６で生成された印刷ファイルをプリンタ３００に供給する（Ｓ２１８）。
【００９９】
次に、印刷データ生成部５４は、Ｓ２０８で生成された部分印刷データのうちの残りの部分印刷データを含み、終了データを含まない印刷ファイルを生成する（Ｓ２２０）。次に、供給部５８は、Ｓ２２０で生成された印刷ファイルをプリンタ３００に供給して（Ｓ２２２）、Ｓ２２８に進む。なお、Ｓ２２２を終えると、印刷データ生成部５４は、現在の縦方向の画素数から必要画素数を減算した値を、現在の縦方向の画素数に更新する。
【０１００】
Ｓ２１０で、必要画素数が現在の縦方向の画素数よりも大きいと判断された場合、印刷データ生成部５４は、Ｓ２０８で生成された全ての印刷データを含み、終了データを含まない印刷ファイルを生成する（Ｓ２２４）。次いで、供給部５８は、Ｓ２２４で生成された印刷ファイルをプリンタ３００に供給して（Ｓ２２６）、Ｓ２２８に進む。
【０１０１】
Ｓ２２８では、図４のＳ１００と同様に、メモリカード１９内の複数個の印刷用中間ファイルの全てを処理したのか否かを判断する。Ｓ２２８でＮＯの場合、印刷データ生成部５４は、Ｓ２０６に戻る。一方、Ｓ２２８でＹＥＳの場合、印刷データ生成処理を終了する。なお、この際に、印刷データ生成部５４は、印刷の終了を示すデータをプリンタ３００に供給してもよい。
【０１０２】
第２実施例について詳しく説明した。制御装置２０は、部分中間データによって表される画像が２枚の印刷用紙に跨って印刷されるべき場合に、それらの２枚の印刷用紙に対する印刷で利用される部分印刷データの各々を生成することができる。
【０１０３】
なお、図６のＳ２１６の印刷ファイルに含まれる部分印刷データが「第１の部分印刷データ」の一例であり、Ｓ２２０の印刷ファイルに含まれる部分印刷データが「第２の部分印刷データ」の一例である。Ａ４サイズ及びレターサイズが「第１のサイズ」の一例であり、Ａ３サイズが「第２のサイズ」の一例である。２４ビットのＲＧＢが「第１の色数」の一例であり、１６ビットのＲＧＢが「第２の色数」の一例である。
【０１０４】
（変形例）
（１）印刷用中間データは、ＰＮＧ形式以外に、ＰＤＦ（Portable Document Format）形式、ＰＳ（Post Script）形式、２値形式、ＪＰＥＧ形式、圧縮されていないビットマップ形式、ベクタ形式であってもよい。一般に、印刷用中間データは、１個のファイルに含まれるデータによって、画像を表わすことができる種類のデータである、ということができる。言い換えると、印刷用中間データは、ウェブデータのように、複数個のファイルに含まれるデータを利用しなければ、予め決められた画像を表示できない種類のデータと異なる。印刷用部分中間データ、表示用中間データ及び表示用部分中間データも同様である。
【０１０５】
（２）第２実施例では、制御装置２０は、ユーザによって入力された印刷用紙のサイズが大きい（Ａ３）場合に、２４ビットのＲＧＢで表現される印刷用中間データを、１６ビットのＲＧＢで表現される印刷データに変換する。これに替えて、制御装置２０は、モノクロで表現される印刷データに変換してもよい。本変形例では、モノクロが「第２の色数」の一例である。
【０１０６】
また、あるいは、制御装置２０は、ユーザによって入力された印刷用紙のサイズがはがきサイズである場合に２４ビットのＲＧＢで表現される印刷データに変換し、Ａ４サイズである場合に１６ビットのＲＧＢで表現される印刷データに変換し、Ａ３サイズである場合にモノクロで表現される印刷データに変換してもよい。本変形例では、Ａ４サイズが「第１のサイズ」の一例とすると、Ａ３サイズが「第２のサイズ」の一例であり、１６ビットのＲＧＢが「第１の色数」の一例であり、モノクロが「第２の色数」の一例である。また、はがきサイズが「第１のサイズ」の一例とすると、Ａ４サイズが「第２のサイズ」の一例であり、２４ビットのＲＧＢが「第１の色数」の一例であり、１６ビットのＲＧＢが「第２の色数」の一例である。
【０１０７】
（３）上記の各実施例では、制御装置２０は、印刷アプリケーション３２ａの起動操作を受け付けると（図２のＳ１８でＹＥＳ）、メモリカード１９内の中間データを消去する（図２のＳ２２参照）。これに替えて、制御装置２０は、ユーザによる印刷アプリケーション３２ａを終了するための操作を受け付けると、中間データを消去してもよい。あるいは、制御装置２０は、中間データがメモリカード１９内に記憶されてから所定の時間が経過する際に、又は、メモリカード１９内の空き容量が所定量以下となった際に、中間データを消去してもよい。
【０１０８】
（４）「制御装置」は、携帯電話装置１０の制御装置２０以外に、ＰＣ、プリンタ、ＰＤＡ等の制御装置であってもよい。「印刷実行部」と「制御装置」は、同じ装置に搭載されていてもよい。「メモリ」は、メモリカード１９以外に、ハードディスク、ＵＳＢメモリ等の外部メモリであってもよいし、携帯電話装置１０に搭載されている内部メモリであってもよい。
【０１０９】
（５）上記の各実施例では、ＣＰＵ２２が印刷アプリケーション３２ａに従って処理を実行することによって各部５０〜５８が実現されるが、各部５０〜５８の少なくとも１個は、論理回路等のハードウェアで実現されてもよい。
【０１１０】
（６）制御装置２０は、プリンタ３００が印刷可能な印刷用紙のうち、少なくとも１個のサイズ（例えば、印刷アプリケーション３２ａにデフォルトで設定されているサイズ）の印刷用紙に印刷されるべき場合に、複数個の印刷用部分中間データによって表される画像のいずれもが、少なくとも最初に印刷される印刷用紙と次に印刷される印刷用紙に跨って印刷されないように、印刷用部分中間データを生成してもよい。この構成によれば、最初の印刷用紙のための印刷データが生成されるまでの時間を短縮することができる。
【０１１１】
（７）上記の実施例では、制御装置２０は、印刷用中間データ５００を用いて、表示用中間データを生成する。しかしながら、制御装置２０は、ウェブデータ４００を用いて、表示用中間データを生成してもよい。
【０１１２】
（８）上記の実施例では、制御装置２０は、印刷用部分中間データから部分印刷データが生成される毎に、当該部分印刷データを含む印刷ファイルを、プリンタ３００に供給する。しかしながら、制御装置２０は、複数個の印刷用部分中間データから１枚の印刷用紙に対応する印刷データが生成される毎に、当該部分印刷データを含む印刷ファイルを、プリンタ２００に供給してもよい。また、プリンタ３００は、制御装置２０から部分印刷データを含む印刷ファイルを受け取る毎に当該印刷ファイルを、プリンタ３００のメモリに一時的に保存してもよい。この場合、プリンタ３００は、終了データ等の終了を示すデータを制御装置２０から受け取ったことに応じて、メモリに保存された印刷データを用いた印刷を開始されてもよい。
【０１１３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１１４】
１０：携帯電話装置、１９：メモリカード、２０：制御装置、５０：中間データ生成部、５２：記憶制御部、５４：印刷データ生成部、５６：表示データ生成部、５８：供給部、３０２：印刷実行部、４００：ウェブデータ、５００：印刷用中間データ、５０２〜５０８：印刷用部分中間データ、６００：印刷データ
【図１】
0005545110.tif 000002
【図２】
0005545110.tif 000003
【図３】
0005545110.tif 000004
【図４】
0005545110.tif 000005
【図５】
0005545110.tif 000006
【図６】
0005545110.tif 000007