(57)【要約】  【課題】部単位で横方向および縦方向の印刷を交互に行う印刷（部単位セパレート印刷）において、各ページの横方向および縦方向の印刷データを生成するために、印刷コマンドを繰り返し実行した場合でも正しい印刷結果を得る。  【解決手段】印刷データ生成部１２０は、部単位セパレート印刷を行う場合、コマンド受付部１００を介して受け付けた各ページの印刷コマンドに従って、各ページの横方向の画像データを全て生成する。その後、記憶部１６０に格納された各ページの印刷コマンドに従って、各ページの縦方向の画像データを全て生成する。【選択図】図２
2010042632.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと、横および縦方向の印刷媒体に印刷可能な印刷装置とを有する印刷システムであって、
前記コンピュータは、
部単位印刷の方法の指定を含む印刷コマンドを生成して前記印刷装置に送信する手段を有し、
前記印刷装置は、
前記印刷コマンドを受け付けるコマンド受付手段と、
前記印刷コマンドに従ってページ毎の印刷データを生成する印刷データ生成手段と、
前記印刷データに従って、前記いずれかの方向の印刷媒体に印刷を行う印刷処理手段と、を有し、
前記印刷データ生成手段は、
部単位で横方向および縦方向の印刷を交互に行う部単位印刷の方法が指定された場合に、前記印刷コマンドに従って、所定の第１の方向の印刷のための印刷データをページ毎に生成するとともに、前記印刷コマンドを記憶し、前記第１の方向の印刷データの生成が終了した後、前記記憶した印刷コマンドに従って、前記第１の方向と異なる所定の第２の方向の印刷のための印刷データをページ毎に生成し、
前記印刷処理手段は、
前記部単位印刷の方法が指定された場合に、部単位で前記第１の方向および第２の方向の印刷が交互に行われるように、前記生成された印刷データの印刷を順次行うこと、
を特徴とする印刷システム。
【請求項２】
請求項１に記載の印刷システムであって、
前記印刷処理手段は、
前記部単位印刷の方法が指定された場合に、先頭ページの前記第２の方向の印刷データが生成された後、前記第１の方向および第２の方向のいずれかの方向により１部目の印刷を開始すること、
を特徴とする印刷システム。
【請求項３】
横および縦方向の印刷媒体に印刷可能な印刷装置であって、
部単位印刷の方法の指定を含む印刷コマンドを受け付けるコマンド受付手段と、
前記印刷コマンドに従ってページ毎の印刷データを生成する印刷データ生成手段と、
前記印刷データに従って、前記いずれかの方向の印刷媒体に印刷を行う印刷処理手段と、を有し、
前記印刷データ生成手段は、
部単位で横方向および縦方向の印刷を交互に行う部単位印刷の方法が指定された場合に、前記印刷コマンドに従って、所定の第１の方向の印刷のための印刷データをページ毎に生成するとともに、前記印刷コマンドを記憶し、前記第１の方向の印刷データの生成が終了した後、前記記憶した印刷コマンドに従って、前記第１の方向と異なる所定の第２の方向の印刷のための印刷データをページ毎に生成し、
前記印刷処理手段は、
前記部単位印刷の方法が指定された場合に、部単位で前記第１の方向および第２の方向の印刷が交互に行われるように、前記生成された印刷データの印刷を順次行うこと、
を特徴とする印刷装置。
【請求項４】
請求項３に記載の印刷装置は、プリンタ、コピー機、または、複合機であること、を特徴とする印刷装置。
【請求項５】
横および縦方向の印刷媒体に印刷可能な印刷装置における印刷方法であって、
前記印刷装置は、
部単位印刷の方法の指定を含む印刷コマンドを受け付けるコマンド受付ステップと、
前記印刷コマンドに従ってページ毎の印刷データを生成する印刷データ生成ステップと、
前記印刷データに従って、前記いずれかの方向の印刷媒体に印刷を行う印刷処理ステップと、を行い、
前記印刷データ生成ステップは、
部単位で横方向および縦方向の印刷を交互に行う部単位印刷の方法が指定された場合に、前記印刷コマンドに従って、所定の第１の方向の印刷のための印刷データをページ毎に生成するとともに、前記印刷コマンドを記憶し、前記第１の方向の印刷データの生成が終了した後、前記記憶した印刷コマンドに従って、前記第１の方向と異なる所定の第２の方向の印刷のための印刷データをページ毎に生成し、
前記印刷処理ステップは、
前記部単位印刷の方法が指定された場合に、部単位で前記第１の方向および第２の方向の印刷が交互に行われるように、前記生成された印刷データの印刷を順次行うこと、
を特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部単位の印刷を行う印刷システム、印刷装置、印刷方法に関する。
【背景技術】
【０００２】
プリンタなどの印刷装置において、印刷部数、部単位印刷（ソート）、オフセット印刷を指示する印刷ジョブを受け付けた場合に、部ごとに印刷用紙の方向を異ならせて（例えば、横と縦を交互に）排紙トレイなどに出力する方法が知られている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００６−５１６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、部単位で横方向および縦方向の印刷を交互に行う印刷やオフセット印刷（以下、「部単位セパレート（separate）印刷」と呼ぶ。）を行う印刷装置は、例えば、印刷部数、部単位印刷、セパレート印刷の指示などの各種設定を含む制御コマンドと、印刷対象の各ページの画像データを生成するための印刷コマンドとを含む印刷ジョブを受け付け、印刷ジョブに従った印刷を実行する。
【０００５】
また、上記のような印刷装置は、横と縦の２つの方向の印刷用紙に印刷を行うため、印刷対象のページごとに、横および縦の画像データ（例えば、ビットマップイメージなど）を生成する必要がある。横および縦の画像データを生成する方法としては、印刷コマンドをページごとに２回ずつ繰り返し実行して、ページごとに横および縦の画像データを順次生成する方法が考えられる。しかしながら、この方法では、以下のような問題がある。
【０００６】
まず、図５を参照して、部数が１部の場合の、印刷コマンドおよび印刷コマンドに従って生成される画像データの関係について説明する。
【０００７】
本図は、２ページの原稿を１部印刷する場合の例を示している。この場合、印刷装置は、印刷コマンドを１ページ目の先頭から順に実行し、１ページ目および２ページ目の画像データを生成する。
【０００８】
本図の例では、塗りつぶし設定コマンド、円描画コマンド、輪郭線設定コマンド、矩形描画コマンド、改ページコマンド、が順に実行されることにより、塗りつぶされた円画像ａ、所定の輪郭線の矩形画像ｂを含む１ページ目の画像データが生成される。また、円描画コマンド、塗りつぶし設定コマンド、矩形描画コマンド、改ページコマンド、が順に実行されることにより、所定の輪郭線の円画像ｃ、塗りつぶされた矩形画像ｄを含む２ページ目の画像データが生成される。
【０００９】
ここで、通常、印刷コマンドは、前のページのコマンドで指定された設定（環境設定）を利用して、後ろのページのコマンドが実行されるように構成されている。例えば、２ページ目の円描画コマンドでは、１ページ目の輪郭線設定コマンドで指定された環境設定が引き続き使用される。そのため、２ページ目では、輪郭線設定コマンドが含まれていなくても、１ページ目の矩形画像ｂと同様の輪郭線により円画像ｃが描画される。
【００１０】
次に、図６を参照して、部数が２部以上の場合の、印刷コマンドおよび印刷コマンドに従って生成される画像データの関係について説明する。
【００１１】
本図は、２ページの原稿を２部印刷する場合の例を示している。各ページの印刷コマンドの内容は、図５と同様である。
【００１２】
また、本図は、上述した、印刷コマンドをページごとに２回ずつ繰り返し実行して、ページごとに横および縦の画像データを順次生成する方法により、横方向および縦方向の印刷のための画像データを生成する場合を示している。すなわち、横方向の１ページ目のための印刷コマンド、縦方向の１ページ目のための印刷コマンド、横方向の２ページ目のための印刷コマンド、縦方向の２ページ目のための印刷コマンド、が順に実行される。
【００１３】
しかしながら、上述したように、印刷コマンドは、前のページのコマンドで指定された設定を利用して、後ろのページのコマンドが実行される。上記の方法では、各ページの縦方向のための印刷コマンドの実行の前に、同じページの横方向のための印刷コマンドが実行される。そのため、各ページの縦方向のための印刷コマンドの実行の際に、同一コマンドの実行による本来不要な環境設定が行われている場合があり、予定されていない画像データが生成されることがある。
【００１４】
例えば、縦方向の２ページ目の円描画コマンドでは、横方向の２ページ目の塗りつぶし設定コマンドで指定された環境設定が引き続き使用される。そのため、縦方向の２ページ目では、本来不要な塗りつぶし設定が行われたまま、円描画コマンドが実行されて円画像ｃ´が生成される。これでは、予定されていない画像データが生成されてしまう。
【００１５】
以上のように、印刷コマンドをページごとに２回ずつ繰り返し実行して、ページごとに横および縦の画像データを順次生成する方法では、正しい印刷結果が得られないという問題がある。なお、縦と横の順序が入れ替わっても同様である。
【００１６】
そこで、本発明は、上記の問題を解決した部単位セパレート印刷を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の課題を解決するための印刷システムに係る発明は、コンピュータと、横および縦方向の印刷媒体に印刷可能な印刷装置とを有する印刷システムであって、前記コンピュータは、部単位印刷の方法の指定を含む印刷コマンドを生成して前記印刷装置に送信する手段を有し、前記印刷装置は、前記印刷コマンドを受け付けるコマンド受付手段と、前記印刷コマンドに従ってページ毎の印刷データを生成する印刷データ生成手段と、前記印刷データに従って、前記いずれかの方向の印刷媒体に印刷を行う印刷処理手段と、を有し、前記印刷データ生成手段は、部単位で横方向および縦方向の印刷を交互に行う部単位印刷の方法が指定された場合に、前記印刷コマンドに従って、所定の第１の方向の印刷のための印刷データをページ毎に生成するとともに、前記印刷コマンドを記憶し、前記第１の方向の印刷データの生成が終了した後、前記記憶した印刷コマンドに従って、前記第１の方向と異なる所定の第２の方向の印刷のための印刷データをページ毎に生成し、前記印刷処理手段は、前記部単位印刷の方法が指定された場合に、部単位で前記第１の方向および第２の方向の印刷が交互に行われるように、前記生成された印刷データの印刷を順次行うこと、を特徴とする。
【００１８】
ここで、上記の印刷システムにおいて、前記印刷処理手段は、前記部単位印刷の方法が指定された場合に、先頭ページの前記第２の方向の印刷データが生成された後、前記第１の方向および第２の方向のいずれかの方向により１部目の印刷を開始すること、を特徴としていてもよい。
【００１９】
また、上記の課題を解決するための印刷装置に係る発明は、上述した印刷装置である。
【００２０】
また、上記の課題を解決するための印刷方法に係る発明は、横および縦方向の印刷媒体に印刷可能な印刷装置における印刷方法であって、前記印刷装置は、部単位印刷の方法の指定を含む印刷コマンドを受け付けるコマンド受付ステップと、前記印刷コマンドに従ってページ毎の印刷データを生成する印刷データ生成ステップと、前記印刷データに従って、前記いずれかの方向の印刷媒体に印刷を行う印刷処理ステップと、を行い、前記印刷データ生成ステップは、部単位で横方向および縦方向の印刷を交互に行う部単位印刷の方法が指定された場合に、前記印刷コマンドに従って、所定の第１の方向の印刷のための印刷データをページ毎に生成するとともに、前記印刷コマンドを記憶し、前記第１の方向の印刷データの生成が終了した後、前記記憶した印刷コマンドに従って、前記第１の方向と異なる所定の第２の方向の印刷のための印刷データをページ毎に生成し、前記印刷処理ステップは、部単位印刷が指示された場合に、部単位で前記第１の方向および第２の方向の印刷が交互に行われるように、前記生成された印刷データの印刷を順次行うこと、を特徴とする。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の第１の実施形態について、図面を参照して説明する。
【００２２】
図１は、第１の実施形態に係るプリンタ１のハードウェア構成例を示す図である。
【００２３】
本図に示すように、プリンタ１は、コンピュータ２と接続され、コンピュータ２とともに印刷システム３を構築する。プリンタ１とコンピュータ２とは、例えば、ＬＡＮなどのネットワークを介して接続される。もちろん、印刷システム３の構成は上記に限られない。
【００２４】
コンピュータ２は、アプリケーションプログラムや、プリンタドライバによる各種処理を実現する。また、コンピュータ２は、各種印刷設定を含む制御コマンド、印刷対象の各ページの画像データを生成するための印刷コマンドを生成し、 プリンタ１に送信するプリンタホストとして機能する。なお、コマンドの形式は上記に限られない。
【００２５】
また、コンピュータ２は、印刷部数や部単位印刷の設定を、入力装置などを介してユーザから受け付け、制御コマンドに含めてプリンタ１に送信する。
【００２６】
コンピュータ２は、例えば、各種プログラムを実行するＣＰＵ、データおよびプログラム等を一時的に記憶するＲＡＭ、各種プログラム等があらかじめ不揮発的に記憶されているＲＯＭ、接続されたプリンタ１等の装置とのデータの送受信を行う通信インタフェースを有する（いずれも図示しない）。
【００２７】
また、コンピュータ２は、ＬＣＤ、ＣＲＴなどの表示装置、マウス、キーボード等の入力装置、ＣＤ−ＲＯＭ等の記録媒体からデータを読み取るメディア読取装置、内蔵または外付けの補助記憶装置が接続される（いずれも図示しない）。もちろん、コンピュータ２の構成はこれに限られない。
【００２８】
プリンタ１は、受信した制御コマンドや印刷コマンドに基づいて印刷を行う印刷装置として機能する。また、プリンタ１は、印刷部数や部単位印刷の設定を含む制御コマンドを受け付けた場合、部ごとに印刷用紙の方向（横および縦）を異ならせて印刷を行う。
【００２９】
プリンタ１は、制御部１０、印刷機構部２０、操作パネル３０を有する。
【００３０】
制御部１０は、受信した制御コマンドおよび印刷コマンドに応じた印刷を印刷機構部２０に実行させる処理、操作パネル３０における表示処理、操作パネル３０におけるユーザの操作を検知する処理などを行うユニットである。
【００３１】
制御部１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、通信インタフェース部１４、インタフェース部１５を有する。
【００３２】
ＲＯＭ１３は、各種のプログラム、データ等が記憶された不揮発性メモリである。ＲＡＭ１２は、ＲＯＭ１３に記憶されているプログラム、データ等がロードされるメモリである。
【００３３】
ＣＰＵ１１は、ＲＡＭ１２にロードされたプログラムにしたがって、他のハードウェアを制御し、各種の処理を実行する演算回路である。
【００３４】
通信インタフェース部１４は、コンピュータ２などと通信を行うための回路からなるユニットである。通信インタフェース部１４は、ＣＰＵ１１の制御の下で、例えば、ホストコンピュータなどから受信した印刷データをＲＡＭ１２に転送する処理などを行う。
【００３５】
インタフェース部１５は、ＣＰＵ１１と印刷機構部２０との間、ＣＰＵ１１と操作パネル３０との間で、各種のデータを送受信するための回路からなるユニットである。
【００３６】
インタフェース部１５は、ＣＰＵ１１の制御の下で、例えば、ＲＡＭ１２に記憶された印刷用データを印刷機構部２０に送信する処理、ＲＡＭ１２に記憶された表示用のデータを操作パネル３０に送信する処理、操作パネル３０から受信したデータをＲＡＭ１２に転送する処理などを行う。
【００３７】
印刷機構部２０は、制御部１０の制御の下で、印刷用紙に印刷を行うユニットである。印刷機構部２０は、制御部１０から供給される信号に基づいて用紙上に印刷を行う印刷エンジン、印刷用紙等の印刷媒体を装填するための給紙トレイ、給紙トレイから用紙を取り出して印刷エンジンに供給するための給紙装置、印刷が行われた用紙を排出するための排出装置、排出された用紙が置かれる排紙トレイなどから構成される（いずれも図示しない）。
【００３８】
印刷エンジンは、例えば、レーザ方式である。レーザ方式の印刷エンジンは、トナーを充填したカートリッジを備え、このトナーを印刷用紙等の印刷媒体に転写することで印刷を行う。もちろん、インクジェット方式であってもよい。
【００３９】
本実施形態では、印刷機構部２０は、部単位で印刷用紙の方向（横および縦）を異ならせて印刷することができるように構成される。そのため、印刷機構部２０は、例えば、同一サイズの印刷用紙を、横および縦方向でそれぞれ装填可能な給紙トレイを２つ有する。給紙装置、排出装置、排紙トレイは１つあればよい。
【００４０】
操作パネル３０は、ユーザとプリンタ１との間の入出力インタフェースとして、プリンタ１の筐体に設けられているユニットである。操作パネル３０は、例えば、ＬＣＤと、ＬＣＤの画面の表示面に貼られたタッチパネルとを有する（いずれも図示しない）。ＬＣＤは、制御部１０の制御の下で、例えば、操作メニューなどを表示する。ＬＣＤの替わりに有機ＥＬ（Electro-Luminescence）ディスプレイを用いてもよい。
【００４１】
また、タッチパネルは、ＬＣＤに表示された画像のＸＹ座標と対応したタッチ位置を特定し、タッチ位置を座標に変換して制御部１０に出力する。タッチパネルは、感圧式または静電式の入力検出素子などにより構成される。もちろん、操作パネル３０は、ボタンキーなどの各種ハードスイッチを備えていてもよい。
【００４２】
もちろん、プリンタ１の構成は上記に限られない。
【００４３】
図２は、プリンタ１の機能構成を示すブロック図である。
【００４４】
本図に示すように、プリンタ１は、コマンド受付部１００、印刷データ生成部１２０、印刷処理部１４０、記憶部１６０を有する。これらの機能部は、ＣＰＵ１１がＲＯＭ１３からＲＡＭ１２にロードしたプログラムを実行するとともに、通信インタフェース部１４、インタフェース部１５、印刷機構部２０、操作パネル３０などを制御することにより、実現される。
【００４５】
コマンド受付部１００は、コンピュータ２から送られる制御コマンドおよび印刷コマンドを受け付けて、記憶部１６０に格納するとともに、印刷データ生成部１２０に出力する。なお、制御コマンドに、印刷部数の設定が含まれる場合、印刷コマンドには、１部分の各ページの印刷コマンドが含まれる。
【００４６】
印刷データ生成部１２０は、制御コマンドや印刷コマンドに従って、印刷対象の各ページについてビットマップ画像データを生成する。プリンタ１が解釈可能な描画命令の集まりである中間コードの形式で表したデータを生成してもよい。
【００４７】
また、印刷データ生成部１２０は、制御コマンドに、印刷部数、部単位印刷、セパレート印刷の設定が含まれる場合、コマンド受付部１００から出力された各ページの印刷コマンドに従って、各ページの横方向の画像データを全て生成する。また、コマンド受付部１００により記憶部１６０に格納された各ページの印刷コマンドに従って、各ページの縦方向の画像データを全て生成する。
【００４８】
上記のような方法により、横方向および縦方向それぞれについて、ページ順で印刷コマンドが実行される。すなわち、図５に示す例と同様のコマンド順序で、横方向の印刷データの生成と、縦方向の印刷データの生成がそれぞれ行われる。そのため、前のページのコマンドで指定された設定が正しく引き継がれて、後ろのページのコマンドが実行される。
【００４９】
このようにして、各ページの縦方向のための印刷コマンドの実行の際に、同一コマンドの実行による本来不要な環境設定が行われている状態をなくすことができる。また、予定されていない画像データが生成されることを防ぐことができる。
【００５０】
なお、印刷データ生成部１２０は、制御コマンドに、印刷部数および部単位印刷の設定が含まれる場合（セパレート印刷でない場合）、各ページの印刷コマンドに従って、各ページの所定の一方向（横もしくは縦）の画像データを生成する。制御コマンドに、印刷部数の設定が含まれる場合（部単位セパレート印刷でない）も同様である。
【００５１】
また、印刷データ生成部１２０は、生成した画像データを印刷データとして記憶部１６０に格納する。また、制御コマンドおよび生成した印刷データに従った印刷処理を、印刷処理部１４０に要求する。
【００５２】
また、部単位セパレート印刷を行う場合、印刷データ生成部１２０は、生成した各ページの横方向および縦方向の印刷データに基づいて、横方向および縦方向の印刷が部単位で交互に行われるように、印刷処理部１４０に要求する。
【００５３】
例えば、５ページの原稿を５部、部単位で印刷する場合、印刷データ生成部１２０は、１部目について、横方向の各ページの印刷処理を要求し、２部目について、縦方向の各ページの印刷処理を要求する。以降、３部目について横方向、４部目について縦方向、５部目について横方向と、交互に印刷要求を行う。
【００５４】
なお、部単位印刷（セパレート印刷でない）を行う場合、印刷データ生成部１２０は、生成した各ページの所定の一方向の画像データに基づいて、部単位の印刷が行われるように、印刷処理部１４０に要求する。また、複数部の印刷（部単位セパレート印刷でない）を行う場合、印刷データ生成部１２０は、生成した各ページの所定の一方向の画像データに基づいて、ページごとに部数分の印刷が順次行われるように、印刷処理部１４０に要求する。
【００５５】
印刷処理部１４０は、印刷データ生成部１２０から受け付けた印刷要求に従って、印刷処理を実行する。
【００５６】
印刷処理部１４０は、印刷要求において指定された横方向もしくは縦方向の印刷データ（ビットマップ画像データや中間コードデータ）を記憶部１６０から取得する。また、印刷要求で指定された印刷用紙、用紙方向、解像度などの印刷設定に合わせて、取得した印刷データをラスタデータに変換し（ラスタライズ）、必要に応じて色変換処理等を行う。このようにして生成した横方向もしくは縦方向の印刷用のデータに基づいて、印刷要求で指定された横方向もしくは縦方向の印刷用紙に印刷を実行する。
【００５７】
記憶部１６０は、印刷コマンド、印刷データを記憶する。すなわち、記憶部１６０は、コマンド受付部１００から出力された印刷コマンドを記憶するための記憶領域１６１、印刷データ生成部１２０から出力された印刷データを記憶するための記憶領域１６１を有する。
【００５８】
次に、上記の各種機能部により実現される、部単位セパレート印刷における印刷データの生成処理について説明する。
【００５９】
図３は、部単位セパレート印刷における印刷データの生成処理の流れを示すフロー図である。本フローは、プリンタ１がコンピュータ２から、印刷部数、部単位印刷、セパレート印刷の設定を含む制御コマンドを受け付けることにより開始される。
【００６０】
本フローが開始されると、コマンド受付部１００は、印刷コマンドを受信する（Ｓ１０）。具体的には、コンピュータ２から順次送られる、印刷対象の各ページの画像データを生成するための印刷コマンドを受信し、印刷データ生成部１２０に出力する。そして、処理をＳ２０およびＳ３０に進める。
【００６１】
コマンド受付部１００から出力される印刷コマンドを順次受け付けて、印刷データ生成部１２０は、横印刷用の印刷データを生成する（Ｓ２０）。具体的には、印刷コマンドを順次解釈して、横方向の印刷用紙に印刷するための画像データを生成し、記憶部１６０の記憶領域１６２に印刷データとして格納する。そして、処理をＳ４０に進める。
【００６２】
一方、コマンド受付部１００は、順次受信した印刷コマンドを記憶部１６０の記憶領域１６１に格納する（Ｓ３０）。
【００６３】
印刷コマンドの実行後（Ｓ２０）、印刷データ生成部１２０は、１ページ分の印刷データの生成が完了したか否かを判定する（Ｓ４０）。具体的には、印刷データ生成部１２０は、例えば、改ページコマンドを実行したか否かにより判定する。そして、１ページ分の印刷データの生成が完了したと判定した場合（Ｓ４０：ＹＥＳ）、処理をＳ５０に進める。一方、１ページ分の印刷データの生成が完了していないと判定した場合（Ｓ４０：ＮＯ）、処理をＳ１０に戻す。
【００６４】
１ページ分の印刷データの生成が完了した場合（Ｓ４０：ＹＥＳ）、印刷データ生成部１２０は、最終ページの横印刷用の印刷データの生成が完了したか否かを判定する（Ｓ５０）。具体的には、印刷データ生成部１２０は、例えば、制御コマンドなどに設定されたページ数分、横方向の印刷データの生成を完了したか否かを判定する。そして、最終ページの横印刷用の印刷データの生成が完了したと判定した場合（Ｓ５０：ＹＥＳ）、処理をＳ６０に進める。一方、最終ページの横印刷用の印刷データの生成が完了していないと判定した場合（Ｓ５０：ＮＯ）、処理をＳ１０に戻す。
【００６５】
最終ページの横印刷用の印刷データの生成が完了した場合（Ｓ５０：ＹＥＳ）、印刷データ生成部１２０は、印刷コマンドを取得する（Ｓ６０）。具体的には、印刷データ生成部１２０は、印刷コマンドを記憶部１６０の記憶領域１６１から順次取得する。
【００６６】
また、印刷データ生成部１２０は、縦印刷用の印刷データを生成する（Ｓ７０）。具体的には、Ｓ６０で取得した印刷コマンドを順次解釈して、縦方向の印刷用紙に印刷するための画像データを生成し、記憶部１６０の記憶領域１６２に印刷データとして格納する。そして、処理をＳ８０に進める。
【００６７】
印刷コマンドの実行後（Ｓ７０）、印刷データ生成部１２０は、１ページ分の印刷データの生成が完了したか否かを判定する（Ｓ８０）。具体的には、印刷データ生成部１２０は、例えば、改ページコマンドを実行したか否かにより判定する。そして、１ページ分の印刷データの生成が完了したと判定した場合（Ｓ８０：ＹＥＳ）、処理をＳ９０に進める。一方、１ページ分の印刷データの生成が完了していないと判定した場合（Ｓ８０：ＮＯ）、処理をＳ６０に戻す。
【００６８】
１ページ分の印刷データの生成が完了した場合（Ｓ８０：ＹＥＳ）、印刷データ生成部１２０は、印刷コマンドを削除する（Ｓ９０）。具体的には、印刷データ生成部１２０は、横方向および縦方向の印刷データの生成を完了したページに対応する印刷コマンドを、記憶部１６０の記憶領域１６１から削除する。
【００６９】
また、印刷データ生成部１２０は、印刷処理要求を行う（Ｓ１００）。具体的には、印刷データ生成部１２０は、１部目に含まれるページのうち、縦方向の印刷データの生成が完了したページについて、横方向もしくは縦方向の印刷処理を実行するように印刷処理部１４０に要求する。
【００７０】
ここで、縦方向の印刷データの生成が完了したタイミングで印刷処理の要求を行うようにしているのは、前回の印刷ジョブで最後に印刷が行われた印刷用紙の方向と異なる方向を設定して、１部目の印刷を開始することができるようにするためである。なお、１部目の印刷を縦方向もしくは横方向のいずれで行うかどうかは、例えば、前回の印刷ジョブにおいて最後に印刷が行われた印刷用紙の方向を記録しておき、その方向と異なる方向を１部目の方向として選択することができる。
【００７１】
また、印刷データ生成部１２０は、最終ページの縦印刷用の印刷データの生成が完了したか否かを判定する（Ｓ１１０）。具体的には、印刷データ生成部１２０は、例えば、制御コマンドなどに設定されたページ数分、縦方向の印刷データの生成を完了したか否かを判定する。そして、最終ページの縦印刷用の印刷データの生成が完了したと判定した場合（Ｓ１１０：ＹＥＳ）、本フローを終了する。一方、最終ページの縦印刷用の印刷データの生成が完了していないと判定した場合（Ｓ１１０：ＮＯ）、処理をＳ６０に戻す。
【００７２】
以上のようにして、部単位セパレート印刷における印刷データの生成処理が実行される。なお、本フローの終了後、２部目以降の各ページについて印刷処理要求が印刷データ生成部１２０により引き続き行われる。
【００７３】
次に、印刷コマンドおよび印刷データのメモリ使用量の変化と、印刷処理要求のタイミングについて説明する。
【００７４】
図４は、印刷コマンドおよび印刷データのメモリ使用量の変化と、印刷処理要求のタイミングを説明するための図である。本図は、ページ単位の印刷コマンドおよび印刷データのメモリ使用量を示している。また、ページ単位の印刷処理要求のタイミングを示している。なお、本図は、５ページの原稿を部単位セパレート印刷する場合の例を示している。
【００７５】
本図に示すように、各ページの印刷コマンドは、５ページ分の横印刷用の印刷データの生成が完了するまでの間（図３のＳ５０でＮＯの間）、メモリ（記憶部１６０）に順次蓄積される。その後、各ページの縦印刷用の印刷データの生成が開始されると、メモリから順次削除される（図３のＳ９０）。
【００７６】
一方、印刷データは、まず、各ページの横印刷用が生成され（図３のＳ１０〜５０）、続いて、縦印刷用が生成され（図３のＳ６０〜１１０）、メモリに順次蓄積される。印刷データは、２部目以降の印刷処理で使用されるため、指定された部数分の印刷処理が終了するまでの間、メモリに格納されている。
【００７７】
１部目の各ページの印刷処理要求のタイミングは、各ページの縦方向の印刷データの生成が完了した後となっている（図３のＳ１００）。このようにすることにより、１部目の印刷を縦方向もしくは横方向のいずれで行うかどうかが、自動的にもしくはユーザの設定により決定されることができる。すなわち、前回の印刷ジョブで最後に印刷が行われた印刷用紙の方向と異なる方向で印刷を開始することができる。
【００７８】
もちろん、固定的に横方向で１部目の印刷が行われるようにしてもよい。この場合、１部目の各ページの印刷処理要求のタイミングは、各ページの横方向の印刷データの生成が完了した後とされることができる。このようにすれば、１部目の印刷処理の開始を早めることができるとともに、２部目以降の印刷処理の開始も早めることができる。なお、この場合、図３のＳ１００の処理を、Ｓ４０とＳ５０の間で行うようにすればよい。
【００７９】
また、前回の印刷ジョブで最後に印刷が行われた印刷用紙の方向に応じて、１部目の各ページの印刷処理要求のタイミングを、各ページの横方向の印刷データの生成が完了した後に設定したり、各ページの縦方向の印刷データの生成が完了した後に設定したりすることができるようにしてもよい。
【００８０】
また、前回の印刷ジョブで最後に印刷が行われた印刷用紙の方向に応じて、横方向および縦方向のうち、先に印刷データの生成を行うべき方向を設定できるようにしてもよい。このようにすれば、前回の印刷ジョブの印刷用紙の方向が横および縦のいずれの方向であっても、１部目の印刷処理の開始を早めることができるとともに、２部目以降の印刷処理の開始も早めることができる。
【００８１】
以上、本発明の実施形態について説明した。
【００８２】
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。
【００８３】
例えば、縦印刷用の印刷データが横印刷用の印刷データよりも先に生成されるようにしてもよい。また、本発明は、プリンタに限られず、プリンタを有するコピー機、複合機などにも適用することができる。
【図面の簡単な説明】
【００８４】
【図１】第１の実施形態に係るプリンタ１のハードウェア構成例を示す図。
【図２】プリンタ１の機能構成を示すブロック図。
【図３】部単位セパレート印刷における印刷データの生成処理の流れを示すフロー図。
【図４】印刷コマンドおよび印刷データのメモリ使用量の変化と、印刷処理要求のタイミングを説明するための図。
【図５】部数が１部の場合の、印刷コマンドおよび画像データの関係を説明するための図。
【図６】部数が２部以上の場合の、印刷コマンドおよび画像データの関係を説明するための図。
【符号の説明】
【００８５】
１：プリンタ、２：コンピュータ、３：印刷システム、１０：制御部、１１：ＣＰＵ、１２：ＲＡＭ、１３：ＲＯＭ、１４：通信インタフェース部、１５：インタフェース部、２０：印刷機構部、３０：操作パネル、
１００：コマンド受付部、１２０：印刷データ生成部、１４０：印刷処理部、１６０：記憶部、１６１：記憶領域、１６２：記憶領域
【図１】
2010042632.tif 000003
【図２】
2010042632.tif 000004
【図３】
2010042632.tif 000005
【図４】
2010042632.tif 000006
【図５】
2010042632.tif 000007
【図６】
2010042632.tif 000008