(57)【特許請求の範囲】
【請求項１】
被フォーム画像データと前記フォーム画像データを記憶する画像データ記憶手段と、フォーム情報を記憶するフォーム情報記憶手段とを備え、該フォーム情報記憶手段に記憶される前記フォーム情報に基づき、フォームオーバーレイ機能を使用した両面印刷を行う印刷装置において、
新たなフォーム情報を前記フォーム情報記憶手段に記憶させるときは、外部から入力される前記データは、表面用フォーム画像データと表面用被フォーム画像データを合成するか否かを示す第１のデータと、裏面用フォーム画像データと裏面用被フォーム画像データを合成するか否かを示す第２のデータを含み、
前記第１のデータが表面用フォーム画像データと表面用被フォーム画像データを合成しないことを示すデータであるときは用紙表面に表面用フォーム画像データのみを印刷し、前記第２のデータが裏面用フォーム画像データと裏面用被フォーム画像データを合成しないことを示すデータであるときは用紙裏面に裏面用フォーム画像データのみを印刷することを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、用紙の両面に印刷を行う印刷装置に関し、特に利用者の使い勝手を考慮した印刷結果を得られる印刷装置に関する。
【０００２】
【従来の技術】
従来より、用紙の両面（表面と裏面）に印刷可能な印刷装置がある。これは、用紙の片面だけの印刷では裏面の白地が不経済であり、両面印刷可能な場合と比較して用紙の原料である木材の消費が倍になるということから地球環境保護を目的として開発されたものである。
【０００３】
このような印刷装置により両面印刷された用紙には、通常、表面及び裏面に１ページ分の印刷データがそれぞれ印刷されるものである。
【０００４】
【発明が解決しようとする課題】
しかし、両面印刷された用紙は、片面のみ印刷される用紙とは異なり裏面にも印刷されるという特徴から、利用者の使い勝手を考慮すると種々の問題が生じている。
【０００５】
例えば、予め印刷装置に記憶される定型印刷データであるフォームデータと、ホストから送信されてこのフォームデータ上に印刷される印刷データ（以下、被フォームデータという）とを合成して印刷する、いわゆるフォームオーバーレイ機能があるが、これは、ホストから送信される被フォームデータとその被フォームデータのページデータ毎に指定されるフォームデータとを合成することにより印刷処理を行うものであるため、被フォームデータを印刷せずにフォームデータのみを印刷することはできなかった。そのため、従来のフォームオーバーレイ機能を使用して両面印刷を行うときは、必ず被フォームデータとフォームデータとの合成データが印刷されることになり、表面（裏面）にフォームデータと被フォームデータとの合成データを印刷し、裏面（表面）にフォームデータのみを印刷するような両面印刷を実現することができなかった。従って、種々の申請書等のように、用紙の片面に、申請書のフォームデータとこの申請書に記載すべき事項である被フォームデータとを印刷し、その裏面に、この申請書の記載方法を説明するフォームデータを印刷するようなニーズに対応することができなかった。この場合、利用者は、片面のみフォームオーバーレイ機能を使用して申請書のフォームデータとその記載事項である被フォームデータとの印刷を行い、その後、通常の片面印刷によりその裏面に記載方法の説明であるフォームデータを印刷する等しなければならず、利用者の使い勝手は悪かった。
【０００６】
また、別の問題として、両面印刷された用紙が複数枚ある場合には、その閲覧のし難さがある。
図２５は、従来の印刷装置により両面印刷された用紙を示す図である。同図中の１００は用紙の枚数を示し１０１はページ数を示す。同図に示すように、従来の印刷装置による両面印刷では、用紙１枚目の表面に１ページ目の印刷データが印刷され、その裏面に２ページ目の印刷データが印刷され、用紙２枚目の表面に３ページ目の印刷データが印刷され、その裏面に４ページ目の印刷データが印刷され、以降の用紙３枚目から６枚目も同様に、表面及び裏面に順々に各ページの印刷データが印刷される。従って、利用者がこの両面印刷された６枚の用紙を閲覧する場合、用紙１枚目の１ページ目を閲覧した後に２ページ目を閲覧するときは、一旦用紙を裏返す必要がある。以降の用紙２枚目から６枚目も同様に、その裏面を閲覧するときには用紙を裏返す必要があり、利用者にとっては、非常に使い勝手が悪かった。
【０００７】
また、印刷ページが多数枚になる場合には、例え両面印刷を行ったとしても、依然として印刷された用紙枚数は多数枚になる。この場合、利用者はこれら多数枚の用紙を管理する負担が増大する。また、前述の地球環境保護という観点からも用紙が大量に使用されることは好ましくなかった。
【０００８】
本発明の課題は、上記従来の実情に鑑み、利用者の使い勝手を向上させる印刷結果を得ることができる印刷装置を提供することである。
【０００９】
【課題を解決するための手段】
請求項１記載の発明は、被フォーム画像データと前記フォーム画像データを記憶する画像データ記憶手段と、フォーム情報を記憶するフォーム情報記憶手段とを備え、該フォーム情報記憶手段に記憶される前記フォーム情報に基づき、フォームオーバーレイ機能を使用した両面印刷を行う印刷装置において、
新たなフォーム情報を前記フォーム情報記憶手段に記憶させるときは、外部から入力される前記データは、表面用フォーム画像データと表面用被フォーム画像データを合成するか否かを示す第１のデータと、裏面用フォーム画像データと裏面用被フォーム画像データを合成するか否かを示す第２のデータを含み、
前記第１のデータが表面用フォーム画像データと表面用被フォーム画像データを合成しないことを示すデータであるときは用紙表面に表面用フォーム画像データのみを印刷し、前記第２のデータが裏面用フォーム画像データと裏面用被フォーム画像データを合成しないことを示すデータであるときは用紙裏面に裏面用フォーム画像データのみを印刷するこ印刷装置である。
【００１０】
これにより、フォーム情報に含まれる情報に基づき、フォームオーバーレイ機能を使用した両面印刷が可能になる。新たなフォーム情報を上記フォーム情報記憶手段に記憶させるときは、外部から入力される上記データは、表面用フォーム画像データと表面用被フォーム画像データを合成するか否かを示す第１のデータと、裏面用フォーム画像データと裏面用被フォーム画像データを合成するか否かを示す第２のデータを含む構成である。
【００１１】
これにより、フォーム情報記憶手段に記憶されるフォーム情報として、第１のデータ及び第２のデータを記憶することができる。
【００１４】
さらに、上記第１のデータが表面用フォーム画像データと表面用被フォーム画像データを合成しないことを示すデータであるときは用紙表面に表面用フォーム画像データのみを印刷し、上記第２のデータが裏面用フォーム画像データと裏面用被フォーム画像データを合成しないことを示すデータであるときは用紙裏面に裏面用フォーム画像データのみを印刷する構成である。
【００１５】
これにより、従来では実現できなかった、表面（裏面）にフォーム画像データのみを印刷し、裏面（表面）にフォーム画像データと被フォーム画像データとの合成画像データを印刷することが可能になる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態における両面印刷可能なプリンタのシステム構成図である。同図中の矢印は印刷処理の流れを示している。
【００２６】
同図において、プリンタ１は、ＰＣ２と接続され、ＰＣ２からの印刷データ及び制御コマンドに基づき印刷処理を行い、印刷結果３を得るものである。
プリンタ１は、内部に、プリンタＩ／Ｆ（インターフェイス）４、操作パネル５、Ｉ／Ｆコントローラ６、ビデオＩ／Ｆ７、及びプリンタエンジン８を備える。Ｉ／Ｆコントローラ６は、ＰＣ２からプリンタＩ／Ｆ４を介して送信される印刷データ及び制御コマンドに基づき画像データを作成し、これをビデオＩ／Ｆ７を介してプリンタエンジン８へ送信する。また、この時同時にプリンタ１の給紙／排紙指定等の印刷情報もビデオＩ／Ｆ７を介してプリンタエンジン８へ送信される。プリンタエンジン８は、これら画像データ及び印刷情報に基づき用紙への印刷を行う。また、操作パネル５は、利用者が直接プリンタ１の各種設定等を行うときに、その入力手段として使用される。
【００２７】
Ｉ／Ｆコントローラ６は、更に内部に、受信部９、受信バッファ１０、解析／描画部１１、印刷情報テーブル１２、印刷制御部１３、フォーム管理テーブル１４、画像メモリ１５、及び画像合成処理部１６を備える。
【００２８】
受信部９は、プリンタＩ／Ｆ４を介して、印刷データ及び制御コマンドを受信し、これを一時的に受信バッファ１０に記憶させる。解析／描画部１１は、受信バッファ１０に記憶される印刷データ及び制御コマンドを順次読み出し、それらの解析に基づき、被フォーム画像データ１７やフォーム画像データ１８を画像メモリ１５に描画し、この時描画したフォーム画像データ１８のフォームデータ情報をフォーム管理テーブル１４に記憶し、また、印刷情報を印刷情報テーブル１２に記憶する。この時、解析／描画部１１は、利用者が直接操作パネル５を操作することにより入力した各種設定情報があれば、これらも同時に解析する。更に、不図示ではあるが、解析／描画部１１は、内部にメモリを備え、これには後述するフォーム発生終了フラグが設定される。印刷制御部１３は、印刷情報テーブル１２に記憶される印刷情報を読み出し、これに基づきプリンタエンジン８を制御し、画像メモリ１５に記憶される被フォーム画像データ１７とフォーム画像データ１８（ここでは、フォーム１画像データ１８ａ）をプリンタエンジン８へ転送する。但し、転送の途中で印刷制御部１３は、印刷情報に基づき画像合成処理部１６を制御する。画像合成処理部１６はこの制御に基づき被フォーム画像データ１７とフォーム画像データ１８をＯＲ合成し、これをプリンタエンジン８へ転送する。
【００２９】
図２は、フォームオーバーレイ機能を使用するときにＰＣ２から送信される制御コマンドの一例を示す図である。同図に示すように、制御コマンド２０は、各々の機能を一意に示すコマンドコード２１と必要に応じて機能の詳細を指定するパラメータ２２から構成される。
【００３０】
同図において、フォーム登録開始コマンド２３、両面フォーム登録開始コマンド２４とフォーム登録終了コマンド２５は、フォーム画像データの登録を行うときに使用される制御コマンド（フォーム登録コマンドセット）である。フォーム登録開始コマンド２３は片面印刷用のフォーム画像データを登録するときに使用され、両面フォーム登録開始コマンド２４は両面印刷用のフォーム画像データを登録するときに使用され、フォーム登録終了コマンド２５はフォーム画像データの登録を終了するときに使用される制御コマンドである。これらの制御コマンドを使用し、フォーム登録開始コマンド２３又は両面フォーム登録開始コマンド２４を受信してからフォーム登録終了コマンド２５を受信するまでの間に受信する印刷データをフォーム画像データとして登録する。尚、両面フォーム登録開始コマンド２４のパラメータ２２中にある表面被フォームと裏面被フォームは、表面及び裏面の各々における、被フォーム画像データとフォーム画像データとを合成するか否かを示すフラグである。また、両者の制御コマンドのパラメータ中にある”名称”は、登録されるフォーム画像データのフォームデータ情報をフォーム管理テーブル１４に登録するときに使用される名称であり、これについては後述する。
【００３１】
また、フォーム発生開始コマンド２６及びフォーム発生終了コマンド２７は、登録されているフォーム画像データを用いて印刷処理を行うときに使用される制御コマンド（フォーム発生コマンドセット）である。フォーム発生開始コマンド２６を受信してからフォーム発生終了コマンド２７を受信するまでの間に送信される印刷データ（被フォーム画像データ）は、フォーム発生開始コマンド２６のパラメータ中にある”名称”により指定されるフォーム画像データとＯＲ合成され、印刷処理が行われる。
【００３２】
また、フォーム削除コマンド２８は、既に登録されているフォーム画像データを削除する制御コマンドであり、そのパラメータ中にある”名称”により指定されるフォーム画像データが削除される。
【００３３】
尚、上述の制御コマンドのパラメータ中にあるパラメータ長は、パラメータの長さを示すものである。
図３は、フォーム管理テーブルのデータ構成図である。
【００３４】
同図に示すように、フォーム管理テーブル１４には、複数のフォームデータ情報３０が登録される。このフォームデータ情報３０は、”名称”３１、両面フォームフラグ３２、表面被フォームフラグ３３、表面フォーム画像アドレス３４、裏面被フォームフラグ３５、及び裏面フォーム画像アドレス３６から構成される。
【００３５】
”名称”３１は、フォームデータ情報の名称を示し、これは図２に示したフォーム登録開始コマンド２３又は両面フォーム登録開始コマンド２４のパラメータ中にある”名称”により登録される。尚、”名称”３１がＮｕｌｌのときは、フォームデータ情報３０は未使用であることを示す。
【００３６】
両面フォームフラグ３２は、フォームデータ情報３０が片面フォーム（フォーム画像データは１つ）であるか両面フォーム（フォーム画像データは２つ）であるかを示すフラグであり、図２に示したフォーム登録開始コマンド２３を受信したときはＯＦＦ（片面フォーム）が、両面フォーム登録開始コマンド２４を受信したときはＯＮ（両面フォーム）が設定される。
【００３７】
表面被フォームフラグ３３及び裏面被フォームフラグ３５は、それぞれ、フォーム画像データと被フォーム画像データとをＯＲ合成するか否かを示すフラグを示し、合成するときはＯＮが、合成しないときはＯＦＦが設定される。フォーム登録開始コマンド２３を受信したときは片面フォームであるので、表面被フォームフラグはＯＮとし裏面被フォームフラグはＯＦＦに固定されて設定されるが、両面フォーム登録開始コマンド２４を受信したときは、そのパラメータ中にある表面被フォーム及び裏面被フォームに示されるフラグの内容がそのまま表面被フォームフラグ３３及び裏面被フォームフラグ３５に反映されて設定される。
【００３８】
表面フォーム画像アドレス３４及び裏面フォーム画像アドレス３６は、それぞれ、画像メモリ１５に描画した１ページ分のフォーム画像データの先頭アドレスを示す。フォーム登録開始コマンド２３を受信したときは片面フォームであるので裏面フォーム画像アドレスには何も設定されずクリアされるが、両面フォーム登録開始コマンド２４を受信したときには表面フォーム画像アドレス３４及び裏面フォーム画像アドレス３６の各々にそれぞれのフォーム画像データの先頭アドレスが設定される。
【００３９】
図４は、プリンタ１が上述したフォーム登録コマンドセットを受信したときの解析／描画部のフォーム登録処理を示すフローチャートである。
同図に示すように、解析／描画部１１は、受信した制御コマンドが、フォーム登録開始コマンド２３であるか両面フォーム登録開始コマンド２４であるかを判断し（ステップＳ４０１）、フォーム登録開始コマンド２３であるときは（ステップＳ４０１，Ｎｏ）、ステップＳ４０２〜Ｓ４０７の片面フォーム用のフォーム画像データの登録処理を行い、両面フォーム登録開始コマンド２４であるときは（ステップＳ４０１，Ｙｅｓ）、ステップＳ４０８〜４１４の両面フォーム用のフォーム画像データの登録処理を行う。
【００４０】
フォーム登録開始コマンド２３であるときは（ステップＳ４０１，Ｎｏ）、フォーム管理テーブル１４から未使用のフォームデータ情報を１つ検索し、このフォームデータ情報の”名称”３１に、フォーム登録開始コマンド２３のパラメータ中にある”名称”を登録し、両面フォームフラグ３２に片面フォームであることを示すＯＦＦを設定する（ステップＳ４０２）。そして、表面被フォームフラグにＯＮを設定し（ステップＳ４０３）、フォーム登録開始コマンド２３を受信してからフォーム登録終了コマンドを受信するまでの間に受信した印刷データに基づき、１ページ分のフォーム画像データを画像メモリ１５に描画し（ステップＳ４０４）、その描画したフォーム画像データの画像メモリ１５上のアドレスを、表面フォーム画像アドレス３４に設定する（ステップＳ４０５）。このときは、片面フォームであるので、裏面被フォームフラグ３５にはＯＦＦが設定され、裏面フォーム画像アドレス３６には何も設定されずクリアされる（ステップＳ４０７）。
【００４１】
一方、ステップＳ４０１の分岐処理にて、受信した制御コマンドが両面フォーム登録開始コマンド２４であるときは（ステップＳ４０１，Ｙｅｓ）、片面フォームのときの同様に、まず、印刷情報テーブル１４から未使用のフォームデータ情報を１つ検索し、このフォームデータ情報の”名称”３１に、両面フォーム登録開始コマンド２４のパラメータ中にある”名称”を登録し、両面フォームフラグ３２に両面フォームであることを示すＯＮを設定する（ステップＳ４０８）。また、このパラメータ中にある表面被フォームのデータを、フォームデータ情報の表面被フォームフラグ３３に設定する（ステップＳ４０９）。両面フォーム画像登録コマンドを受信してから改ページを受信するまでの間に受信した印刷データ（１ページ分の表面用のフォーム画像データ）を画像メモリ１５に描画し（ステップＳ４１０）、その描画したフォーム画像データの画像メモリ１５上の先頭アドレスを、表面フォーム画像アドレス３４に設定する（ステップＳ４１１）。そして、両面フォーム登録開始コマンド２４のパラメータ中にある裏面被フォームのデータをフォームデータ情報の裏面被フォームフラグ３５に設定し（ステップＳ４１２）、改ページを受信してからフォーム登録終了コマンド２５を受信するまでの間に受信した印刷データ（１ページ分の裏面用のフォーム画像データ）を画像メモリ１５に描画し（ステップＳ４１３）、その描画したフォーム画像データの画像メモリ１５上の先頭アドレスを、裏面フォーム画像アドレス３６に設定する（ステップＳ４１４）。
【００４２】
以上により、フォーム画像データの登録は終了するが、このフォーム画像データの登録を削除するときは、ＰＣ２よりフォーム削除コマンド２８を送信する。これを受信すると、同図のフローチャートには示してないが、フォーム削除コマンド２８のパラメータ中にある”名称”から、複数のフォームデータ情報の”名称”３１を検索し、同一の名称のフォームデータ情報を削除するとともに、表面フォーム画像アドレス３４及び裏面フォーム画像アドレス３６に設定されている画像メモリ１５上のフォーム画像データを削除し、その”名称”３１をクリアする。
【００４３】
図５は、印刷情報テーブルのデータ構成図である。
同図に示すように、印刷情報テーブル１２には、複数の印刷情報４０から構成されている。解析／描画部１１は、１枚の用紙への印刷要求毎に１つの印刷情報４０を作成し、これを印刷情報テーブル１２に記憶する。同図に示す印刷情報４０において、給紙口４１及び排紙口４２は、給紙口及び排紙口を指定するデータである。解像度４３及び用紙厚４４は、印刷解像度や普通紙／厚紙の違いによる定着温度の設定などの印刷時のプリンタエンジン動作に関するデータである。また、両面印刷フラグ４５、表面被フォーム画像アドレス４６、表面フォーム画像アドレス４７、裏面被フォーム画像アドレス４８、及び裏面フォーム画像アドレス４９は、印刷する画像データを指定するデータである。
【００４４】
両面印刷フラグ４５は、片面印刷処理であるか両面印刷処理であるかを示すフラグである。表面被フォーム画像アドレス４６と表面フォーム画像アドレス４７は、それぞれ画像メモリ１５上の表面被フォーム画像アドレスと表面フォーム画像アドレスを示す。同様に裏面被フォーム画像アドレス４８と裏面フォーム画像アドレス４９は、それぞれ画像メモリ１５上の裏面被フォーム画像アドレスと裏面フォーム画像アドレスを示す。尚、両面印刷を行わないときは、裏面の画像データを指定する必要がないので、裏面被フォーム画像アドレス４８及び裏面フォーム画像アドレス４９には何も書き込まれずクリアされる。また、フォームオーバーレイ機能を使用しないときは、フォーム画像アドレスの指定は不要なので、表面被フォーム画像アドレス４６及び裏面被フォーム画像アドレス４７には何も書き込まれずクリアされる。
【００４５】
次に、プリンタ１がフォーム発生コマンドセットを受信したときの解析／描画部のフォーム発生処理を、図６〜図９を用いて説明する。
図６は、フォーム発生開始コマンドに基づくフォームデータ情報３０の両面フォームフラグ３２が片面フォームを示すフラグであるときのフォーム発生処理を示すフローチャートである。図７は、この両面フォームフラグ３２が両面フォームを示すフラグであるときのフォーム発生処理を示すフローチャートである。また、図８は、表面被フォーム画像データ作成処理を示すフローチャート、図９は、裏面被フォーム画像データ作成処理を示すフローチャートである。
【００４６】
図６において、まず、フォーム発生開始コマンド２６を受信すると、解析／描画部１１は、内部メモリのフォーム発生終了フラグをＯＦＦに設定する（ステップＳ６０１）。尚、フォーム発生終了フラグは、フォーム発生処理中はＯＦＦに設定され、フォーム発生処理が終了するとＯＮに設定されるものである。
【００４７】
フォーム発生開始コマンド２６のパラメータにある”名称”から、フォーム管理テーブル１４のフォームデータ情報を検索し、該当するフォームデータ情報の両面フォームフラグ３２を読み出す。これが、両面フォームを示すフラグであるときは（ステップＳ６０２，Ｙｅｓ）、図７に示す処理に移行する。一方、片面フォームを示すフラグであるときは（ステップＳ６０２，Ｎｏ）、表面被フォーム画像データの作成処理（ステップＳ６０３）に移行する。このステップＳ６０３の処理を図８に示す。同図において、解析／描画部１１は、フォーム発生開始コマンド２６に続く受信データ（被フォームデータ）を受信バッファ１０から順次読み出す（ステップＳ８０１）。読み出した受信データが、フォーム発生終了コマンドであるときは（ステップＳ８０２，Ｙｅｓ）、フォーム発生終了フラグをＯＮに設定し（ステップＳ８０５）、図６に示すステップＳ６０４の処理に移行する。一方、読み出した受信データが、フォーム発生終了コマンドでないときは（印刷データ（被フォーム画像データ）であるときは）（ステップＳ８０２，Ｎｏ）、この受信データを画像メモリ１５に描画する（ステップＳ８０３）。この時、受信データ中に改ページがあるときは（ステップＳ８０４，Ｙｅｓ）、図６に示すステップＳ６０４の処理に移行するが、改ページがないときは（ステップＳ８０４，Ｎｏ）、ステップＳ８０１の処理に戻り、以降フォーム発生終了コマンド又は改ページを読み出すまで、ステップＳ８０１〜Ｓ８０４の処理を繰り返す。
【００４８】
図６に戻り、表面被フォーム画像データ作成処理（ステップＳ６０３）においてフォーム発生開始コマンドに続く受信データがフォーム発生終了コマンドであったときは、すなわち、印刷データ（被フォーム画像データ）が無くフォーム発生終了フラグがＯＮのときは（ステップＳ６０４，Ｙｅｓ）、フォーム発行処理を終了する。一方そうでないときは（ステップＳ６０４，Ｎｏ）、受信データが片面印刷データであるか否かが判断され（ステップＳ６０５）、片面印刷データであるときは（ステップＳ６０５，Ｎｏ）ステップＳ６０６の処理に移行し、両面印刷データであるときは（ステップＳ６０５，Ｙｅｓ）ステップＳ６０８の処理に移行する。
【００４９】
ステップＳ６０５の分岐処理にて、片面印刷データであると判断されたときは（ステップＳ６０５，Ｎｏ）、印刷情報テーブル１２から空きエリアを検索し、新たな印刷情報４０を作成する。これには、両面印刷フラグ４５として片面印刷処理を示すフラグを設定する（ステップＳ６０６）。また、表面被フォーム画像アドレス４６として、図８のステップＳ８０３の処理にて画像メモリ１５に描画した表面被フォーム画像データのアドレスを設定し、表面フォーム画像アドレス４７として、フォーム発生開始コマンド２６に基づくフォームデータ情報にある表面フォーム画像アドレス３４を設定する（ステップＳ６０７）。尚、このときは片面印刷であるので、印刷情報４０の裏面被フォーム画像アドレス４８と裏面フォーム画像アドレス４９は設定されずクリアされる。これにより、片面印刷の印刷情報４０が完成し、これを印刷制御部１３へ送信する（ステップＳ６１４）。
【００５０】
その後、これを受信した印刷制御部１３は、画像合成回路１６を制御して、表面被フォーム画像データと表面フォーム画像データとの合成を行わせながら、ビデオＩ／Ｆを介してプリンタエンジン８に、この合成データを転送し、結果として、フォームオーバーレイ機能を使用した通常の片面印刷結果が得られる。
【００５１】
解析／描画部１１は、印刷制御部１３へ印刷情報４０を送信した後は、フォーム発生終了フラグがＯＮであるか否かを判断し（ステップＳ６１５）、ＯＮであるときは（ステップＳ６１５，Ｙｅｓ）、フォーム発生処理を終了し、ＯＮでないとき（ＯＦＦであるとき）は（ステップＳ６１５，Ｎｏ）、ステップＳ６０２の処理に戻る。
【００５２】
一方、ステップＳ６０５の分岐処理にて、両面印刷データであると判断されたときは（ステップＳ６０５，Ｙｅｓ）、ステップＳ６０６の処理と同様、印刷情報テーブル１２から空きエリアを検索し、新たな印刷情報４０を作成する。これには、両面印刷フラグ４５として両面印刷処理を示すフラグを設定する（ステップＳ６０８）。また、ステップＳ６０７の処理と同様に、表面被フォーム画像アドレス４６として、表面被フォーム画像データのアドレスを設定し、表面フォーム画像アドレス４７として、表面フォーム画像アドレス３４を設定する（ステップＳ６０９）。そして、フォーム発生終了フラグがＯＮであるか否かを判断し（ステップＳ６１０）、ＯＮであるならば（ステップＳ６１０，Ｙｅｓ）、印刷情報４０の両面印刷フラグ４５を片面印刷を示すフラグに設定し直し（ステップＳ６１１）、ステップＳ６１４の処理に移行する。一方、ＯＮでない（ＯＦＦである）ときは（ステップＳ６１０，Ｎｏ）、裏面被フォーム画像データの作成処理（ステップＳ６１２）に移行する。
【００５３】
このステップＳ６１２の処理を図９に示す。同図において、解析／描画図１１は、表面被フォームデータに続く受信データを受信バッファ１０から順次読み出す（ステップＳ９０１）。読み出した受信データが、改ページ又はフォーム発生終了コマンドでないときは（ステップＳ９０２，Ｎｏ）、この受信データを画像メモリ１５に描画する（ステップＳ９０３）。この時、受信データ中に改ページがあるときは（ステップＳ９０４，Ｙｅｓ）、ステップＳ９０６の処理に移行するが、改ページがないときは（ステップＳ９０４，Ｎｏ）、ステップＳ９０１の処理に戻り、以降フォーム発生終了コマンド又は改ページを読み出すまで、ステップＳ９０１〜Ｓ９０４の処理を繰り返す。一方、ステップＳ９０２の分岐処理にて、受信データが改ページ又はフォーム発生終了コマンドであるときは（ステップＳ９０２，Ｙｅｓ）、フォーム発生終了フラグをＯＮに設定し（ステップＳ９０５）、この受信データ中に描画データの有無を判断し（ステップＳ９０６）、描画データが無いときは（ステップＳ９０６，Ｎｏ）、すなわち、裏面のページ先頭でフォーム発生終了コマンドを読み出したときは、白紙画像を作成し（ステップＳ９０７）、図６のステップＳ６１３の処理に移行する。また、描画データがあるとき（ステップＳ９０６，Ｙｅｓ）も図６のステップＳ６１３の処理に移行する。
【００５４】
図６に戻り、ステップＳ６１２の処理により裏面被フォーム画像データの作成が終了するとステップＳ６０９で作成した印刷情報４０に、裏面被フォーム画像アドレス４８として、図９のステップＳ９０３の処理にて画像メモリ１５に描画した裏面被フォーム画像データのアドレスを設定し、裏面フォーム画像アドレス４９には、ステップＳ６０９の処理にて設定した表面フォーム画像アドレスを設定する（ステップＳ６１３）。その後は前述したステップＳ６１４の処理に移行する。このような印刷情報４０を印刷制御部１３が受信することにより、結果として、表面及び裏面にはそれぞれ、同じフォーム画像データが印刷され、これらには異なる被フォーム画像データが印刷されることになる。
【００５５】
一方、ステップＳ６０２の分岐処理において、フォームデータ情報の両面フォームフラグ３２が、両面フォームを示すフラグであるときは（ステップＳ６０２，Ｙｅｓ）、図７に示す両面フォーム発生処理に移行する。同図において、ステップＳ７０１及び７０２の処理は、図６に示すステップＳ６０３及び６０４の処理と同様であるので説明を省略する。ステップＳ７０１及び７０２の処理を終了した後、解析／描画部１１は、印刷情報テーブル１２から空きエリアを検索し、新たな印刷情報４０を作成し、両面印刷フラグ４５として両面印刷処理を示すフラグを設定する（ステップＳ７０３）。ここでは、両面フォーム発生処理であるので、フォーム発生開始コマンドに基づくフォームデータ情報３０にある裏面被フォームフラグ３５の設定に係わらず、両面印刷フラグ４５には両面印刷処理を示すフラグが設定される。
【００５６】
次に、フォームデータ情報３０の表面被フォームフラグ３３がＯＮであるか否かを判断し（ステップＳ７０４）、ＯＮであるときは（ステップＳ７０４，Ｙｅｓ）ステップＳ７０５の処理に移行し、ＯＮでない（ＯＦＦである）ときは（ステップＳ７０４，Ｎｏ）ステップＳ７１１の処理に移行する。
【００５７】
ステップＳ７０５の処理では、ステップＳ７０３の処理で作成した印刷情報４０の表面被フォーム画像アドレス４６に、ステップＳ７０１の処理にて画像メモリ１５に描画した表面被フォーム画像データのアドレスを設定し、表面フォーム画像アドレス４７に、フォームデータ情報３０にある表面フォーム画像アドレス３４を設定する（ステップＳ７０５）。
【００５８】
次に、フォームデータ情報３０の裏面被フォームフラグ３５がＯＮであるか否かを判断し（ステップＳ７０６）、ＯＮでない（ＯＦＦである）ときには（ステップＳ７０６，Ｎｏ）、印刷情報４０の裏面被フォーム画像アドレス４８をクリアすると共に、裏面フォーム画像アドレス４９に、フォームデータ情報３０の裏面フォーム画像アドレス３６を設定し（ステップＳ７０７）、図６に示すステップＳ６１４の処理に移行する。
【００５９】
その後、印刷制御部１３は、ステップＳ７０５及びステップＳ７０７で作成された印刷情報４０に基づき印刷処理を行い、結果として、用紙の表面にはフォーム画像データと被フォーム画像データとの合成画像データが印刷され、その裏面にはフォーム画像データのみが印刷される。
【００６０】
このように、ステップＳ７０７の処理にて、印刷情報４０の裏面被フォーム画像アドレスをクリアし裏面フォーム画像アドレスのみを設定することにより、裏面被フォーム画像データとして白紙画像データをＰＣ２から送信する必要がなくなり、用紙裏面には裏面フォーム画像データのみを印刷することが可能になる。
【００６１】
一方、ステップＳ７０６の処理において、裏面被フォームフラグ３５がＯＮであるときには（ステップＳ７０６，Ｙｅｓ）、フォーム発生終了フラグがＯＮであるか否かを判断し（ステップＳ７０８）、ＯＮであるときには（ステップＳ７０８，Ｙｅｓ）、裏面被フォーム画像データは存在しないことになるので、ステップＳ７０７の処理に移行する。ＯＮでない（ＯＦＦである）ときには（ステップＳ７０８，Ｎｏ）、裏面被フォーム画像データの作成処理（ステップＳ７０９）に移行する。尚、このステップＳ７０９の処理及び次のステップＳ７１０の処理は、図６に示したステップＳ６１２及び６１３の処理と同様であるのでその説明を省略する。そして、ステップＳ６１４の処理へ移行する。
【００６２】
その後、印刷制御部１３は、ステップＳ７０５及びステップＳ７１０で作成された印刷情報４０に基づき印刷処理を行い、結果として、用紙の表面及び裏面に異なるフォーム画像データが印刷される。
【００６３】
一方、ステップＳ７０４の処理において、フォームデータ情報３０の表面被フォームフラグ３３が、ＯＮでない（ＯＦＦである）ときには（ステップＳ７０４，Ｎｏ）、ステップＳ７０３の処理にて作成した印刷情報４０の、表面被フォーム画像アドレスをクリアし、表面フォーム画像アドレスとして、ステップＳ７０１の処理にて描画した表面フォーム画像データの画像メモリ１５上のアドレスを設定する（ステップＳ７１１）。裏面については、裏面被フォーム画像データを既に描画済みの表面被フォーム画像データと同一とするので（ステップＳ７１２）、その結果、フォームデータ情報３０の裏面被フォーム画像アドレスとして、既に描画済みの表面被フォーム画像アドレスを設定する（ステップＳ７１２）。また、裏面フォーム画像アドレス４９として、フォームデータ情報３０の裏面フォーム画像アドレスを設定する（ステップＳ７１３）。そして、ステップＳ６１４の処理へ移行する。
【００６４】
その後、印刷制御部１３は、ステップＳ７１１及びステップＳ７１３の処理で作成された印刷情報４０に基づき印刷処理を行い、結果として、用紙表面には、表面フォーム画像アドレスに示される表面フォーム画像データが印刷され、その裏面には、裏面フォーム画像アドレス及び裏面被フォーム画像アドレスに示されるそれぞれの画像データが印刷されることになる。従って、表面被フォーム画像データとして白紙画像データをＰＣ２から送信する必要なく、用紙表面には、表面フォーム画像データのみを印字することができる。
【００６５】
以上、第１の実施の形態によれば、フォームデータ情報に、表面及び裏面のそれぞれに被フォーム画像データを印刷するか否かを設定可能とし、また、印刷情報に、表面及び裏面のそれぞれの被フォーム画像アドレス及びフォーム画像アドレスを設定可能とすることにより、両面印刷時において、表面と裏面のフォーム画像データが異なるときにフォーム画像データを指定し直す必要が無く、また、表面又は裏面のいづれかに被フォーム画像データの印刷を行うときに、被フォーム画像データを描画しない用紙面に対し、白紙印刷を指定する必要がなくなり、利用者の使い勝手を大幅に向上させる印刷結果を得ることができる。
【００６６】
尚、第１の実施の形態においては、フォーム管理テーブルに用紙１枚分のフォームデータ情報を登録するようにしていたが、フォーム管理テーブルを拡張し、また、用紙複数枚分のフォームデータ情報を登録可能にする制御コマンドを新たに設けることにより、用紙複数枚に対し、上述の両面印刷処理を行うようにしても良い。
【００６７】
また、両面印刷機能の無いプリンタでは、表面及び裏面の画像データをそれぞれ１枚（片面）づつ印刷するようにし、上述の両面印刷処理を実行するようにしても良い。
＜第２の実施の形態＞
第２の実施の形態に示すプリンタは、両面印刷される用紙が複数枚になるときには、これを利用者が読みやすいように印刷するものである。
【００６８】
尚、本形態におけるプリンタのシステム構成は、第１の実施の形態に示したもの（図１）と同じ構成である。
図１０は、本形態のプリンタにより両面印刷された印刷結果の一例を模式的に示す図である。同図中の５６は用紙枚数を示し、５７は印刷ページを示し、ここでは、全用紙枚数を６枚で示している。同図に示すように、用紙１枚目の表面には１ページ目が印刷されその裏面には１２ページ目が印刷され、用紙２枚目の表面には２ページ目が印刷されその裏面には１１ページ目が印刷され、・・・・用紙６枚目の表面には６ページ目が印刷されその裏面には７ページ目が印刷される。以降、このようなページ関係を有する両面印刷を折り返し印刷という。この折り返し印刷により、利用者が印刷用紙６枚を閲覧するときは、始めに１枚目〜６枚面の表面（１〜６ページ）を順に閲覧し、６枚目の６ページ目を閲覧し終えた後に、これら６枚の用紙をまとめてひっくり返し、今まで裏面にあった次の７〜１２ページを順に閲覧するものである。従って、図２５に示した従来のプリンタにより印刷された用紙のように、１枚毎に用紙をひっくり返して閲覧する必要はない。
【００６９】
図１１(a) は、ＰＣ２が送信する印刷データのデータ構成図であり、同図(b) は、受信バッファに記憶される用紙データのデータ構成図である。
同図(a) に示すように、ＰＣ２が送信する印刷データ５０は、両面印刷折り返しフラグ５１、両面印刷状態フラグ５２、印刷ページ数情報５３、及びページ１枚分のデータ５４等で構成される。
【００７０】
両面印刷折り返しフラグ５１は、印刷データ５０が両面印刷時に折り返しを行うか否かを示すフラグである。これが折り返しを行うことを示すフラグであるときには、図１０に示すようなページ関係を有する両面印刷を行い、折り返しを行うことを示すフラグでないときは、図２５に示した通常の両面印刷が行われる。両面印刷状態フラグ５２は、両面印刷時において、表面と裏面を同じ向きに印刷するか、表面と裏面を反対向きに印刷するかを示すフラグである。印刷ページ数情報５３は、印刷データ４０に含まれる印刷ページ数を示す情報である。また、その他、印刷データ４０中には、ページ１枚分のデータ５４が含まれる。
【００７１】
同図(b) に示すように、受信バッファ１０には用紙データ５４のいくつかが記憶させる。これについては後述する。
図１２は、本形態におけるプリンタの印刷制御処理を示すフローチャートである。
【００７２】
まず、ＰＣ２から送信された印刷データを受信すると、この印刷データに基づき両面印刷であるか片面印刷であるかを判断し（ステップＳ１２０１）、両面印刷であるときには（ステップＳ１２０１，Ｙｅｓ）両面印刷処理を行い、片面印刷であるときには（ステップＳ１２０１，Ｎｏ）通常の片面印刷処理を行う。
【００７３】
ステップＳ１２０１の分岐処理において、片面印刷であるときには（ステップＳ１２０１，Ｎｏ）通常の片面印刷を開始し（ステップＳ１２０２）、印刷が終了するまで印刷処理を行う（ステップＳ１２０３，Ｎｏ）、印刷が終了したら（ステップＳ１２０３，Ｙｅｓ）、印刷処理が正常終了したか否かを判断し（ステップＳ１２０４）、正常終了したときは（ステップＳ１２０４，Ｙｅｓ）印刷処理を終了する。正常終了しなかったときは（ステップＳ１２０４，Ｎｏ）、エラールーチンを実行する（ステップＳ１２０５）。
【００７４】
一方、ステップＳ１２０１の分岐処理において、両面印刷であるときには（ステップＳ１２０１，Ｙｅｓ）、印刷データ４０の両面印刷折り返しフラグ５１をチェックする（ステップＳ１２０６）。
【００７５】
ステップＳ１２０６の分岐処理において、両面印刷折り返しフラグ５１が折り返しを示すフラグでないとき（ステップＳ１２０６，Ｎｏ）には通常の両面印刷処理へ移行する。すなわち、まず、印刷データ４０のＩページ目の用紙データ５４とそれに続くＩ＋１ページ目の用紙データ５４とから両面印刷処理を行い（ステップＳ１２０９）、正常終了しているか否かを判断し（ステップＳ１２１０）、正常終了してないときは（ステップＳ１２１０，Ｎｏ）、エラールーチンを実行する（ステップＳ１２０５）。一方、正常終了しているとき（ステップＳ１２１０，Ｙｅｓ）、両面印刷終了であるか否かを判断し（ステップＳ１２１１）、両面印刷終了であるときは（ステップＳ１２１１，Ｙｅｓ）印刷処理を終了し、両面印刷終了でないときは（ステップＳ１２１１，Ｎｏ）、ステップＳ１２０６の処理で行った両面折り返しチェックを行う（ステップＳ１２１２）。このときは、両面折り返しを行わない両面印刷なので（ステップＳ１２１２，Ｎｏ）その後はステップＳ１２０７の処理に移行し、印刷情報４０に基づいて、続く次の用紙の印刷が行われる。
【００７６】
一方、ステップＳ１２０６の分岐処理（ステップＳ１２０６）において、両面印刷折り返しフラグ５１が、折り返しを示すフラグであるとき（ステップＳ１２０６，Ｙｅｓ）は、印刷ページ数情報５３から印刷ページ数を読み出し、１ページ目のデータ５４から（印刷ページ数／２）枚分（小数点以下は繰り上げ）までのデータ５４を、受信バッファに１０に読み込む（ステップＳ１２１３）。図１１(b) は、丁度（印刷ページ数／２）がＩ枚のときの受信バッファ１０のデータ構成を示している。ステップＳ１２１３の読み込み処理は、このＩ枚分のデータ５４の全てを読み込むまで行われる（ステップＳ１２１４，Ｎｏ）。このＩ枚分のデータの読み込みが終了したら（ステップＳ１２１４，Ｙｅｓ）、表面を、受信バッファ１０に読み込まれた、印刷ページ数／２−Ｉ（Ｉ＝０、１、２、・・・）ページ目のデータ５４とし（ステップＳ１２１５）、裏面を、印刷データ５０の、印刷ページ数／２＋１−Ｉ（Ｉ＝０、１、２、・・・）ページ目のデータ５４として（ステップＳ１２１６）、表裏のデータを決定する。例えば、印刷ページ数情報５３が２０ページのとき、印刷される用紙１枚目の表面はステップＳ１２１５の処理より２０／２−０＝１０で受信バッファ１０中の１０ページ目となり、裏面はステップＳ１１０６の処理により２０／２＋１−０＝１１で印刷データ５０中の１１ページ目のデータが決定される。
【００７７】
このように表面及び裏面に印刷するデータが決定されると、印刷データ４０の両面印刷状態フラグ５２がＯＮであるか否かを判断し（ステップＳ１２１７）、これがＯＦＦのときは（ステップＳ１２１７，Ｎｏ）、ステップＳ１２１５で決定された表面のデータを、ステップＳ１２１６で決定された裏面のデータと同じ向きに印刷するように設定し（ステップＳ１２１８）、印刷制御部１１はこれらに基づき両面印刷処理（ステップＳ１２０９）を行う。一方、ステップＳ１２１７の処理において、両面印刷状態フラグがＯＮのときは（ステップＳ１２１７，Ｙｅｓ）ステップＳ１２１５で決定された表面のデータを、ステップＳ１２１６で決定された裏面のデータと反対向きに印刷するように設定し（ステップＳ１２１９）、印刷制御部１１はこれらに基づき両面印刷処理（ステップＳ１２０９）を行う。
【００７８】
その後、正常終了し（ステップＳ１２１０，Ｙｅｓ）、まだ両面印刷終了でないときは（ステップＳ１２１１，Ｎｏ）、両面印刷折り返しフラグ５１が、折り返しを示すフラグであるか否かを判断し（ステップＳ１２１２）、ここでは、折り返しであるので（ステップＳ１２１２，Ｙｅｓ）、ステップＳ１２１５の処理に移行し、次の用紙の印刷処理を行う。
【００７９】
以上、第２の実施の形態によれば、図１０に示すような印刷結果を得ることができるので、両面印刷された複数の用紙を１枚毎にひっくり返して閲覧する必要はなく、１回だけひっくり返せば、複数の用紙全てを閲覧することができるので、利用者の使い勝手を大幅に向上させた。また、両面印刷状態フラグをにより、用紙をひっくり返すときに、左右に返すか上下に返すかを任意に設定可能である。更に、両面印刷を最後の用紙から行うため、全ての用紙の両面印刷が終了したときには丁度閲覧し易い順番で印刷用紙が重ねられる。
【００８０】
次に、上述の第２の実施の形態における変形例を示す。第２の実施の形態では用紙の片面に印刷されるデータは１ページ分のみのデータであったが、本変形例では用紙の片面に印刷されるデータとして複数ページ分のデータを印刷するものである。
【００８１】
図１３(a) は、本変形例におけるＰＣ２が送信する印刷データのデータ構成図であり、同図(b) は、受信バッファに記憶される用紙データのデータ構成図である。同図(a) は、図１１(a) で示した印刷データに、用紙片面をいくつに分割するかを示す分割数情報５５を加えたものである。また、図１３(a) は、図１１(b) と同様である。すなわち、分割数情報５５で指定された分割数分のページが用紙片面に印刷されることになる。例えば、分割数３と設定すれば、用紙片面に３ページ分の印刷データが印刷される。
【００８２】
図１４は、このような本変形例におけるプリンタの印刷処理を示すフローチャートである。同図に示すフローチャートは、図１２に示したフローチャートと異なる部分のみ示している。すわわち、図１２に示すステップＳ１２０６の分岐処理において両面印刷折り返しフラグ５１が折り返しを示すフラグであるときの（ステップＳ１２０６，Ｙｅｓ）処理以降から、ステップＳ１２１７の印刷データ４０の両面印刷状態フラグ５２がＯＮであるか否かを判断する分岐処理まで処理が異なる。
【００８３】
図１４において、ステップＳ１２０６の分岐処理において両面印刷折り返しフラグ５１が折り返しを示すフラグであるとき（ステップＳ１２０６，Ｙｅｓ）は、印刷データ５０中の印刷ページ数情報５３及び分割数情報５５を読み出し、（印刷ページ数／分割数）／２×分割数より折り返しページＮを算出する（ステップＳ１４０１）。ここで（印刷ページ数／分割数）／２の値が割り切れないときは小数点以下は繰り上げとする。例えば、印刷ページ数が１５ページ、分割数が３のとき、（１５／３）／２＝２．５となり、小数点以下は繰り上げるので、３となり、これに分割数３を乗算し、折り返しページＮは９となる。
【００８４】
そして、この折り返しページＮまでのデータ５４を受信バッファ１０に読み出し（ステップＳ１４０２，Ｎｏ及びステップＳ１４０３）、この読み出しが終了したら（ステップＳ１４０２，Ｙｅｓ）、用紙表面の描画処理に以降する。まず、用紙表面の描画処理が終了したか否かを判断し（ステップＳ１４０４）、終了していないときは（ステップＳ１４０４，Ｎｏ）、受信バッファ１０のＮ−Ｉ番目（Ｉ＝０，１，２・・・）のページのデータ５４を画像メモリ１５に描画し（ステップＳ１４０５）、分割数分のページを全て描画したか否かを判断し（ステップＳ１４０６）、まだ描画されていないときは（ステップＳ１４０６，Ｎｏ）、ステップＳ１４０５の処理に戻り、残りのページの描画を行う。この用紙表面の描画処理では、先の例のＮ＝９のときは、９、８、７のページが画像メモリ１５に表面データとして描画されることになる。
【００８５】
分割数分のページを全て描画した後は（ステップＳ１４０６，Ｙｅｓ）、用紙表面の描画が正常に終了したか否かを判断し（ステップＳ１４０７）、正常終了していなければ（ステップＳ１４０７，Ｎｏ）、文字縮小判断処理（ステップＳ１４０８）に移行する。すなわち、現在設定されている用紙に対し描画した分割数分のデータが収まらないときは異常終了し、文字縮小判断を行う。この文字縮小判断処理（ステップＳ１４０８）では、データの文字を縮小することによって設定した用紙内に分割数分のデータが収まると判断したときは、（ステップＳ１４０８，Ｙｅｓ）、文字を縮小し再度画像メモリ１５にデータを描画し直すためにステップＳ１４０５の処理に戻り、縮小したデータを画像メモリ１５に描画する処理を行う。一方、文字縮小判断処理（ステップＳ１４０８）にて、文字を縮小しすぎてこれ以上縮小が出来ないときは（ステップＳ１４０８，Ｎｏ）、データ異常となり、エラー処理を行う図１２に示したエラールーチン（ステップＳ１２０５）に処理を移行する。
【００８６】
一方、ステップＳ１４０７の処理において、用紙表面の分割数分のデータを画像メモリ１５に正常に描画したら（ステップＳ１４０７，Ｙｅｓ）、表面の作成が終了したので（ステップＳ１４０４，Ｙｅｓ）、用紙裏面の描画処理に移行する。まず、用紙裏面の描画処理が終了したか否か（用紙裏面の分割数分のデータを全て描画したか否か）を判断し（ステップＳ１４０９，Ｎｏ）、終了していないときは（ステップＳ１４０９，Ｎｏ）、印刷データ５０の印刷ページ数−（Ｎ＋Ｉ＋１）＜０（Ｉ＝０，１，２・・・）であるか否かを判断する（ステップＳ１４１０）。すなわち、折り返しページの次のページにデータがあるか否かを判断し、データのページが無ければ（ステップＳ１４１０，Ｙｅｓ）、Ｎｕｌｌを設定し（ステップＳ１４１１）、データがあれば（ステップＳ１４１０，Ｎｏ）、Ｎ＋Ｉ＋１（Ｉ＝０，１，２・・）番目ページのデータを画像メモリ１５に描画する（ステップＳ１４１２）。そして、用紙裏面の分割数分のデータを全て描画したか否かを判断し（ステップＳ１４０９）、まだ描画が終了していないときは（ステップＳ１４０９，Ｎｏ）、再びステップＳ１４１０の処理に移行して、残りの分割数分のデータの描画処理を行う。一方、用紙裏面の分割数分のデータの描画が終了したときは（ステップＳ１４０９，Ｙｅｓ）、図１２に示した両面印刷状態フラグがＯＮであるか否かを判断するステップＳ１２１７の処理に戻る。尚、その後、用紙１枚分の印刷が終了したら、両面折り返しチェック（ステップＳ１２１２）を行い、このときは、両面折り返しを行うので（ステップＳ１２１２，Ｙｅｓ）、この後は、図１４のステップＳ１４０４の処理に移行し、印刷情報４０に基づいて、続く次の用紙の印刷を行う。
【００８７】
例えば、先の例では、折り返しページＮ＝９であるので、始めの用紙１枚目の印刷では、表面に９、８、７ページ面のデータが、裏面には１０、１１、１２ページ目のデータが印刷されることになる。次の用紙（２枚目）の印刷では、表面に６、５、４ページ目のデータが、裏面には１３、１４、１５ページ目のデータが印刷され、その次の用紙（３枚目）の印刷では、表面に３、２、１ページ面のデータが印刷され、裏面にはデータが無いので（全印刷ページは１５より）Ｎｕｌｌデータとなり何も印刷されない。
【００８８】
これにより本変形例では、第２の実施の形態の効果に加え、用紙の片面に印刷されるデータは分割数分のページが印刷されることになるので、ユーザは、片面の用紙を閲覧することにより、複数ページの内容を一度に知ることができ、よりユーザの使い勝手を向上した。
【００８９】
尚、第２の実施の形態及びその変形例において、折り返しページまでのデータを受信バッファに記憶させるようにしたが、これを使用せずに、第１給紙、第２給紙、又はＭＰＦ給紙等から給紙し、第１給紙、第２給紙、又はＭＰＦ給紙等給紙した所とは別の場所に排紙し、印刷ページ数の半分まで（折り返しページまで）印刷したら、排紙した所から給紙をして、この印刷された用紙の裏面に残りのページを印刷するようにしても良い。これにより、本第２の実施の形態及びその変形例と同様の効果が得られる。
【００９０】
また、第２の実施の形態及び変形例において、受信バッファとして内蔵ＲＡＭやハードディスクを使用しても良い。
＜第３の実施の形態＞
第３の実施の形態に示すプリンタは、両面印刷時に、印刷される用紙が多数枚になるときには、これを利用者が読みやすいように印刷するものである。
【００９１】
尚、本形態におけるプリンタのシステム構成は、第１の実施の形態で示したもの（図１）と同じ構成である。
図１５は、本形態のプリンタにより両面印刷された印刷結果の一例を模式的に示す図である。同図中の６０は用紙枚数を示し、６１は印刷ページを示し、ここでは、全印刷ページ数を７２ページとし、全用紙枚数を６枚で示している。同図に示すように、用紙１枚目の表面には１〜６ページ目が印刷されその裏面には７〜１２ページ目が印刷され、用紙２枚目の表面には１３〜１８ページ目が印刷されその裏面には１９〜２４ページ目が印刷され、・・・・用紙６枚目の表面には６１〜６６ページ目が印刷されその裏面には６７〜７２ページ目が印刷される。
【００９２】
従って、図２５に示した従来のような、用紙片面に１ページのデータが印刷されるものとは異なり、用紙片面に複数ページを印刷することができる。
図１６は、ＰＣ２が送信する印刷データのデータ構成図である。同図に示すように、印刷データ６２は、両面印刷状態フラグ６３、全ページ数情報６４、複数の１ページ分のデータ６５から構成される。両面印刷状態フラグ６３は、両面印刷を行うか否かを示すフラグである。また、全ページ数情報６４は、印刷データ６２に含まれる１ページ分のデータ６５の総数を示す。
【００９３】
図１７は、第３の実施の形態におけるプリンタの印刷処理を示すフローチャートである。同図において、始め、ＰＣ２から印刷データ６２が送信され、プリンタがこれを受信すると、操作パネル５の縦数及び横数の入力待ちとなる。ここで縦数及び横数とは、縦及び横の分割数を示し、この値により用紙の縦及び横の分割数を示し、縦数及び横数の分割をしない場合は、この値がそれぞれ１に設定される。ユーザは、操作パネル５より縦数及び横数の入力を行う（ステップＳ１７０１及び１７０２）。この入力を受けて、操作パネル５上には、縦数×横数より、用紙片面側に入るページ数が表示されます（ステップＳ１７０３）。ここで、ユーザは枚数チェックを行い（ステップＳ１７０４）、縦数及び横数を再設定したいときは（ステップＳ１７０４，Ｎｏ）、ステップＳ１７０１の処理に戻り、縦数及び横数を再設定する。一方、ユーザが設定した縦数及び横数でＯＫならば（ステップＳ１７０４，Ｙｅｓ）、１／縦数より縦倍率の計算（ステップＳ１７０５）、及び１／横数より横倍率の計算（ステップＳ１７０６）を行う。そして、印刷データ６２の両面印刷状態フラグ６３より、両面印刷であるか否かを判断し（ステップＳ１７０７）、両面印刷であるときは（ステップＳ１７０７，Ｙｅｓ）、印刷が終了したときの印刷枚数である終了印刷枚数Ｓを表示する（ステップＳ１７０８）。尚、この終了印刷枚数Ｓは全ページ数／（（縦数×横数）×２）より算出し、この算出結果に余りが生じたときは、Ｓ＝Ｓ＋１とする。一方、両面印刷でないときは（ステップＳ１７０９，Ｎｏ）、終了印刷枚数Ｓ＝全ページ数／（縦数×横数）より算出し、これも余りが生じれば、Ｓ＝Ｓ＋１とする。終了印刷枚数を表示した後、ユーザはこれを確認し（ステップＳ１７１０）、終了印刷枚数を変更したいときは（ステップＳ１７１０，Ｎｏ）、ステップＳ１７０１の処理に戻り、縦数及び横数の再設定を行う。一方、表示された終了印刷枚数でＯＫであるときは（ステップＳ１７１０，Ｙｅｓ）、この条件で印刷処理を開始し、設定された縦数×横数のページ数毎に、用紙の片面に印刷処理が行われる。
【００９４】
以上、第３の実施の形態によれば、用紙表面及び裏面に、ユーザが設定した縦数×横数分のページを印刷することができるので、すなわち、用紙にはユーザが設定した分割比で複数のページを印刷することができるので、利用者は一度に複数ページを参照することができるようになると共に、印刷枚数も以前に比べて劇的に減少させることができるので、利用者の使い勝手を大幅に向上させることができる。
【００９５】
尚、本第３の実施の形態では、ユーザが縦数及び横数を入力することにより、用紙片面側のページ数を設定するようにしていたが、これを、ユーザが用紙片面側に配置したいページ数を入力するようにし、そのときの縦数及び横数の分割は固定的に行うようにしても良い。例えば、ユーザが表面６ページと入力したときは、縦数を２横数を３に固定的に分割し、各ページを配置するようにしても良い。
【００９６】
次に、第３の実施の形態における変形例を示す。
第３の実施の形態では、表面に縦数×横数分のページを印刷し、その裏面には、表面に印刷したページの内の一部を拡大したページを印刷するものである。
【００９７】
図１８は、本変形例のプリンタにより印刷された印刷結果の一例を示す。同図に示すように、表面にはページ１〜６までが印刷され、その裏面には、表面に印刷されたページの内の一部であるページ１とページ２が拡大印刷される。
【００９８】
図１９は、本変形例のプリンタが行う印刷処理を示すフローチャートである。同図に示すように、ステップＳ１９０１〜ステップＳ１９０７までの処理は、図１７に示すステップＳ１７０１〜ステップＳ１７０７の処理と同様であるのでその説明を省略する。
【００９９】
ステップＳ１９０７の処理において、両面印刷状態フラグ６３が片面印刷を示すフラグであるときには（ステップＳ１９０７，Ｎｏ）、裏面の印刷は行われないので、以降の処理は図１７に示したステップＳ１７０９及びステップＳ１７１０の処理と同様の処理を行う（ステップＳ１９１２及びステップＳ１９１３）。
【０１００】
一方、ステップＳ１９０７の処理において、両面印刷状態フラグ６３が両面印刷を示すフラグであるときには（ステップＳ１９０７，Ｙｅｓ）、ユーザは裏面拡大機能を使用するか否かを設定し（ステップＳ１９０７）、この機能を使用しないときは（ステップＳ１９０７，Ｎｏ）、以降の処理は図１７に示したステップＳ１７０８及びステップＳ１７１０と同様の処理を行う（ステップＳ１９１１及びステップＳ１９１３）。一方、裏面拡大機能を使用するときは（ステップＳ１９０８，Ｙｅｓ）、ユーザは続いて拡大したいページを選択する（ステップＳ１９０９）。尚、この時、拡大したいページは１ページ又は複数ページ選択できるものである。ユーザの選択が終了すると、操作パネル１１に終了印刷枚数を表示する（ステップＳ１９１０）。このとき、終了印刷枚数は、全枚数／（縦数×横数）により算出される。その後は、ユーザが終了印刷枚数がこれで良いか否かを判断し（ステップＳ１９１３）、これで良ければ（ステップＳ１９１３）、上述のように設定した条件にて印刷処理を行い、表面の分割数を変更したいようなときには（ステップＳ１９１３，Ｎｏ）、ステップＳ１９０１の処理に戻り、縦数と横数の再設定及び拡大ページの再設定を行う。
【０１０１】
これにより、用紙表面は縦数及び横数で設定した分割数分のページが印刷され、その裏面には、片面印刷のときは何も印刷されず、両面印刷で拡大印刷するときは、ユーザが選択したページが拡大されて印刷され、両面印刷で拡大印刷しないときは、表面と同様の分割数分の表面に続くページが印刷される。
【０１０２】
以上、本変形例によれば、用紙表面の一部のページをその裏面に拡大して印刷できるので、表面のページの内、強調したいページのみを抜き出して印刷を行うことで必要な情報をより明確に示すことができ、利用者の使い勝手をより向上させた。
【０１０３】
次に、第３の実施の形態における他の変形例を示す。
本変形例では、用紙片面に印刷される複数のページのページレイアウトを指定可能にするものである。尚、本変形例では、同一分割数の場合のレイアウトパターンを２パターン用紙する。
【０１０４】
図２０(a) は、分割数６（縦数２×横数３）のときのレイアウトパターン１を示し、同図(b) は、そのレイアウトパターン２を示す図である。同図(a) に示すように、レイアウトパターン１では、用紙左上を１ページ目（始めのページ）とし、それに続くページを列方向（図中左方向）に配置していくものであり、横数分のページを配置したら、それに続くページは次の行の左側から配置し（同図中の４ページ目）、以降も同様に配置していくものである。
【０１０５】
同図(b) に示すレイアウトパターン２では、用紙左上を１ページ目（始めのページ）とし、それに続くページを行方向（図中下方向）に配置していくものであり、縦数分のページを配置したら、それに続くページは次の列の上側から配置し（同図中の３ページ目）、以降も同様に配置していくものである。
【０１０６】
これらレイアウトパターン１及び２は、ユーザが操作パネル１１を介して設定することが可能である。図２１は操作パネルの表示例を示す図である。同図(a) はレイアウトパターン１を、同図(b) はレイアウトパターン２を設定したときの表示画面である。操作パネル１１で設定されたレイアウトパターンは、解析／描画部１１が備える内蔵メモリ上に割り当てられたレイアウトパターン格納領域であるＬａｙＰｔｎに格納される。図２２(a) は、内蔵メモリ上に割り当てられたレイアウトパターン格納領域であるＬａｙＰｔｎである。同図(b) は、ページカウンタ格納領域であるｐＣｎｔである。ｐＣｎｔは、１ページのデータを印刷する毎にカウントアップされる。
【０１０７】
図２３は、本変形例のプリンタの印刷処理を示すフローチャートである。同図は、第３の実施の形態に示した図１７と異なる処理のみ示している。すなわち、図１７に示した縦数と横数の入力が終了したステップＳ１７０６以降の処理を示している。尚、ページレイアウトの設定は、ステップＳ１７０４の処理において既にユーザにより設定され、ＬａｙＰａｔには設定されたレイアウトパターンが格納されている。
【０１０８】
図２３において、レイアウトパターンの設定及び縦数と横数の入力が終了すると、図２２(b) に示すｐＣｃｎｔを１にしてページカウンタを初期化し（ステップＳ２３０１）、ヘッダの印刷を行う（ステップＳ２３０２）。次にレイアウトパターンのチェックを行い（ステップＳ２３０３）、レイアウトパターン１であるときは（ステップＳ２３０３，タイプ１）、ステップＳ２３０４〜ステップＳ２３０７のレイアウトパターン１による印刷処理を行い、レイアウトパターン２であるときは（ステップＳ２３０３，タイプ２）、ステップＳ２３０８〜ステップＳ２３１１のレイアウトパターン２による印刷処理を行う。
【０１０９】
レイアウトパターン１による描画処理では、まず縦数（Ｙカウンタ）を設定し（ステップＳ２３０４）、次に横数（Ｘカウンタ）を設定し（ステップＳ２３０５）、Ｘカウンタ及びＹカウンタの値より印刷しようとするページの配置位置を算出し（ステップＳ２３１２）、この配置位置に印刷しようとするページを縮小印刷する（ステップＳ２３１３）。そしてページ数（ｐＣｎｔ）を印刷し（ステップＳ２３１４）、ｐＣｎｔをインクリメントする（ステップＳ２３１５）。以降は、これに続くページを、縦数（Ｙカウンタ）が同一値のときの横数（Ｘカウンタ）のそれぞれの位置にページを印刷していき、これが終了すると（ステップＳ２３０６）、次の縦数（Ｙカウンタ）の位置において、同様に横数（Ｘカウンタ）のそれぞれの位置にページを印刷していき、以降同様にして残りのページについても印刷する。ページレイアウト１による印刷が終了すると（ステップＳ２３０７）、フッタの印刷行った（ステップＳ２３１７）後、両面印刷状態フラグ６３が両面印刷を示すフラグであるか否かを判断し（ステップＳ２３１７）、両面印刷を示すフラグであるときには、更に裏面の印刷処理が終了したか否かを判断し（ステップＳ２３１８）、裏面の印刷処理が終了していなければ（ステップＳ２３１８，Ｎｏ）、ステップＳ２３０３の処理に戻り、裏面の印刷を行う。一方、裏面の印刷処理が終了しているときは排紙処理を行い（ステップＳ２３１９）、ステップＳ２３０２の処理に戻り、次の用紙の印刷を行う。一方ステップＳ２３１７で両面印刷を示すフラグでないときは（ステップＳ２３１７，Ｎｏ）、片面印刷は終了したので排紙処理を行い（ステップＳ２３１９）、ステップＳ２３０２の処理に戻り、次の用紙の印刷を行う。
【０１１０】
図２４は、図２３に示した印刷処理により印刷された用紙の一例を示している。尚、図２４では、縦数２、横数３、レイアウトパターン１にて、印刷された用紙を示している。同図に示すように、ページのデータの他に、ヘッダー文字列印字領域７０、ページ数７１、フッター文字列印字領域７２が印刷される。
【０１１１】
以上、本変形例によれば、ユーザの設定により、用紙片面に印刷される複数のページのデータのレイアウトを変更することができる。これにより、さらにユーザの使い勝手を向上することができる。
【０１１２】
【発明の効果】
以上詳細に説明したように、本発明によれば、両面印刷において、利用者の使い勝手を向上させる印刷結果を得ることができる。
【０１１３】
例えば、利用者が印刷結果を読む場合でも、単に複数枚の印刷物を反転させるだけでよい。
また、１枚に複数ページの印刷結果を含めることもできる。
【図面の簡単な説明】
【図１】第１の実施の形態における両面印刷可能なプリンタのシステム構成図である。
【図２】フォームオーバーレイ機能を使用するときにＰＣ２から送信される制御コマンドの一例を示す図である。
【図３】フォーム管理テーブルのデータ構成図である。
【図４】フォーム登録コマンドセットを受信したときの解析／描画部のフォーム登録処理を示すフローチャートである。
【図５】印刷情報テーブルのデータ構成図である。
【図６】両面フォームフラグが片面フォームを示すフラグであるときのフォーム発生処理を示すフローチャートである。
【図７】両面フォームフラグが両面フォームを示すフラグであるときのフォーム発生処理を示すフローチャートである。
【図８】表面被フォーム画像データ作成処理を示すフローチャートである。
【図９】裏面被フォーム画像データ作成処理を示すフローチャートである。
【図１０】第２の実施の形態におけるプリンタにより両面印刷された印刷結果の一例を模式的に示す図である。
【図１１】  (a) は、ＰＣ２が送信する印刷データのデータ構成図であり、(b) は、受信バッファに記憶される用紙データのデータ構成図である。
【図１２】第２の実施の形態におけるプリンタの印刷制御処理を示すフローチャートである。
【図１３】  (a) は、第２の実施の形態の変形例におけるＰＣ２が送信する印刷データのデータ構成図であり、(b) は、受信バッファに記憶される用紙データのデータ構成図である。
【図１４】第２の実施の形態の変形例におけるプリンタの印刷処理を示すフローチャートである。
【図１５】第３の実施の形態のプリンタにより両面印刷された印刷結果の一例を模式的に示す図である。
【図１６】ＰＣ２が送信する印刷データのデータ構成図である。
【図１７】第３の実施の形態におけるプリンタの印刷処理を示すフローチャートである。
【図１８】第３の実施の形態の変形例のプリンタにより印刷された印刷結果の一例を示す。
【図１９】第３の実施の形態の変形例のプリンタが行う印刷処理を示すフローチャートである。
【図２０】  (a) は、分割数６（縦数２×横数３）のときのレイアウトパターン１を示し、(b) は、そのレイアウトパターン２を示す図である。
【図２１】操作パネルの表示例を示す図である。
【図２２】  (a) は、内蔵メモリ上に割り当てられたレイアウトパターン格納領域であるＬａｙＰｔｎ、(b) は、ページカウンタ格納領域であるｐＣｎｔである。
【図２３】第３の実施の形態の他の変形例のプリンタの印刷処理を示すフローチャートである。
【図２４】第３の実施の形態の他の変形例のプリンタの印刷処理により印刷された用紙の一例を示している。
【図２５】従来の印刷装置により両面印刷された用紙を示す図である。
【符号の説明】
１      プリンタ
２      ＰＣ（パーソナルコンピュータ）
３      印刷結果
４      プリンタＩ／Ｆ（インターフェース）
５      操作パネル
６      Ｉ／Ｆコントローラ
７      ビデオＩ／Ｆ
８      プリンタエンジン
９      受信部
１０    受信バッファ
１１    解析／描画部
１２    印刷情報テーブル
１３    印刷制御部
１４    フォーム管理テーブル
１５    画像メモリ
１６    画像合成回路
１７    被フォーム画像データ
１８    フォーム画像データ
２０    制御コマンド
２１    コマンドコード
２２    パラメータ
２３    フォーム登録開始コマンド
２４    両面フォーム登録開始コマンド
２５    フォーム登録開始コマンド
２６    フォーム発生開始コマンド
２７    フォーム発生終了コマンド
２８    フォーム削除コマンド
３０    フォームデータ情報
３１    ”名称”
３２    両面フォームフラグ
３３    表面被フォームフラグ
３４    表面フォーム画像アドレス
３５    裏面被フォームフラグ
３６    裏面フォーム画像アドレス
４０    印刷情報
４１    給紙口
４２    排紙口
４３    解像度
４４    用紙厚
４５    両面印刷フラグ
４６    表面被フォーム画像アドレス
４７    表面フォーム画像アドレス
４８    裏面被フォーム画像アドレス
４９    裏面フォーム画像アドレス
５０    印刷データ
５１    両面印刷折り返しフラグ
５２    両面印刷状態フラグ
５３    印刷ページ数情報
５４    ページ１枚分のデータ
５５    分割数情報
５６    用紙枚数
５７    印刷ページ
６０    用紙枚数
６１    印刷ページ
６２    印刷データ
６３    両面印刷情報フラグ
６４    全ページ数情報
６５    １ページ分のデータ
７０    ヘッダー文字列印字領域
７１    ページ数
７２    フッター文字列印字領域
１００  用紙枚数
１０１  ページ数
【図１】
0004102910.tif 000002
【図２】
0004102910.tif 000003
【図３】
0004102910.tif 000004
【図４】
0004102910.tif 000005
【図５】
0004102910.tif 000006
【図６】
0004102910.tif 000007
【図７】
0004102910.tif 000008
【図８】
0004102910.tif 000009
【図９】
0004102910.tif 000010
【図１０】
0004102910.tif 000011
【図１１】
0004102910.tif 000012
【図１２】
0004102910.tif 000013
【図１３】
0004102910.tif 000014
【図１４】
0004102910.tif 000015
【図１５】
0004102910.tif 000016
【図１６】
0004102910.tif 000017
【図１７】
0004102910.tif 000018
【図１８】
0004102910.tif 000019
【図１９】
0004102910.tif 000020
【図２０】
0004102910.tif 000021
【図２１】
0004102910.tif 000022
【図２２】
0004102910.tif 000023
【図２３】
0004102910.tif 000024
【図２４】
0004102910.tif 000025
【図２５】
0004102910.tif 000026