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