(57)【要約】【課題】  １つの印刷ジョブの実行途中で各種の変更処理を実行できるようにする。【解決手段】  ＣＰＵ１８は、ホストＰＣ５からの１度の印刷指示によって送信される１つの印刷ジョブ中に排紙トレイ選択コマンドが含まれていた場合、その１つの印刷ジョブの印刷実行中に排紙トレイ選択コマンドによって排紙トレイを変更する処理を実行する。また、１つの印刷ジョブ中に両面印刷指定コマンド及び片面印刷指定コマンドが含まれていた場合、その１つの印刷ジョブの印刷実行中に両面印刷指定コマンドによる両面印刷から片面印刷指定コマンドによる片面印刷に、片面印刷指定コマンドによる片面印刷から両面印刷指定コマンドによる両面印刷にそれぞれ変更する処理を実行する。【選択図】        図１
2007069580.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に排紙トレイ選択コマンドが含まれていた場合、前記１つの印刷ジョブの印刷実行中に前記排紙トレイ選択コマンドによって排紙トレイを変更する手段を備えたことを特徴とする画像形成装置。
【請求項２】
ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に両面印刷指定コマンド及び片面印刷指定コマンドが含まれていた場合、前記１つの印刷ジョブの印刷実行中に前記両面印刷指定コマンドによる両面印刷から前記片面印刷指定コマンドによる片面印刷に、前記片面印刷指定コマンドによる片面印刷から前記両面印刷指定コマンドによる両面印刷にそれぞれ変更する手段を備えたことを特徴とする画像形成装置。
【請求項３】
請求項２記載の画像形成装置において、前記１つの印刷ジョブ中に両面印刷綴じ方向指定コマンドが含まれていた場合、前記１つの印刷ジョブの印刷実行中に前記両面印刷綴じ方向指定コマンドによって両面印刷の綴じ方向を変更する手段を設けたことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プリンタ、ファクシミリ、コピー、それらの複合機を含む画像形成装置に関する。
【背景技術】
【０００２】
従来、印刷ジョブ毎に複数の排紙トレイの中から予め設定された排紙トレイに印刷物を常に排出する画像形成装置（例えば、特許文献１参照）があった。
また、印刷ジョブを実行する際、全ての排紙トレーに用紙が残留していないと判別した場合に当該印刷ジョブの印刷を実行する画像形成装置（例えば、特許文献２参照）があった。
さらに、複数の排紙先トレイ毎に印刷ジョブの印刷時間を平等に割り振り、割り込み印刷を行う画像形成装置（例えば、特許文献３参照）があった。
【特許文献１】特開２００４−１５５５３６号公報
【特許文献２】特開２０００−２２６１５３号公報
【特許文献３】特開２００３−０３９７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の画像形成装置では、ホストコンピュータ（「ホストＰＣ」ともいう）から１度の印刷指示による１つの印刷ジョブを実行する時には、排紙トレイは１箇所を指定して印刷している。
また、１つの排紙トレイが満杯になった場合に他の排紙トレイに自動的に変更して印刷を続行する機能を持った画像形成装置は存在するが、このような画像形成装置でも印刷ジョブの実行中は排紙トレイを意図的に変更することはできない。
基本的にはホストＰＣ側のプリンタドライバに１つの印刷ジョブの途中で排紙トレイを変更する指示を行う手段が無いことが原因ではあるが、例えば、プリンタドライバを使用せずに、特別なシステムを組むことによって１つの印刷ジョブの途中で排紙トレイを変更する印刷データを作成することは可能となる。
【０００４】
しかし、現状では画像形成装置側にも１つのジョブの途中で排紙トレイを変更する機能は持っておらず、特別な手段によって１つの印刷ジョブの途中で排紙トレイを変更する印刷データを作成しても同機能は実現できない。
そのため、１つの印刷ジョブの途中で排紙トレイを変更して出力したい場合、変更する部分で印刷ジョブを分けて、複数回の印刷指示を行うしか方法はない。
そのような方法では、印刷指示が大変煩わしくなるし、そればかりか、ネットワークに接続されている画像形成装置の場合、分断された印刷ジョブの続きを印刷する前に他の印刷ジョブに割り込まれてしまう可能性があり、異なる印刷ジョブによって印刷された記録紙が同じ排紙トレイに混ざってしまうし、本来１つの印刷ジョブとして連続で出力したい意図が実現できなくなってしまうという問題があった。
【０００５】
また、１つの印刷ジョブの中で両面印刷したい部分と片面印刷したい部分がある場合、１つの印刷ジョブの中に両面印刷指示コマンドや片面印刷指示コマンドを複数含んだ印刷データを送ったとしても、現在の画像形成装置では画像形成装置側で１つの印刷ジョブの途中で両面印刷から片面印刷に、片面印刷から両面印刷にそれぞれ変更して出力することはできなかった。
したがって、期待する印刷結果を得るためには、複数の印刷ジョブに分割して印刷指示する必要があり、その場合、上述した１つの印刷ジョブの途中で排紙トレイを変更して出力する場合と同様な問題があった。
【０００６】
さらに、１つの印刷ジョブの中で、両面印刷の綴じ方向（上綴じ、または左綴じ）を変更したい場合、１つの印刷ジョブの中で、上綴じ指定コマンドや左綴じ指定コマンドを複数含んだ印刷データを送ったとしても、現在の画像形成装置では画像形成装置側で１つの印刷ジョブの途中で綴じ方向を変更することはできない。
したがって、上述と同様に複数の印刷ジョブに分割して印刷指示する必要があり、その場合、上述した１つの印刷ジョブの途中で排紙トレイを変更して出力する場合と同様な問題があった。
この発明は上記の点に鑑みてなされたものであり、１つの印刷ジョブの実行途中で各種の変更処理を実行できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は上記の目的を達成するため、次の画像形成装置を提供する。
（１）ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に排紙トレイ選択コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記排紙トレイ選択コマンドによって排紙トレイを変更する手段を備えた画像形成装置。
（２）ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に両面印刷指定コマンド及び片面印刷指定コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記両面印刷指定コマンドによる両面印刷から上記片面印刷指定コマンドによる片面印刷に、上記片面印刷指定コマンドによる片面印刷から上記両面印刷指定コマンドによる両面印刷にそれぞれ変更する手段を備えた画像形成装置。
（３）上記（２）の画像形成装置において、上記１つの印刷ジョブ中に両面印刷綴じ方向指定コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記両面印刷綴じ方向指定コマンドによって両面印刷の綴じ方向を変更する手段を設けた画像形成装置。
【発明の効果】
【０００８】
この発明による画像形成装置は、１つの印刷ジョブの実行途中で排紙トレイの変更、両面印刷から片面印刷への変更又は片面印刷から両面印刷への変更、両面印刷の綴じ方向の変更を含む各種の変更処理を実行することができる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔実施例〕
図１は、この発明の実施例のレーザプリンタの機能構成を示すブロック図である。
このレーザプリンタ１は、印刷データに基づく文字、画像を含む情報を記録紙に印刷する画像形成装置であり、ホストＰＣ（ホストコンピュータ）５とデータ通信可能に接続されている。
操作パネル２は、このレーザプリンタ１の状態を示す表示部及びこのレーザプリンタ１のモード、フォントを含む各種の機能を切り換えるスイッチ部とからなる。
プリンタエンジン３は、プリンタコントローラ４からのビデオデータの信号および制御コードの信号によって感光体上に静電潜像を作り、現像し、さらに給紙部から記録紙（転写紙）を給紙し、転写及び定着し、画像を形成することによって記録紙に文字や画像を含む情報を印刷する。
【００１０】
プリンタコントローラ（データ制御部）４は、その時設定されている制御モード及びホストＰＣ５からの制御コードに従って、ホストＰＣ５からの印刷ジョブの印刷データを、ビデオデータに変換してプリンタエンジン３へ出力する制御機構であり、次のようなモジュールで構成される。
ホストインタフェース（Ｉ／Ｆ）１０は、ホストＰＣ５からレーザプリンタ１への制御コードの信号、印刷データの受信と、レーザプリンタ１からホストＰＣ５へのステータス信号の送信を司るインタフェースである。
パネルインタフェース（Ｉ／Ｆ）１１は、操作パネル２とプリンタコントローラ４とのインタフェースである。
エンジンインタフェース（Ｉ／Ｆ）１２は、プリンタコントローラ４からプリンタエンジン３への制御コードの信号、ビデオデータの信号の送信と、プリンタエンジン３からプリンタコントローラ４へ送られるステータス信号の受信を司るインタフェースである。
【００１１】
プログラムＲＯＭ１３は、プリンタコントローラ４内でのデータの処理、データの管理、周辺モジュールを制御する為のプログラムが格納されているメモリである。
ＲＡＭ１４は、ＣＰＵ１８が処理する時のワークメモリ、ホストＰＣ５からの印刷データをページ単位に管理して一時記憶するバッファ、そのバッファに記憶されたデータを実際の印字パターンに変換し、ビデオデータを記憶するビットマップメモリに使われるメモリである。
フォントＲＯＭ１５は、印刷に使用されるさまざまな種類のフォントデータを記憶するメモリである。
ＮＶ−ＲＡＭ１６は、電源を切っても保持したいデータを格納しておく為の不揮発性ＲＡＭである。
オプションＲＡＭ１７は、オプションで設けられたメモリである。
【００１２】
ＣＰＵ１８は、プログラムＲＯＭ１３に記憶されたプログラムを実行することによってホストＰＣ５からのデータ（印刷データ，制御データ）に基づく印刷処理を含む各種の処理を実行する制御部である。
すなわち、ＣＰＵ１８は、ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に排紙トレイ選択コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記排紙トレイ選択コマンドによって排紙トレイを変更する手段と、ホストコンピュータからの１度の印刷指示によって送信される１つの印刷ジョブ中に両面印刷指定コマンド及び片面印刷指定コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記両面印刷指定コマンドによる両面印刷から上記片面印刷指定コマンドによる片面印刷に、上記片面印刷指定コマンドによる片面印刷から上記両面印刷指定コマンドによる両面印刷にそれぞれ変更する手段と、上記１つの印刷ジョブ中に両面印刷綴じ方向指定コマンドが含まれていた場合、上記１つの印刷ジョブの印刷実行中に上記両面印刷綴じ方向指定コマンドによって両面印刷の綴じ方向を変更する手段の機能を果たす。
【００１３】
次に、このレーザプリンタ１におけるデータ処理の概要を説明する。
このレーザプリンタ１は、ホストＩ／Ｆ１０を通してホストＰＣ５から送られてきたデータを、ＣＰＵ１８がプログラムＲＯＭ１３上のデータ解析プログラムにしたがって解析し、印刷データ及び制御コードである印刷制御データ（ＳＰ，ＣＲ，ＬＦ，ＨＴ，ＶＴを含むデータ）とその他に分ける。その印刷データと印刷制御データはＲＡＭ１４上の受信バッファに一旦記憶する。
ＣＰＵ１８は、プログラムＲＯＭ１３上の制御プログラムの実行によって、ＲＡＭ１４に一旦記憶された受信データの印刷データと印刷制御データを１つずつ取り出してその処理を行う。
【００１４】
例えば、取り出したデータが文字コードであれば、印字位置、印字サイズ、文字コード、フォント情報を備えた中間コードを作成し、ＲＡＭ１４上に設けられた中間バッファに収納する。制御コードやエスケープシーケンスを含むコマンドであった場合、それらに予め定義された処理を行う。
それは、例えば、印字位置の指定であったら、次に来た文字コードの位置を指定された位置にするとか、フォントの変更であった場合は、次に来た文字コードのフォント情報を指定されたフォントにするといった具合に処理を行う。
【００１５】
こうして、ホストＰＣ５からのプリント命令の処理を行うか、または処理を行った印刷データが１ページ分を超えたら、次に中間バッファに貯えられた中間コードを、制御プログラムにしたがってビデオデータに変換する処理を行う。
変換する処理が終了したら、プリンタコントローラ４はエンジンＩ／Ｆ１２を通してプリンタエンジン３にプリントスタートの命令を出し、それに同期してビデオデータを転送する。以上のような一連の流れで、ホストＰＣ５からの印刷データに基づく情報をプリンタエンジン３によって記録紙に印刷する。
【００１６】
次に、このレーザプリンタ１における第１の印刷処理について説明する。
この第１の印刷処理では、ホストＰＣ５からの１つの印刷ジョブの途中で排紙トレイを変更する印刷データを受信した場合に印刷ジョブの途中でも排紙トレイを変更する。
図２は、図１に示すレーザプリンタ１における第１の印刷処理を示すフローチャート図である。
この第１の印刷処理は、ＣＰＵ１８の制御により、ステップ（図中「Ｓ」で示す）１でホストＩ／ＦによってホストＰＣから印刷ジョブ開始コマンドのデータを受信し、ステップ２で印刷ジョブ開始処理を実施し、ステップ３で内部ジョブ開始処理を実施し、ステップ４で次のデータを受信し、ステップ５で予め定められた排紙トレイ選択コマンド（排紙トレイ切換コマンド）を受信したか否かを判断する。
【００１７】
ステップ５で排紙トレイ選択コマンドを受信したと判断したら、ステップ８で現在の排紙トレイＴと排紙トレイ選択コマンドによって指定された排紙トレイｔｎが異なるか否かを判断する。選択されたのかチェックを行う。つまり、現在の排紙トレイと異なった排紙トレイが選択されたのか否かをチェックする。
そのチェックは、ＲＡＭ上に設けられた変数Ｔによって行う。このＴには現在選択されている排紙トレイの値を保持しており、排紙トレイ選択コマンドのパラメータとして指定された排紙トレイｔｎと比較することによって同じ場合は排紙トレイを変更しないものと判断し、異なる場合は排紙トレイを変更するものと判断することが可能となる。
ここで現在の排紙トレイＴと排紙トレイ選択コマンドによって指定された排紙トレイｔｎが異なると判断したとき、すなわち、排紙トレイを変更すると判断した場合、ステップ８で内部ジョブ終了処理を実施し、ステップ１０で排紙処理を行っていない印刷データがあれば、変更前の排紙トレイＴへ排紙処理を実行する。
【００１８】
この時点で内部的には次のジョブとして処理は継続されることになり、ステップ１１で変数Ｔをパラメータｔｎに書き換えることによって排紙トレイの変更を実施し、ステップ１２で内部ジョブ開始処理を実施し、ステップ４へ戻って、以後は排紙トレイＴ＝ｔｎに変更して処理する。
例えば、現在の排紙トレイＴが第１排紙トレイであり、排紙トレイ選択コマンドによって指定された排紙トレイｔｎが第２排紙トレイの場合、第２排紙トレイに切り換えて変更する前の印刷データを印刷してその記録紙を第１排紙トレイへ排出した後、第２排紙トレイに切り換えて変更し、次の印刷データで印刷した記録紙を第２排紙トレイへ排出する。
【００１９】
一方、ステップ５で排紙トレイ選択コマンドの受信ではないと判断したら、ステップ６でジョブ終了コマンドの受信か否かを判断し、ジョブ終了コマンドの受信と判断したら、ステップ１３で通常のデータ処理を実施し、ステップ１４で改ページが発生したか否かを判断し、改ページが発生しなければステップ４へ戻り、改ページが発生したら、ステップ１５で排紙トレイＴへ排紙を実施し、ステップ４へ戻る。
ステップ６でジョブ終了コマンドの受信と判断したら、ステップ７で印刷ジョブ終了処理を実施して、この第１の印刷処理を終了する。
【００２０】
上述の処理において、通常の印刷ジョブ処理の流れとしては、ステップ１でホストＰＣから印刷ジョブ開始コマンドのデータを受信し、ステップ６でホストＰＣから印刷ジョブ終了コマンドのデータを受信するまでを１つの印刷ジョブとし、常識的に１つの印刷ジョブによって印刷された複数枚の記録紙は１冊に綴じるため、従来技術では印刷ジョブ単位で１箇所の排紙トレイに排紙する処理を行っている。
【００２１】
その基本的な流れを変えずに、１つの印刷ジョブの途中で排紙トレイを変更するために、ステップ５とステップ８〜１２の処理を挿入することにより、１つの印刷ジョブ中に印刷途中で排紙トレイを変更する指示をする排紙トレイ選択コマンドが含まれていた場合、その排紙トレイ選択コマンドを受信した時点で内部的に印刷ジョブを分断し、その印刷ジョブを分断までに排紙処理を行っていない印刷データを変更前の排紙トレイへ排紙処理を実施し、その後、排紙トレイを変更し、その変更後は内部的には別の印刷ジョブとして扱う印刷データの印刷を行って変更後の排紙トレイへ排出する処理を実行する。
【００２２】
このような処理により、従来の排紙処理に大きな変更なく１つの印刷ジョブの途中で排紙トレイを変更することが可能になる。
また、ステップ４の次のデータ受信処理と、ステップ５とステップ１１のデータ解析の処理は変わっておらず、ホストＰＣ５からの１つの印刷ジョブは連続して受信するため、その間に他の印刷ジョブに割り込まれることはない。さらに、ホストＰＣ５側も従来の印刷ジョブと同様に１つの印刷ジョブとして扱うことができ、印刷データの送信に複雑な処理を行わずに済む。
【００２３】
このようにして、ホストＰＣ５から送信される１つの印刷ジョブの途中で排紙トレイを何度も変更することが可能になる。また、１つの印刷指示であるため、排紙トレイを変更した時に他の印刷ジョブに割り込まれ、本来連続して排紙したい途中に他の印刷ジョブによる記録紙が排出されて混入するようなこともなくなる。
【００２４】
次に、このレーザプリンタ１における第２の印刷処理について説明する。
この第２の印刷処理では、ホストＰＣ５からの１つの印刷ジョブの途中で両面印刷と片面印刷にそれぞれ変更する印刷データを受信した場合に印刷ジョブの途中でも両面印刷から片面印刷に、片面印刷から両面印刷にそれぞれ変更する。
図３は、図１に示すレーザプリンタ１における第２の印刷処理を示すフローチャート図である。
この第２の印刷処理は、ＣＰＵ１８の制御により、ステップ（図中「Ｓ」で示す）２１でホストＩ／ＦによってホストＰＣから印刷ジョブ開始コマンドのデータを受信し、ステップ２２で印刷ジョブ開始処理を実施し、ステップ２３で内部ジョブ開始処理を実施し、ステップ２４で次のデータを受信し、ステップ２５で予め定められた両面印刷指定コマンドを受信したか否かを判断する。
【００２５】
ステップ２５で両面印刷指定コマンドを受信したと判断したら、ステップ２９で現在両面印刷実施中であるか否かを判断する。そのチェックはＲＡＭ上に設けられた変数Ｍによって行う。このＭには現在両面印刷中であるか、片面印刷中であるかを示す値、例えば、両面印刷中はＤ、片面印刷中はＳを保持しており、この値をチェックすることによって現在両面印刷実施中であるか否かの判断が可能となる。
ステップ２９でＭ＝Ｄではなく、現在両面印刷中ではないと判断し、片面印刷から両面印刷へ切り換える場合は、ステップ３０で内部ジョブ終了処理を実施し、ステップ３１で未出力の印刷データがあった場合、片面印刷で同印刷データの印刷排紙処理を実施する。この時点で内部的には次のジョブとして処理は継続されることになり、ステップ３２で変数Ｍを両面印刷中を示すＤに書き換えることによって両面印刷への変更を実施し、ステップ３３で内部ジョブ開始処理を実施し、ステップ２４へ戻る。
【００２６】
ステップ２５で両面印刷指定コマンドの受信ではないと判断すると、ステップ２６で予め定められた片面印刷指定コマンドを受信したか否かを判断する。
ステップ２６で片面印刷指定コマンドを受信したと判断したら、ステップ３４で現在片面印刷実施中であるか否かを判断する。
ステップ３４でＭ＝Ｓではなく、現在片面印刷中ではないと判断し、両面印刷から片面印刷へ切り換える場合は、ステップ３５で内部ジョブ終了処理を実施し、ステップ３６で未出力の印刷データがあった場合、両面印刷で同印刷データの印刷排紙処理を実施する。この時点で内部的には次のジョブとして処理は継続されることになり、ステップ３７で変数Ｍを片面印刷中を示すＳに書き換えることによって片面印刷への変更を実施し、ステップ３８で内部ジョブ開始処理を実施し、ステップ２４へ戻る。
こうして、１つの印刷ジョブ中で両面印刷から片面印刷へ、あるいは片面印刷から両面印刷への切り換えを行うことができる。
【００２７】
一方、ステップ２６で片面印刷指定コマンドではないと判断したら、ステップ２７でジョブ終了コマンドの受信か否かを判断し、ジョブ終了コマンドの受信と判断したら、ステップ３９で通常のデータ処理を実施し、ステップ４０で改ページが発生したか否かを判断し、改ページが発生しなければステップ２４へ戻り、改ページが発生したら、ステップ４１で現在両面印刷中か否かを判断し、両面印刷中ならステップ４２で両面印刷による排紙を実行し、両面印刷中でなければ、ステップ４３で片面印刷による排紙を実行し、それぞれステップ２４へ戻る。
ステップ２７で印刷ジョブ終了コマンドの受信と判断したら、ステップ２８で印刷ジョブ終了処理を実施して、この第２の印刷処理を終了する。
【００２８】
上述の処理において、通常の印刷ジョブ処理の流れとしては、ステップ２１でホストＰＣから印刷ジョブ開始コマンドのデータを受信し、ステップ２７でホストＰＣから印刷ジョブ終了コマンドのデータを受信するまでを１つの印刷ジョブとし、常識的に１つの印刷ジョブを通して両面印刷あるいは片面印刷の一方を行うため、従来技術では印刷ジョブ単位でそのどちらかに決めて印刷処理を行っている。
【００２９】
その基本的な流れを変えずに、１つの印刷ジョブの途中で両面印刷と片面印刷にそれぞれ変更する処理を実行するために、ステップ２５，２６とステップ２９〜３８の処理を挿入することにより、１つの印刷ジョブ中に両面印刷指定コマンド又は片面印刷指定コマンドが含まれていた場合、両面印刷指定コマンドによる両面印刷中に片面印刷指定コマンドを受信した時点で内部的に印刷ジョブを分断し、片面印刷に変更して片面印刷を実施し、あるいは片面印刷指定コマンドによる片面印刷中に両面印刷指定コマンドを受信した時点で内部的に印刷ジョブを分断し、両面印刷に変更して両面印刷を実施する。
このような処理により、従来の両面印刷処理に大きな変更を加えることなく途中で片面印刷処理に変更したり、従来の片面印刷処理に大きな変更を加えることなく途中で両面印刷処理に変更したりすることが可能となる。
【００３０】
また、ステップ２４の次のデータ受信処理と、ステップ２５とステップ２６とステップ２７のデータ解析の処理は変わっておらず、ホストＰＣ５からの１つの印刷ジョブは連続して受信するため、その間に他の印刷ジョブに割り込まれることはない。さらに、ホストＰＣ５側も従来の印刷ジョブと同様に１つの印刷ジョブとして扱うことができ、印刷データの送信に複雑な処理を行わずに済む。
【００３１】
このようにして、ホストＰＣ５から送信される１つの印刷ジョブの途中で両面印刷から片面印刷に、片面印刷から両面印刷にそれぞれ何度も変更することが可能になり、従って１つの印刷指示のうち必要な部分だけ両面印刷を行うことが可能になる。また、１つの印刷指示であるため、両面印刷と片面印刷が切り換わったときに他の印刷ジョブに割り込まれ、本来連続して印刷したいのに途中で他の印刷ジョブによる記録紙が混入するようなこともなくなる。
【００３２】
次に、このレーザプリンタ１における第３の印刷処理について説明する。
この第３の印刷処理は、ホストＰＣ５からの１つの印刷ジョブの途中で両面綴じ方向を変更する印刷データを受信した場合に印刷ジョブの途中でも両面の綴じ方向を変更する。
両面印刷綴じ方向とは、両面印刷を行った時に表面の上側をホチキスで綴じた場合、つまり上側にめくった時に裏面が正常な向きになるように描画される上綴じや、左側をホチキスで綴じた場合、つまり左側にめくった時に裏面が正常な向きになるように描画される左綴じと呼ばれる方法、さらに右綴じもある。綴じ位置に関わるので、やはり従来技術では１つの印刷ジョブで１度の指示として常識的に扱われている。
【００３３】
この両面印刷綴じ方向の変更は、両面印刷の機能の一部なので、図３に示した第２の印刷処理に追加することができる。
図４は、図１に示すレーザプリンタ１における第２の印刷処理に第３の印刷処理を加えた処理を示すフローチャート図である。
この印刷処理は、ＣＰＵ１８の制御により、ステップ（図中「Ｓ」で示す）５１でホストＩ／ＦによってホストＰＣから印刷ジョブ開始コマンドのデータを受信し、ステップ５２で印刷ジョブ開始処理を実施し、ステップ５３で内部ジョブ開始処理を実施し、ステップ５４で次のデータを受信し、ステップ５５で予め定められた両面印刷指定コマンドを受信したか否かを判断する。
【００３４】
ステップ５５で両面印刷指定コマンドを受信したと判断したら、ステップ５９で現在両面印刷実施中であるか否かを判断する。そのチェックはＲＡＭ上に設けられた変数Ｍによって行う。このＭには現在両面印刷中であるか、片面印刷中であるかを示す値、例えば、両面印刷中はＤ、片面印刷中はＳを保持しており、この値をチェックすることによって現在両面印刷実施中であるか否かの判断が可能となる。
ステップ５９でＭ＝Ｄではなく、現在両面印刷中ではないと判断し、片面印刷から両面印刷へ切り換える場合は、ステップ６０で内部ジョブ終了処理を実施し、ステップ６１で未出力の印刷データがあった場合、片面印刷で同印刷データの印刷排紙処理を実施する。この時点で内部的には次のジョブとして処理は継続されることになり、ステップ６２で変数Ｍを両面印刷中を示すＤに書き換えることによって両面印刷への変更を実施し、ステップ６３で内部ジョブ開始処理を実施し、ステップ５４へ戻る。
【００３５】
ステップ５５で両面印刷指定コマンドの受信ではないと判断すると、ステップ５６で予め定められた片面印刷指定コマンドを受信したか否かを判断する。
ステップ５６で片面印刷指定コマンドを受信したと判断したら、ステップ６４で現在片面印刷実施中であるか否かを判断する。
ステップ６４でＭ＝Ｓではなく、現在片面印刷中ではないと判断し、両面印刷から片面印刷へ切り換える場合は、ステップ６５で内部ジョブ終了処理を実施し、ステップ６６で未出力の印刷データがあった場合、両面印刷で同印刷データの印刷排紙処理を実施する。この時点で内部的には次のジョブとして処理は継続されることになり、ステップ６７で変数Ｍを片面印刷中を示すＳに書き換えることによって片面印刷への変更を実施し、ステップ６８で内部ジョブ開始処理を実施し、ステップ５４へ戻る。
こうして、１つの印刷ジョブ中で両面印刷から片面印刷へ、あるいは片面印刷から両面印刷への切り換えを行うことができる。
【００３６】
一方、ステップ５６で片面印刷指定コマンドではないと判断したら、ステップ５７で印刷ジョブ終了コマンドの受信か否かを判断し、印刷ジョブ終了コマンドの受信でなければ、ステップ６９で予め定められた両面印刷綴じ方向指定コマンドの受信か否かを判断する。
ステップ６９で両面印刷綴じ方向指定コマンドの受信と判断したら、ステップ７０で現在の両面印刷綴じ方向から変更があるか否かをチェックする。そのチェックはＲＡＭ上に設けられた変数Ｂによって行う。
このＢには現在の両面印刷綴じ方向を示す値、例えば、上綴じ時はｕ、左綴じ時はｌを保持しており、両面印刷綴じ方向指定コマンドのパラメータとして受信したｂｎの値と比較することによって両面印刷綴じ方向の変更が発生したか否かのチェックが可能である。
【００３７】
ステップ７０で現在の両面印刷綴じ方向を示す値Ｂと両面印刷綴じ方向指定コマンドの両面印刷綴じ方向を示すパラメータｂｎとが異なるか否かを判断し、同じならばステップ５４へ戻る。
両面印刷綴じ方向が変更になっても両面印刷実行中でなければ、内部ジョブを終了させる必要はないので、ステップ７１で現在両面印刷中か否かを判断し、両面印刷中でなければそのままステップ７５へ進み、両面印刷中なら、ステップ７２で内部ジョブ終了処理を実施し、ステップ７３で両面印刷綴じ方向が変更される前の未出力の印刷データがあった場合は全て変更前の両面印刷綴じ方向で出力を実行し、変更前の両面印刷綴じ方向Ｂで排紙を実施し、ステップ７４で内部ジョブ開始処理を実施し、ステップ７５で変更前の印刷綴じ方向の変数Ｂの値をパラメータｂｎに書き換えて両面印刷綴じ方向の変更を実施し、ステップ７７へ進む。
【００３８】
上述のように両面印刷実行中でなかった場合も変数Ｂを書き換えておくことにより、次に両面印刷が開始された時にはその変更された綴じ方向で両面印刷が実行される。両面印刷綴じ方向の変更は公知の技術を用いるとよい。
ステップ６９で両面印刷綴じ方向指定コマンドの受信ではないと判断したら、ステップ７６で通常のデータ処理を実施してステップ７７へ進む。
ステップ７７で改ページが発生したか否かを判断し、改ページが発生しなければステップ５４へ戻り、改ページが発生したら、ステップ７８で現在両面印刷中か否かを判断し、両面印刷中ならステップ７９で両面印刷による排紙を実行し、両面印刷中でなければ、ステップ８０で片面印刷による排紙を実行し、それぞれステップ５４へ戻る。
ステップ５７で印刷ジョブ終了コマンドの受信と判断したら、ステップ５８で印刷ジョブ終了処理を実施して、この印刷処理を終了する。
【００３９】
このようにして、ホストＰＣ５から送信される１つの印刷ジョブの途中で両面印刷の綴じ方向を何度でも変更することが可能になる。また、１つの印刷指示であるため、綴じ方向を変更した時に他の印刷ジョブに割り込まれ、本来連続して出力したい文書の途中に他の印刷ジョブが割り込んでしまうようなこともなくなる。
【産業上の利用可能性】
【００４０】
この発明による画像形成装置は、ファクシミリ、コピー、それらの複合機においても適用することができる。
【図面の簡単な説明】
【００４１】
【図１】この発明の実施例のレーザプリンタの機能構成を示すブロック図である。
【図２】図１に示すレーザプリンタ１における第１の印刷処理を示すフローチャート図である。
【図３】図１に示すレーザプリンタ１における第２の印刷処理を示すフローチャート図である。
【図４】図１に示すレーザプリンタ１における第２の印刷処理に第３の印刷処理を加えた処理を示すフローチャート図である。
【符号の説明】
【００４２】
１：レーザプリンタ    ２：操作パネル    ３：プリンタエンジン    ４：プリンタコントローラ    ５：ホストＰＣ    １０：ホストＩ／Ｆ    １１：パネルＩ／Ｆ    １２：エンジンＩ／Ｆ    １３：プログラムＲＯＭ    １４：ＲＡＭ    １５：フォントＲＯＭ    １６：ＮＶ−ＲＡＭ    １７：オプションＲＡＭ    １８：ＣＰＵ
【図１】
2007069580.tif 000003
【図２】
2007069580.tif 000004
【図３】
2007069580.tif 000005
【図４】
2007069580.tif 000006