(57)【要約】【課題】画像を形成するための記録媒体、トナー等の記録材が無駄に浪費されてしまうことを防止する。【解決手段】ページ数情報が付加された印刷データを、複数の種類のエミュレーションからいずれのエミュレーションを用いて解釈すればよいかを判定し、その判定に応じて印刷データをページ毎にエミュレーション処理し、その処理した印刷データをページ毎に印刷データをページ毎に画像形成するエンジンへ出力し、そのエンジンへ出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいか否かを判断し、前記出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいと判断すると、画像形成の中止を前記エンジンに指示する。【選択図】図６
2006076284.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からページ数情報が付加された印刷データを受信する受信部と、
前記受信した印刷データを、複数の種類のエミュレーションからいずれのエミュレーションを用いて解釈すればよいかを判定する判定部と、
印刷データをページ毎に画像形成するエンジンと、
前記判定部の判定に応じてエミュレーション処理した印刷データをページ毎に前記エンジンへ出力する出力部と、
前記出力部で出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいか否かを判断する判断部と、
前記出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいと前記判断部が判断したときに、画像形成の中止を前記エンジンに指示する中止指示部とを具備することを特徴とする画像形成装置。
【請求項２】
前記ページ数情報は、前記印刷データの最後に付加されていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記出力した印刷データのページ数をカウントするカウンタをさらに具備することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記カウンタは、前記エミュレーション処理によりページ毎のデータを解釈するときに、カウントすることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
画像形成装置の画像の形成を制御する方法において、
ページ数情報が付加された印刷データを、複数の種類のエミュレーションからいずれのエミュレーションを用いて解釈すればよいかを判定し、その判定に応じて印刷データをページ毎にエミュレーション処理し、その処理した印刷データをページ毎に印刷データをページ毎に画像形成するエンジンへ出力し、そのエンジンへ出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいか否かを判断し、前記出力した印刷データのページ数が、前記ページ数情報が示すページ数より大きいと判断すると、画像形成の中止を前記エンジンに指示することを特徴とする画像の形成を制御する方法。
【請求項６】
前記ページ数情報は、前記印刷データの最後に付加されていることを特徴とする請求項５に記載の画像の形成を制御する方法。
【請求項７】
前記出力した印刷データのページ数をカウントすることをさらに具備することを特徴とする請求項５に記載の画像の形成を制御する方法。
【請求項８】
前記カウントは、前記エミュレーション処理によりページ毎のデータを解釈するときに行うことを特徴とする請求項７に記載の画像の形成を制御する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレーション処理を行い、その処理した結果に基づいてページ毎に画像を形成する画像形成装置に関する。
【背景技術】
【０００２】
印刷装置等の画像形成装置は、搭載している複数のエミュレーションを用いても解釈できない印刷ジョブを受信したときに、通常、プレーンテキストで記述された印刷データを受信したものと判断する。そして、前記装置は、受信した印刷データをすべてプレーンテキストとして印刷出力してしまう。これでは、印刷用紙、トナー等の記録材が無駄となる。このような状態となるのを回避するために、次のような技術が知られている。
【０００３】
印刷装置が受信した印刷データのエミュレーションが、印刷装置に搭載されているエミュレーションで解釈できるか否かの判断と、そのエミュレーションの選択とを、ページ単位や時間単位等の所定単位で行うものが記載されている。従来の印刷開始時にのみ判断を行っていた場合と比較すると、所定単位で判断及び選択を行うことにより、印刷装置は、印刷用紙等の無駄を省き、かつ、印刷データを可能な限り正常に印刷することを可能としている（例えば、特許文献１参照）。
【特許文献１】特開平９−１８８０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術は、画像形成装置が搭載しているエミュレーションのうちでのエミュレーションの選択誤りをできるだけ回避しようとするものである。これでは、例えば、画像形成装置が搭載していないページ記述言語により記述された印刷データを受信した場合には、従来どおり、ユーザが意図しない画像が形成され、印刷用紙等の記録媒体、トナー等の記録材を浪費してしまう。
【０００５】
本発明は上記事情に鑑みてなされたものであって、その目的は、印刷データのエミュレーションと異なるエミュレーションで印刷データを解釈した結果、ユーザが意図しない画像が形成されてしまうことにより、画像を形成するための記録媒体、トナー等の記録材が無駄に浪費されてしまうことを防止できる画像形成装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、外部装置からページ数情報が付加された印刷データを受信する受信部と、受信した印刷データを、複数の種類のエミュレーションからいずれのエミュレーションを用いて解釈すればよいかを判定する判定部と、印刷データをページ毎に画像形成するエンジンと、判定部の判定に応じてエミュレーション処理した印刷データをページ毎にエンジンへ出力する出力部と、出力部で出力した印刷データのページ数が、ページ数情報が示すページ数より大きいか否かを判断する判断部と、出力した印刷データのページ数が、ページ数情報が示すページ数より大きいと判断部が判断したときに、印刷データの印刷の中止をエンジンに指示する中止指示部とを具備する画像形成装置である。
【発明の効果】
【０００７】
本発明によると、印刷データのエミュレーションと異なるエミュレーションで印刷データを解釈した結果、ユーザが意図しない画像が形成されてしまうことにより、画像を形成するための記録媒体、トナー等の記録材が無駄に浪費されてしまうことを防止できる画像形成装置を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施の形態について図面を参照して説明する。  
図１は、印刷データの流れを示す図である。印刷クライアントであるパーソナル・コンピュータ（ＰＣ）１と印刷装置２とは、図示は省略するが、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）で通信可能に接続されている。ＰＣ１は、プリンタドライバ１１を具備している。印刷装置２は、例えば、電子写真プロセスにより画像を形成する画像形成装置であり、主としてプリンタ・コントローラ２１とエンジン２２とに分けられる。
【０００９】
プリンタドライバ１１は、ＰＣ１のアプリケーション上に表示される画像や文書の指定された印刷範囲のページのデータを、プリンタ・コントローラ２１が解釈可能なデータへ変換する処理を行う。このように変換処理されたデータは、印刷データとして、プリンタ・コントローラ２１へ送信される。
【００１０】
プリンタ・コントローラ２１は、複数の種類のエミュレーションに応じたインタプリタを搭載している。プリンタ・コントローラ２１は、プリンタドライバ１１から印刷データを受信すると、印刷データを複数の種類のエミュレーションからいずれのエミュレーションを用いて解釈すればよいかを判定する。そして、プリンタ・コントローラ２１は、判定された結果に応じたインタプリタを用いて印刷データを解釈する。プリンタ・コントローラ２１は、その解釈した印刷データを、エンジン２２が印刷可能なデータへ変換処理し、ページ毎にエンジン２２へ出力する。
【００１１】
エンジン２２は、プリンタ・コントローラ２１から出力されたデータに基づいて、ページ毎に印刷を行う。
【００１２】
図２は、プリンタ・コントローラ２１が解釈可能なデータへ変換処理を行うときに、プリンタドライバ１１が実行する処理を示すフローチャートである。
【００１３】
プリンタドライバ１１は、先ず変数ｎを１に設定し、変数Ｎを０に設定する（ＳＴ１０１）。変数ｎは、印刷データのページ数をカウントするために用いるものである。変数Ｎは印刷データの総ページ数を示すために用いる、ページ数情報である。
【００１４】
プリンタドライバ１１は、指示されたエミュレーションに基づいて、ｎページ目の文書や画像のデータを変換処理することにより印刷データを作成し（ＳＴ１０２）、その印刷データを、ＰＣ１のＨＤＤ（図示しない。）にスプールする（ＳＴ１０３）。そして、プリンタドライバ１１は、指示された印刷範囲に基づいて、次のページがあるか否かを判断する（ＳＴ１０４）。次のページがあると判断すると、変数ｎに１を加算し（ＳＴ１０５）、ｎページ目の印刷データを作成するステップＳＴ１０２の処理へ戻る。これらの処理を行うことにより、指定された印刷範囲の全てのページが指示されたエミュレーションに基づいて印刷データとして作成され、前記ＨＤＤにスプールされる。また、ステップＳＴ１０５において、指定された印刷範囲の各ページの印刷データを作成するごとに、ページ数が変数ｎにカウントされる。なお、前記ＨＤＤに順次スプールされるページ毎のデータは、図３に示すように、順次、印刷装置２のプリンタ・コントローラ２１へ出力される。
【００１５】
一方、プリンタドライバ１１は、ステップＳＴ１０４において、指示された印刷範囲に基づいて、次のページがないと判断した場合には、ページ数情報Ｎをｎとする。すなわち、プリンタドライバ１１は、変数ｎが示すカウントしたページ数を、ページ数情報Ｎとして設定する（ＳＴ１０６）。続いて、プリンタドライバ１１は、ページ数情報Ｎを、前記ＨＤＤにスプールしている印刷データの最終ページのデータの次のデータとして付加する（ＳＴ１０７）。したがって図４に示すように、前記ＨＤＤにスプールされた印刷データの最終ページのデータ（例えば、ｎページのデータ）の次に、ページ数情報Ｎがプリンタ・コントローラ２１に送信される。このようにしてページ数情報Ｎを付加した印刷データをプリンタ・コントローラ２１に送信すると、プリンタドライバ１１の処理は終了する。
【００１６】
図５は、上述の処理によりプリンタドライバ１１からプリンタ・コントローラ２１に送信されるページ数情報Ｎを付加した印刷データを概念的に示す図である。例えば、印刷範囲として１からｎページが指定されていると、先頭である１ページ目、…、最終ページであるｎページ目までの各ページのデータが画像データとなる。そして、その画像データの末尾にページ数情報Ｎが付加される。
【００１７】
図６は、このようなページ数情報Ｎを付加した印刷データを受信したときに、プリンタ・コントローラ２１が実行する処理を示すフローチャートである。
【００１８】
プリンタ・コントローラ２１は、ページ数情報Ｎを付加した印刷データを受信すると、その受信した印刷データのエミュレーションが何であるか、すなわち、受信した印刷データがどのページ記述言語で記述されているかを判定する。通常、受信した印刷データのエミュレーションは、搭載されている複数の種類のエミュレーションのいずれかであると判定される（ＳＴ２０１）。
【００１９】
そして、プリンタ・コントローラ２１は、変数ｎを１に設定する（ＳＴ２０２）。この変数ｎはエンジン２２に出力した印刷データのページ数をカウントするために用いるものである。
【００２０】
プリンタ・コントローラ２１はｎページ目の印刷データを受信すると（ＳＴ２０３）、ｎページ目の印刷データを判定したエミュレーションに応じたインタプリタを用いて解釈する（ＳＴ２０４）。そして、プリンタ・コントローラ２１は、その解釈されたｎページ目のデータをエンジン２２が印刷可能なデータに変換処理した後、エンジン２２へ出力する（ＳＴ２０５）。そして、プリンタ・コントローラ２１は、受信した印刷データに次のページがあるか否かを判断する（ＳＴ２０６）。次のページがあると判断すると、プリンタ・コントローラ２１は、変数ｎに１を加算し（ＳＴ２０７）、ｎページ目の印刷データを受信するステップＳＴ２０３の処理へ戻る。これらの処理を行うことにより、印刷データの全てのページのデータが順次変換処理されてエンジン２２に出力される。また、各ページの印刷データをエンジン２２に出力するごとにページ数が変数ｎにカウントされる。
【００２１】
一方、プリンタ・コントローラ２１は、ステップＳＴ２０６において、印刷データに次のページがないと判断した場合には、印刷データの末尾に付加されたページ数情報Ｎを受信する（ＳＴ２０８）。すると、プリンタ・コントローラ２１は、エンジン２２に出力した印刷データのページ数をカウントした変数ｎが、ページ数情報Ｎが示すページ数より大きいか否かを判断する（ＳＴ２０９）。このように、カウントした変数ｎとページ数情報Ｎとを比較するのは、次の理由による。
【００２２】
ステップＳＴ２０１で判定されたエミュレーションが正しく、適切なエミュレーションにより印刷データが解釈されていれば、カウントした変数ｎとページ数情報Ｎとは等しくなるはずである。しかしながら、プリンタ・コントローラ２１に搭載されていないエミュレーションの印刷データを受信した場合、通常、変数ｎのほうが、本来正しいページ数を示すページ数情報Ｎより大きくなる。これは、異なるエミュレーションだとプレーンテキストとして解釈されてしまうため、解釈された結果の画像として出力されるべきページ記述言語がそのまま出力されてしまうから、又は、不正に印刷データを解釈した結果、特定のコードが意図しない改ページコードとして解釈されてしまう等の理由による。
【００２３】
したがって、ステップＳＴ２０９の判断でＮＯのときは、選択されたエミュレーションが正しい場合であるため、プリンタ・コントローラ２１は処理を終了する。また、ステップＳＴ２０９の判断でＹＥＳのときは、プリンタ・コントローラ２１に搭載されていないエミュレーションの印刷データを解釈した場合か、不正に印刷データを解釈した場合等である。このため、プリンタ・コントローラ２１は、印刷中止を指示するか否かを判断する。すなわち、プリンタ・コントローラ２１は、既にエンジン２２に出力した印刷データで、未だエンジン２２において印刷がされていないページの印刷を、即時中止するか否かを判断する（ＳＴ２１０）。例えば、印刷装置２の図示しないコントロールパネルから中止の指示を受付けた場合に、プリンタ・コントローラ２１は、エンジン２２に中止を指示するようにする。また、エンジン２２で印刷していないページがある場合に（例えば、後述する変数ｍと、前記変数ｎとを比較することにより判断が可能である。）、プリンタ・コントローラ２１は、直ちにエンジン２２に中止を指示するようにしても良い。
【００２４】
ステップＳＴ２１０の判断でＮＯのときは、プリンタ・コントローラ２１は処理を終了する。また、ステップＳＴ２０１の判断でＹＥＳのときは、プリンタ・コントローラ２１は、印刷の中止を指示するコマンドをエンジン２２に出力し（ＳＴ２１１）、処理を終了する。
【００２５】
図７は、プリンタ・コントローラ２１から印刷可能な形式のデータを受信したときに、エンジン２２が実行する処理を示すフローチャートである。
【００２６】
エンジン２２は、待機状態において、変数ｍを０に設定している（ＳＴ３０１）。そして、エンジン２２は、前述したステップＳＴ２０５によりプリンタ・コントローラ２１から出力されたデータを受信したか否かを判断する（ＳＴ３０２）。この判断でＮＯならエンジン２２は処理を終了する。前記判断でＹＥＳなら、エンジン２２は、前述したステップＳＴ２１１によりプリンタ・コントローラ２１から出力された印刷中止の指示を受信したか否かを判断する（ＳＴ３０３）。この判断でＮＯなら、エンジン２２は、変数ｍに１を加算し（ＳＴ３０４）、ｍページ目のデータを印刷する（ＳＴ３０５）。そして、処理は、ステップＳＴ３０２へ戻る。これらの処理により、エンジン２２は、プリンタ・コントローラ２１から順次出力されたデータをページ毎に印刷していく。一方、ステップＳＴ３０３の処理でＹＥＳと判断した場合には、エンジン２２は、印刷を直ちに中止し（ＳＴ３０６）、処理を終了する。
【００２７】
次に、上述のように構成されたＰＣ１，印刷装置２において、ＰＣ１画面に表示される画像や文書等のデータを、印刷装置２を用いて印刷するときに、プリンタドライバ１１で作成された印刷データのエミュレーションが、プリンタ・コントローラ２１に搭載されていないものであった場合の作用について説明する。
【００２８】
プリンタドライバ１１は、例えば、図８に示すように、ＰＣ１の画面に画像及び文書が表示されていると、この画像及び文書に対応するデータを、ユーザの指示に基づいて、図９に示すようなページ記述言語で記述した印刷データに変換する処理を行う。このときに、ユーザが設定ミス等を起こすにより、印刷装置２に搭載していないエミュレーション処理を行うようにプリンタドライバ１１に指示がされる。この指示に基づいて、プリンタドライバ１１は処理を行い、指定された範囲のページ数情報を付加した印刷データをプリンタ・コントローラ２１へ送信する。
【００２９】
プリンタ・コントローラ２１は、受信した印刷データを、搭載しているエミュレーションを用いて解釈することができないため、プレーンテキストとして処理し、各ページのデータを順次エンジン２２に出力する。
【００３０】
エンジン２２は、ページごとのデータを受け取ると、そのデータに基づいて順次、印刷を行う。このとき、プレーンテキストとなっているため膨大なページ数のデータがエンジン２２に出力される。通常、エンジン２２が受け取ったページごとのデータに基づいて、各ページの印刷を行う時間よりも、プリンタ・コントローラ２１によるデータの処理を行う時間のほうが短い。したがって、プリンタ・コントローラ２１に搭載されていないエミュレーションが選択されてしまった場合には、エンジン２２がデータに基づく印刷を実行している途中に、プリンタ・コントローラ２１は、印刷中止の指示をエンジン２２に出力することができる。この印刷中止の指示を受け取るとエンジン２２は、印刷を中止する。
【００３１】
したがって、印刷装置２は、印刷データのエミュレーションと異なるエミュレーションで前記印刷データを解釈した結果、ユーザが意図しない画像が形成されてしまうことにより、画像を形成するための記録媒体、トナー等の記録材が無駄に浪費されてしまうことを防止できる。
【００３２】
また、ページ数情報Ｎを印刷データの末尾に付加するように構成している。このため、プリンタ・コントローラ２１は、処理を終えたページからデータを順次エンジン２２へ出力することができる。したがって、ページ数情報Ｎを付加するように構成しても、印刷装置２が印刷に要する時間が従来と比べて長くなることはない。
【００３３】
なお、本発明は、上述した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できるものである。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態における印刷データの流れを示す図。
【図２】同実施の形態におけるプリンタドライバの実行する処理を示すフローチャート。
【図３】同実施の形態におけるスプールされた印刷データを送信するときの、印刷データの最初の部分を示す概念図。
【図４】同実施の形態におけるスプールされた印刷データを送信するときの、印刷データの最後の部分及びページ数情報を示す概念図。
【図５】同実施の形態におけるページ数情報を付加した印刷データ全体を示す概念図。
【図６】同実施の形態におけるプリンタ・コントローラの実行する処理を示すフローチャート。
【図７】同実施の形態におけるエンジンの実行する処理を示すフローチャート。
【図８】同実施の形態におけるＰＣに表示される印刷するデータの画像を示す図。
【図９】同実施の形態における印刷データの構造を概略的に示す図。
【符号の説明】
【００３５】
１…パーソナル・コンピュータ，２…印刷装置，１１…プリンタドライバ，２１…プリンタ・コントローラ，２２…エンジン，Ｎ…ページ数情報
【図１】
2006076284.tif 000003
【図２】
2006076284.tif 000004
【図３】
2006076284.tif 000005
【図４】
2006076284.tif 000006
【図５】
2006076284.tif 000007
【図６】
2006076284.tif 000008
【図７】
2006076284.tif 000009
【図８】
2006076284.tif 000010
【図９】
2006076284.tif 000011