(57)【特許請求の範囲】
【請求項１】
正順で複数のページ分の印刷を行う場合には最初のページから順に送られ、逆順で複数のページ分の印刷を行う場合には最後のページから順に送られてくる印刷データを受けると、マルチページ印刷機能を使用しない通常の印刷を行う場合は、１ページ分の印刷データを１枚の印刷用紙に対応させて記憶するメモリエリアをページバッファとして設定し、印刷用紙に対する印刷方向が、ランドスケープである場合は９０〔°〕回転させ、ポートレートである場合は回転させずに、展開された印刷データを前記ページバッファに書き込んでいき、改ページコマンドを受けるか、又はページバッファの空き容量がなくなると、ページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、ページバッファをクリアして、次のページの印刷データを書き込むものであり、２ページ印刷機能を使用して印刷を行う場合は、前記ページバッファを左側用の第１のページバッファ及び右側用の第２のページバッファに分割し、展開された印刷データを縮小し、縮小された印刷データを、最初に第１のページバッファに書き込み、改ページコマンドを受けるか、又は前記第１のページバッファの空き容量がなくなると、第２のページバッファに書き込むようにし、第２のページバッファに印刷データが書き込まれている間に、改ページコマンドを受けるか、又は前記第２のページバッファの空き容量がなくなると、第１、第２のページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、第１、第２のページバッファをクリアして、次のページ分の印刷データを交互に第１、第２のページバッファに書き込むようにして、２ページ分の印刷内容を１枚の印刷用紙の左右に配置して印刷を行うものである、ページプリンタの印刷処理方法において、
前記送られくる各ページの印刷データには、当該ページの印刷データの先頭に、当該ページが１ページ目、すなわち、最初のページから何ページ目であるかを示すコードが付加され、
前記ページプリンタにおいて、２ページ印刷機能を使用して印刷を行う場合、
（ａ）左側のページバッファについてのページ番号記憶領域ＰＢＬ及び右側のページバッファについてのページ番号記憶領域ＰＢＲをクリアし、
（ｂ）１ページ分の印刷データが送られてくると、該印刷データから前記コードを抜き出し、該コードに基づいて当該印刷データが最初のページから何ページ目の印刷データであるかを示すページ番号ＮＰを判定し、
（ｃ）前記ページ番号ＮＰが奇数であるか、又は偶数であるかを判断し、
（ｄ）前記ページ番号ＮＰが奇数であるときは、前記ページ番号記憶領域ＰＢＬがクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの左側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＬに書き込み、
（ｅ）前記ページ番号ＮＰが偶数であるときは、前記ページ番号記憶領域ＰＢＲがクリアされていない場合、及び前記ページ番号記憶領域ＰＢＲがクリアされており、かつ、前記ページ番号記憶領域ＰＢＬがクリアされていない場合であって、前記ページ番号ＮＰが前記ページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さいかどうかを判断した結果、前記ページ番号ＮＰが前記左側のページバッファのページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さい場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの右側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＲに書き込み、
（ｆ）上記（ｄ）又は（ｅ）の後、前記ページ番号記憶領域ＰＢＬ及びＰＢＲがいずれもクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアすることを特徴とする印刷処理方法。
【発明の詳細な説明】
（発明の属する技術分野）
本発明は、印刷処理方法に関するものである。
【０００１】
（従来の技術）
従来、プリンタ、特に、ページプリンタにおいては、複数のページ分の印刷内容を１枚の印刷用紙に印刷するマルチページ印刷機能を備えたものが提供されている。該マルチページ印刷機能のうち、例えば、２ページ分の印刷内容を１枚の印刷用紙に印刷する２ページ印刷機能において、制御部は、ホストコンピュータから印刷データが送られてくると、文字を半分の大きさに縮小し、２ページ分の印刷内容を印刷用紙の左右に配置する。
【０００２】
ところで、ページプリンタの排紙方法には、印刷面を上向きにして印刷用紙を排出するフェースアップ式の排紙方法、及び印刷面を下向きにして印刷用紙を排出するフェースダウン式の排紙方法がある。前記フェースアップ式の排紙方法を採るページプリンタの場合、複数のページ分の印刷を行う際に、排紙スタッカにおいて排出された印刷用紙が既に排出された印刷用紙の上に堆（たい）積されても、上方の印刷用紙ほどページが若くなるように、逆順印刷機能を備えたものが提供されている。そして、該逆順印刷機能を使用すると、最後のページから順に印刷が行われる。
（発明が解決しようとする課題）
しかしながら、前記従来の２ページ印刷機能においては、逆順印刷機能を使用して印刷を行うと、各ページの配列が所期のものと異なることがある。
【０００３】
図２は従来の２ページ印刷機能だけを使用して印刷を行う場合の各ページの配列を示す第１の図、図３は従来の２ページ印刷機能及び逆順印刷機能を使用して印刷を行う場合の各ページの配列を示す第１の図、図４は従来の２ページ印刷機能だけを使用して印刷を行う場合の各ページの配列を示す第２の図、図５は従来の２ページ印刷機能及び逆順印刷機能を使用して印刷を行う場合の各ページの配列を示す第２の図である。
【０００４】
通常、複数のページ分の印刷を行う場合、図示されないホストコンピュータは、最初のページから順に印刷データをページプリンタに送るようになっている。そして、２ページ印刷機能だけを使用して複数のページ分の印刷を行う場合、ページプリンタは、最初のページの印刷データが送られてくると、該印刷データを左側用のページバッファに書き込み、次のページの印刷データが送られてくると、右側用のページバッファに書き込む。すなわち、左側用のページバッファにページＮ（Ｎ＝１、３、…）の印刷データが、右側用のページバッファにページＮ＋１の印刷データが書き込まれる。したがって、各ページを図２に示されるように配列することができる。
【０００５】
ところで、２ページ印刷機能及び逆順印刷機能を使用して複数のページ分の印刷を行う場合、ホストコンピュータは、最後のページから順に印刷データをページプリンタに送る。したがって、左側用のページバッファにページＮ＋１の印刷データが、右側用のページバッファにページＮの印刷データが書き込まれるので、各ページは図３に示されるように配列され、左右のページが逆になってしまう。
【０００６】
また、特に、２ページ印刷機能だけを使用して奇数のページ分、例えば、３ページ分の印刷を行う場合には、図４に示されるように、１枚目の印刷用紙の左側にはページ１が、右側にはページ２が配列されるとともに、２枚目の印刷用紙の左側にはページ３が配列され、右側は余白になる。
【０００７】
これに対して、２ページ印刷機能及び逆順印刷機能を使用して３ページ分の印刷を行う場合には、図５に示されるように、１枚目の印刷用紙の左側にはページ１が配列され、右側は余白になるとともに、２枚目の印刷用紙の左側にはページ３が、右側にはページ２が配列される。すなわち、左右のページが逆になってしまうだけでなく、印刷用紙の最初のページに余白が形成されてしまう。
【０００８】
このように、２ページ印刷機能及び逆順印刷機能を使用して複数のページ分の印刷を行う場合、各ページの配列が所期のものと異なってしまう。
【０００９】
本発明は、前記従来の印刷処理方法の問題点を解決して、マルチページ印刷機能及び逆順印刷機能を使用して複数のページ分の印刷を行う場合に、各ページの配列を所期のものと同じにすることができる印刷処理方法を提供することを目的とする。
【００１０】
（課題を解決するための手段）
そのために、本発明の印刷処理方法においては、正順で複数のページ分の印刷を行う場合には最初のページから順に送られ、逆順で複数のページ分の印刷を行う場合には最後のページから順に送られてくる印刷データを受けると、マルチページ印刷機能を使用しない通常の印刷を行う場合は、１ページ分の印刷データを１枚の印刷用紙に対応させて記憶するメモリエリアをページバッファとして設定し、印刷用紙に対する印刷方向が、ランドスケープである場合は９０〔°〕回転させ、ポートレートである場合は回転させずに、展開された印刷データを前記ページバッファに書き込んでいき、改ページコマンドを受けるか、又はページバッファの空き容量がなくなると、ページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、ページバッファをクリアして、次のページの印刷データを書き込むものであり、２ページ印刷機能を使用して印刷を行う場合は、前記ページバッファを左側用の第１のページバッファ及び右側用の第２のページバッファに分割し、展開された印刷データを縮小し、縮小された印刷データを、最初に第１のページバッファに書き込み、改ページコマンドを受けるか、又は前記第１のページバッファの空き容量がなくなると、第２のページバッファに書き込むようにし、第２のページバッファに印刷データが書き込まれている間に、改ページコマンドを受けるか、又は前記第２のページバッファの空き容量がなくなると、第１、第２のページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、第１、第２のページバッファをクリアして、次のページ分の印刷データを交互に第１、第２のページバッファに書き込むようにして、２ページ分の印刷内容を１枚の印刷用紙の左右に配置して印刷を行うものである、ページプリンタの印刷処理方法に適用されるようになっている。
【００１１】
そして、前記送られくる各ページの印刷データには、当該ページの印刷データの先頭に、当該ページが１ページ目、すなわち、最初のページから何ページ目であるかを示すコードが付加される。
【００１２】
また、前記ページプリンタにおいて、２ページ印刷機能を使用して印刷を行う場合、（ａ）左側のページバッファについてのページ番号記憶領域ＰＢＬ及び右側のページバッファについてのページ番号記憶領域ＰＢＲをクリアし、（ｂ）１ページ分の印刷データが送られてくると、該印刷データから前記コードを抜き出し、該コードに基づいて当該印刷データが最初のページから何ページ目の印刷データであるかを示すページ番号ＮＰを判定し、（ｃ）前記ページ番号ＮＰが奇数であるか、又は偶数であるかを判断し、（ｄ）前記ページ番号ＮＰが奇数であるときは、前記ページ番号記憶領域ＰＢＬがクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの左側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＬに書き込み、（ｅ）前記ページ番号ＮＰが偶数であるときは、前記ページ番号記憶領域ＰＢＲがクリアされていない場合、及び前記ページ番号記憶領域ＰＢＲがクリアされており、かつ、前記ページ番号記憶領域ＰＢＬがクリアされていない場合であって、前記ページ番号ＮＰが前記ページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さいかどうかを判断した結果、前記ページ番号ＮＰが前記左側のページバッファのページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さい場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの右側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＲに書き込み、（ｆ）上記（ｄ）又は（ｅ）の後、前記ページ番号記憶領域ＰＢＬ及びＰＢＲがいずれもクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアする。
【００１３】
（発明の実施の形態）
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１４】
図１は本発明の実施の形態におけるページプリンタの制御部のブロック図である。
【００１５】
図において、１１はＣＰＵ、１２は制御プログラムが書き込まれたＲＯＭ、１３は一時的なデータが格納されるＲＡＭ、１４は、上位装置であるホストコンピュータから印刷データを受けたり、印刷機構部１５との間で、図示されないモータの制御、センサ出力の読込み、図示されない印刷ヘッドへの印刷データの転送等を行うためのＩ／Ｏポートである。
【００１６】
次に、マルチページ印刷機能を使用して印刷を行う場合のページプリンタの動作について説明する。
【００１７】
図６は本発明の実施の形態におけるマルチページ印刷機能を示す第１の図、図７は本発明の実施の形態におけるマルチページ印刷機能を示す第２の図である。
【００１８】
まず、ＣＰＵ１１（図１）は、ＲＯＭ１２から制御プログラムを読み出し、該制御プログラムに従ってＩ／Ｏポート１４を介してホストコンピュータからの印刷データを受ける。そして、前記ＣＰＵ１１は、図示されない編集手段によって印刷データを編集し、図示されない展開手段によって編集された印刷データをＲＡＭ１３に展開する。
【００１９】
このとき、マルチページ印刷機能を使用することなく、通常の印刷を行う場合、ＣＰＵ１１は、編集された印刷データを、ＲＡＭ１３に展開するとともに、ＲＡＭ１３内に設定された図示されないページバッファに書き込む。該ページバッファは、１ページ分の印刷データを１枚の印刷用紙に対応させて記憶するように設定されたメモリエリアである。なお、印刷用紙に対する印刷方向がポートレート（縦長方向）である場合、ＣＰＵ１１は、前記ページバッファ内の印刷用紙の左前端に対応する部分から印刷用紙の短辺に沿って印刷データを書き込んでいく。また、印刷用紙に対する印刷方向がランドスケープ（横長方向）である場合、ＣＰＵ１１は、展開された印刷データを９０〔°〕回転させ、前記ページバッファ内の印刷用紙の右前端に対応する部分から印刷用紙の長辺に沿って印刷データを書き込んでいく。
【００２０】
そして、ホストコンピュータから改ページコマンドを受けるか、又はページバッファの空き容量がなくなると、ページバッファ内の印刷データに従って印刷機構部１５によって印刷を行い、その後、ページバッファをクリアして、次のページの印刷データを書き込む。
【００２１】
次に、マルチページ印刷機能のうち、例えば、２ページ印刷機能を使用して印刷を行う場合、ページバッファが左側用の第１のページバッファＢａ０及び右側用の第２のページバッファＢａ１に分割される。
【００２２】
そして、印刷用紙に対する印刷方向がランドスケープである場合、ＣＰＵ１１は、ＲＡＭ１３内の所定の領域ＡＲ１に展開された印刷データを縦方向及び横方向に１／√（２）に縮小し、縮小された印刷データをページバッファ内の左前端に対応する部分から印刷用紙の短辺に沿って順に書き込む。
【００２３】
また、印刷用紙に対する印刷方向がポートレートである場合、ＣＰＵ１１は、図６に示されるように、ＲＡＭ１３内の所定の領域ＡＲ１に展開された印刷データを９０〔°〕回転させ、回転させられた印刷データＤ１を縦方向及び横方向に１／√（２）に縮小して印刷データＤ２とし、該印刷データＤ２をページバッファＢａの印刷用紙の右前端に対応する部分から印刷用紙の長辺に沿って順に書き込む。この場合、最初に、第１のページバッファＢａ０に印刷データが書き込まれ、ホストコンピュータから改ページコマンドを受けるか、又は前記第１のページバッファＢａ０の空き容量がなくなると、第２のページバッファＢａ１に印刷データが書き込まれる。このように、各ページの印刷データが交互に第１、第２のページバッファＢａ０、Ｂａ１に書き込まれる。
【００２４】
そして、前記第２のページバッファＢａ１に印刷データが書き込まれている間に、ホストコンピュータから改ページコマンドを受けるか、又は前記第２のページバッファＢａ１の空き容量がなくなると、第２のページバッファＢａ１内の印刷データに従って印刷機構部１５によって印刷を行い、その後、ページバッファＢａをクリアして、次のページ分の印刷データをページバッファＢａに書き込む。
【００２５】
また、マルチページ印刷機能のうち、例えば、４ページ印刷機能を使用して印刷を行う場合、図７に示されるように、ページバッファＢｂが第１〜第４のページバッファＢｂ０〜Ｂｂ３に４分割される。そして、印刷用紙に対する印刷方向がポートレートである場合、ＣＰＵ１１は、ＲＡＭ１３内の所定の領域ＡＲ２に展開された印刷データを縦方向及び横方向に１／２に縮小して印刷データＤ３とし、該印刷データＤ３を第１のページバッファＢｂ０の印刷用紙の左前端に対応する部分から印刷用紙の短辺に沿って順に書き込む。
【００２６】
この場合、最初に、第１のページバッファＢｂ０に印刷データが書き込まれ、ホストコンピュータから改ページコマンドを受けるか、又は前記第１のページバッファＢｂ０の空き容量がなくなると、第２のページバッファＢｂ１に印刷データが書き込まれ、ホストコンピュータから改ページコマンドを受けるか、又は前記第２のページバッファＢｂ１の空き容量がなくなると、第３のページバッファＢｂ２に印刷データが書き込まれ、ホストコンピュータから改ページコマンドを受けるか、又は前記第３のページバッファＢｂ２の空き容量がなくなると、第４のページバッファＢｂ３に印刷データが書き込まれる。
【００２７】
そして、前記第４のページバッファＢｂ３に印刷データが書き込まれている間に、ホストコンピュータから改ページコマンドを受けるか、又は前記第４のページバッファＢｂ３の空き容量がなくなると、ページバッファＢｂ内の印刷データに従って印刷機構部１５によって印刷を行い、その後、ページバッファＢｂをクリアして、次のページ分の印刷データをページバッファＢｂに書き込む。
【００２８】
次に、２ページ印刷機能及び逆順印刷機能を使用して印刷を行う場合のページプリンタの動作について説明する。
【００２９】
図８は本発明の実施の形態におけるページプリンタの動作を示すフローチャートである。
【００３０】
この場合、ホストコンピュータは、各ページの印刷データをページプリンタに送るに当たって、印刷データの先頭に、印刷しようとするページのページ番号を示すコードを付加する。そして、ＣＰＵ１１（図１）内の図示されないページ番号判定手段は、送られてきた印刷データから前記コードを抜き出し、該コードに基づいてページ番号を判定する。
【００３１】
ここで、コードによって表されるページ番号をＮＰとし、第１、第２のページバッファＢａ０、Ｂａ１に書き込まれている印刷データのページ番号をＰＢＬ、ＰＢＲとする。なお、ページ番号ＮＰが０である場合は、ページバッファＢａに書き込むべき印刷データがないこと、ページ番号ＰＢＬ、ＰＢＲが０である場合は、第１、第２のページバッファＢａ０、Ｂａ１に印刷データが書き込まれていないこと、すなわち、第１、第２のページバッファＢａ０、Ｂａ１が空いていることを表す。
【００３２】
まず、ＣＰＵ１１は、ページ番号ＰＢＬ、ＰＢＲに０をセットし、前記ページ番号判断手段によって、これからページバッファＢａに書き込もうとする印刷データのページ番号ＮＰが奇数であるかどうかを判断し、ページ番号ＮＰが奇数である場合、図示されないページバッファ判断手段によって第１のページバッファＢａ０が空いているかどうかを判断する。そして、第１のページバッファＢａ０が空いている場合、ＣＰＵ１１は、図示されない印刷データ書込手段によって第１のページバッファＢａ０にページ番号ＮＰの印刷データを書き込み、図示されないページ配列決定手段によってページ番号ＰＢＬに値ＮＰをセットする。また、第１のページバッファＢａ０が空いていない場合、ページバッファＢａに記憶されている印刷データに従って印刷を行い、その後、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。
【００３３】
一方、ページ番号ＮＰが偶数である場合、ＣＰＵ１１は、前記ページバッファ判断手段によって第２のページバッファＢａ１が空いているかどうかを判断する。そして、第２のページバッファＢａ１が空いている場合、ＣＰＵ１１は前記印刷データ書込手段によって第２のページバッファＢａ１にページ番号ＮＰの印刷データを書き込み、前記ページ配列決定手段によってページ番号ＰＢＲに値ＮＰをセットする。また、第２のページバッファＢａ１が空いていて、第１のページバッファＢａ０が空いていない場合、第１のページバッファＢａ０に記憶された印刷データのページ番号ＰＢＬが、現在のページ番号ＮＰより大きいかどうかを判断する。
【００３４】
第１のページバッファＢａ０に記憶された印刷データのページ番号ＰＢＬが、現在のページ番号ＮＰより大きい場合、ページバッファＢａに記憶されている印刷データに従って印刷を行い、その後、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。また、第１のページバッファＢａ０に記憶された印刷データのページ番号ＰＢＬが、現在のページ番号ＮＰ以下である場合、前記ＣＰＵ１１は、前記印刷データ書込手段によって第２のページバッファＢａ１にページ番号ＮＰの印刷データを書き込み、前記ページ配列決定手段によってページ番号ＰＢＲに値ＮＰをセットする。
【００３５】
そして、第１、第２のページバッファＢａ０、Ｂａ１が空いていない場合、ＣＰＵ１１は、ページバッファＢａに記憶されている印刷データに従って印刷を行い、その後、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。
【００３６】
このように、本実施の形態においては、ページ番号ＮＰが奇数であるかどうかを判断し、ページ番号ＮＰが奇数である場合、第１のページバッファＢａ０が空いているかどうかを判断し、第１のページバッファＢａ０が空いている場合、第１のページバッファＢａ０にページ番号ＮＰの印刷データを書き込む。また、ページ番号ＮＰが偶数である場合、第２のページバッファＢａ１が空いているかどうかを判断し、第２のページバッファＢａ１が空いている場合、第２のページバッファＢａ１にページ番号ＮＰの印刷データを書き込む。したがって、逆順印刷を行っても左右のページが逆になってしまうことがなくなるだけでなく、印刷用紙の最初のページに余白が形成されることがない。その結果、各ページの配列を所期のものと同じにすることができる。
【００３７】
なお、本実施の形態においては、ページ番号ＮＰが奇数である場合、第１のページバッファＢａ０にページ番号ＮＰの印刷データが書き込まれ、各ページが左及び右の順に配列されるようになっているが、ページ番号ＰＢＬ、ＰＢＲを互いに入れ替えることによって、右及び左の順に配列することもできる。
【００３８】
次に、フローチャートについて説明する。
ステップＳ１  ページ番号ＰＢＬ、ＰＢＲに０をセットする。
ステップＳ２  ページ番号ＮＰが奇数であるかどうかを判断する。ページ番号ＮＰが奇数である場合はステップＳ３に、奇数でない場合はステップＳ６に進む。
ステップＳ３  ページ番号ＰＢＬが０であるかどうかを判断する。ページ番号ＰＢＬが０である場合はステップＳ５に、０でない場合はステップＳ４に進む。
ステップＳ４  印刷を行い、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。
ステップＳ５  第１のページバッファＢａ０に印刷データを書き込み、ページ番号ＰＢＬに値ＮＰをセットする。
ステップＳ６  ページ番号ＰＢＲが０であるかどうかを判断する。ページ番号ＰＢＲが０である場合はステップＳ７に、０でない場合はステップＳ９に進む。
ステップＳ７  ページ番号ＰＢＬが０であるかどうかを判断する。ページ番号ＰＢＬが０である場合はステップＳ１０に、０でない場合はステップＳ８に進む。
ステップＳ８  ページ番号ＰＢＬが値ＮＰより大きいかどうかを判断する。ページ番号ＰＢＬが値ＮＰより大きい場合はステップＳ９に、ページ番号ＰＢＬが値ＮＰ以下である場合はステップＳ１０に進む。
ステップＳ９  印刷を行い、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。
ステップＳ１０  第２のページバッファＢａ１に印刷データを書き込み、ページ番号ＰＢＲに値ＮＰをセットする。
ステップＳ１１  ページ番号ＰＢＬ、ＰＢＲがいずれも０に等しくないかどうかを判断する。ページ番号ＰＢＬ、ＰＢＲがいずれも０に等しくない場合はステップＳ１２に、ページ番号ＰＢＬ、ＰＢＲのうちの一方が０である場合はステップＳ１３に進む。
ステップＳ１２  印刷を行い、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットする。
ステップＳ１３  ページ番号ＮＰの値を１減算する。
ステップＳ１４  ページ番号ＮＰが０であるかどうかを判断する。ページ番号ＮＰが０である場合はステップＳ１５に進み、０でない場合はステップＳ２に戻る。
ステップＳ１５  その時点でページバッファＢａに記憶されている印刷データに従って印刷を行い、ページバッファＢａをクリアするとともに、ページ番号ＰＢＬ、ＰＢＲに０をセットし、次の処理に移る。
【００３９】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
（発明の効果）
以上詳細に説明したように、本発明によれば、印刷処理方法においては、正順で複数のページ分の印刷を行う場合には最初のページから順に送られ、逆順で複数のページ分の印刷を行う場合には最後のページから順に送られてくる印刷データを受けると、マルチページ印刷機能を使用しない通常の印刷を行う場合は、１ページ分の印刷データを１枚の印刷用紙に対応させて記憶するメモリエリアをページバッファとして設定し、印刷用紙に対する印刷方向が、ランドスケープである場合は９０〔°〕回転させ、ポートレートである場合は回転させずに、展開された印刷データを前記ページバッファに書き込んでいき、改ページコマンドを受けるか、又はページバッファの空き容量がなくなると、ページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、ページバッファをクリアして、次のページの印刷データを書き込むものであり、２ページ印刷機能を使用して印刷を行う場合は、前記ページバッファを左側用の第１のページバッファ及び右側用の第２のページバッファに分割し、展開された印刷データを縮小し、縮小された印刷データを、最初に第１のページバッファに書き込み、改ページコマンドを受けるか、又は前記第１のページバッファの空き容量がなくなると、第２のページバッファに書き込むようにし、第２のページバッファに印刷データが書き込まれている間に、改ページコマンドを受けるか、又は前記第２のページバッファの空き容量がなくなると、第１、第２のページバッファ内の印刷データに従って印刷機構部によって印刷を行い、その後、第１、第２のページバッファをクリアして、次のページ分の印刷データを交互に第１、第２のページバッファに書き込むようにして、２ページ分の印刷内容を１枚の印刷用紙の左右に配置して印刷を行うものである、ページプリンタの印刷処理方法に適用されるようになっている。
【００４０】
そして、前記送られくる各ページの印刷データには、当該ページの印刷データの先頭に、当該ページが１ページ目、すなわち、最初のページから何ページ目であるかを示すコードが付加される。
【００４１】
また、前記ページプリンタにおいて、２ページ印刷機能を使用して印刷を行う場合、（ａ）左側のページバッファについてのページ番号記憶領域ＰＢＬ及び右側のページバッファについてのページ番号記憶領域ＰＢＲをクリアし、（ｂ）１ページ分の印刷データが送られてくると、該印刷データから前記コードを抜き出し、該コードに基づいて当該印刷データが最初のページから何ページ目の印刷データであるかを示すページ番号ＮＰを判定し、（ｃ）前記ページ番号ＮＰが奇数であるか、又は偶数であるかを判断し、（ｄ）前記ページ番号ＮＰが奇数であるときは、前記ページ番号記憶領域ＰＢＬがクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの左側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＬに書き込み、（ｅ）前記ページ番号ＮＰが偶数であるときは、前記ページ番号記憶領域ＰＢＲがクリアされていない場合、及び前記ページ番号記憶領域ＰＢＲがクリアされており、かつ、前記ページ番号記憶領域ＰＢＬがクリアされていない場合であって、前記ページ番号ＮＰが前記ページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さいかどうかを判断した結果、前記ページ番号ＮＰが前記左側のページバッファのページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さい場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアした上で、当該印刷データを第１、第２のページバッファのうちの右側のページバッファに書き込み、書き込んだ印刷データのページ番号ＮＰを前記ページ番号記憶領域ＰＢＲに書き込み、（ｆ）上記（ｄ）又は（ｅ）の後、前記ページ番号記憶領域ＰＢＬ及びＰＢＲがいずれもクリアされていない場合には、印刷を行って前記第１、第２のページバッファをクリアするとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲをクリアする。
【００４２】
この場合、ページ番号ＮＰが奇数であるときは、前記ページ番号記憶領域ＰＢＬがクリアされていない場合には、印刷が行われて前記第１、第２のページバッファがクリアされるとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲがクリアされた上で、当該印刷データが第１、第２のページバッファのうちの左側のページバッファに書き込まれ、書き込まれた印刷データのページ番号ＮＰが前記ページ番号記憶領域ＰＢＬに書き込まれ、前記ページ番号ＮＰが偶数であるときは、前記ページ番号記憶領域ＰＢＲがクリアされていない場合、及び前記ページ番号記憶領域ＰＢＲがクリアされており、かつ、前記ページ番号記憶領域ＰＢＬがクリアされていない場合であって、前記ページ番号ＮＰが前記ページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さいかどうかが判断された結果、前記ページ番号ＮＰが前記左側のページバッファのページ番号記憶領域ＰＢＬに書き込まれているページ番号より小さい場合には、印刷が行われて前記第１、第２のページバッファがクリアされるとともに、前記ページ番号記憶領域ＰＢＬ及びＰＢＲがクリアされた上で、当該印刷データが第１、第２のページバッファのうちの右側のページバッファに書き込まれ、書き込まれた印刷データのページ番号ＮＰが前記ページ番号記憶領域ＰＢＲに書き込まれるので、逆順印刷を行ってもページが逆になってしまうことがなくなる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるページプリンタの制御部のブロック図である。
【図２】従来の２ページ印刷機能だけを使用して印刷を行う場合の各ページの配列を示す第１の図である。
【図３】従来の２ページ印刷機能及び逆順印刷機能を使用して印刷を行う場合の各ページの配列を示す第１の図である。
【図４】従来の２ページ印刷機能だけを使用して印刷を行う場合の各ページの配列を示す第２の図である。
【図５】従来の２ページ印刷機能及び逆順印刷機能を使用して印刷を行う場合の各ページの配列を示す第２の図である。
【図６】本発明の実施の形態におけるマルチページ印刷機能を示す第１の図である。
【図７】本発明の実施の形態におけるマルチページ印刷機能を示す第２の図である。
【図８】本発明の実施の形態におけるページプリンタの動作を示すフローチャートである。
【符号の説明】
Ｂａ〜Ｂｃ    ページバッファ
ＮＰ、ｎｐ、ＰＢＬ、ＰＢＲ    ページ番号
ＴＰ    ページ数
【図１】
0004803567.tif 000002
【図２】
0004803567.tif 000003
【図３】
0004803567.tif 000004
【図４】
0004803567.tif 000005
【図５】
0004803567.tif 000006
【図６】
0004803567.tif 000007
【図７】
0004803567.tif 000008
【図８】
0004803567.tif 000009