(57)【要約】【課題】仕様の異なる印刷コマンドを入力した場合にも、効率的な印刷処理を実行可能なプリンタを提供することを目的とする。【解決手段】プリンタ２の印刷コントロール部２２は、印刷処理可能な印刷コマンドを印刷コマンドテーブル４１として記憶している。ＰＣ１から受信した印刷データのコマンドに含まれる印刷コマンドが印刷コマンドテーブル４１に登録されている場合（ステップＳ５でＹＥＳ）、レンダリングする（ステップＳ６）。テーブル４１に登録されていない印刷コマンドを入力した場合には、未対応コマンドとして未対応コマンドテーブル４２に登録し、レンダリングは行わない。このような処理を１ページ分繰り返し（ステップＳ１０）、１ページ分の処理が終了すると印刷処理を行う（ステップＳ１１）。【選択図】図２
2008026930.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを入力する手段と、
印刷コマンドテーブルを記憶する手段と、
前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを除いて、前記印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する印刷制御手段と、
を備えることを特徴とするプリンタ。
【請求項２】
請求項１に記載のプリンタにおいて、
前記印刷制御手段は、
前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する手段、
を含むことを特徴とするプリンタ。
【請求項３】
請求項１または請求項２に記載のプリンタにおいて、
前記印刷コマンドテーブルには、前記プリンタに対応した印刷ドライバにより生成される印刷コマンドが登録されていることを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに関し、詳しくは、非対応のコマンドを入力した場合の印刷制御技術に関する。
【背景技術】
【０００２】
パソコンなどのクライアント端末は、プリンタに対して印刷データを出力することで、プリンタに印刷処理を実行させることができる。そして、この印刷処理を実行させるためには、そのプリンタに対応したプリンタドライバがパソコンにインストールされている必要がある。
【０００３】
パソコンにおいて作成された文書データなどは、プリンタドライバによって印刷データに変換され、その印刷データがプリンタに出力される。プリンタは、正規のプリンタドライバで作成された印刷データを受け取ると、その印刷データに含まれる印刷コマンドを１つずつ処理して印刷処理を実行する。
【０００４】
【特許文献１】特許第３２５０３３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、プリンタは、正規のプリンタドライバから出力された印刷データを入力することで、印刷処理を正常に実行することができる。これに対して、異なる仕様のプリンタドライバで変換された印刷データを入力した場合、プリンタは印刷処理を実行することができない。
【０００６】
たとえば、パソコンにＡ社製のプリンタに対応したプリンタドライバがインストールされており、このプリンタドライバを利用して印刷データを作成し、Ｂ社製のプリンタに印刷出力したとする。この場合、Ｂ社製のプリンタは非対応の印刷コマンドを検出するため、印刷処理を実行することができない。たとえば、印刷エラーなどのエラーメッセージを印刷出力するなどしていた。
【０００７】
このように、仕様の異なる印刷コマンドを入力した場合、従来のプリンタは、印刷処理を実行することができなかった。印刷データの仕様は、各社で異なるものの共通的仕様部分も多い。しかし、従来のプリンタでは、異なる印刷コマンドが含まれることで印刷処理が全く実行されないようになっていた。
【０００８】
上記特許文献１は、複数のプリンタのエミュレーション機能を備えたプリンタに関するものである。このプリンタは、複数のプリンタのコマンドを処理可能となっており、入力した印刷データから対応するエミュレーションパターンを決定し、それぞれの印刷データに応じた印刷処理を実行するようにしている。この方法で、様々なプリンタドライバから出力された印刷データに対応するようにしているが、プリンタに多数のドライバに対応した機能を持たせる必要がある。
【０００９】
そこで、本発明は前記問題点に鑑み、仕様の異なる印刷コマンドを入力した場合にも、効率的な印刷処理を実行可能なプリンタを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、請求項１記載の発明は、印刷データを入力する手段と、印刷コマンドテーブルを記憶する手段と、前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを除いて、前記印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する印刷制御手段と、を備えることを特徴とする。
【００１１】
請求項２記載の発明は、請求項１に記載のプリンタにおいて、前記印刷制御手段は、前記印刷データに含まれる印刷コマンドのうち、前記印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する手段、を含むことを特徴とする。
【００１２】
請求項３記載の発明は、請求項１または請求項２に記載のプリンタにおいて、前記印刷コマンドテーブルには、前記プリンタに対応した印刷ドライバにより生成される印刷コマンドが登録されていることを特徴とする。
【発明の効果】
【００１３】
本発明のプリンタは、印刷データに含まれる印刷コマンドのうち、印刷コマンドテーブルに登録されていない印刷コマンドを除いて、印刷コマンドテーブルに登録されている印刷コマンドに対して印刷に関わる処理を実行する。これにより、非対応のプリンタドライバによって作成された印刷データなどに対しても、処理可能な部分に対しては、印刷結果を出力することが可能である。
【００１４】
また、本発明のプリンタは、印刷コマンドテーブルに登録されていない印刷コマンドを未対応コマンドとして記憶する。これにより、このプリンタが入力する未対応コマンドのリストを得ることが可能であり、メンテナンスにおいて有効利用することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本実施の形態に係るコンピュータシステムの全体図である。このコンピュータシステムは、パーソナルコンピュータ（以下、ＰＣとする）１と、プリンタ２とがＬＡＮ３を介して接続される構成となっている。
【００１６】
ＰＣ１は、制御部１１、操作部１２、モニタ１３、記憶装置１４、通信部１５を備えている。制御部１１は、ＣＰＵ、ＲＡＭなどを含み、各種のプログラム処理を実行することで、ＰＣ１の全体制御を行う。操作部１２は、キーボードやマウスなどを含み、制御部１１に各種の指示を入力する。モニタ１３は、たとえば、液晶表示パネルなどであり、各種の情報を表示する。
【００１７】
ハードディスクなどで構成される記憶装置１４には、プリンタドライバ３１がインストールされている。このプリンタドライバ３１は、プリンタ２に対応したプリンタドライバである。つまり、プリンタドライバ３１は、プリンタ２の製造元から提供されているプリンタ２を制御するためのソフトウェアである。通常は、プリンタ２を購入したときに、ＣＤ−ＲＯＭなどの記憶媒体に格納されてプリンタドライバ３１が提供される。あるいは、プリンタドライバ３１は、製造元会社のＷＥＢサイトからダウンロードすることにより得ることもできる。
【００１８】
通信部１５は、ＴＣＰ／ＩＰなどのプロトコルを利用して、ＬＡＮ３に接続されたプリンタ２や他のコンピュータとデータの送受信を行う処理部である。
【００１９】
プリンタ２は、制御部２１、印刷コントロール部２２、印刷部２３、通信部２４を備えている。制御部２１は、ＣＰＵ、ＲＡＭなどを含み、プリンタ２の全体制御を行う。印刷コントロール部２２は、印刷コマンドの解析や、印刷データのレンダリング処理などを実行する処理部である。
【００２０】
印刷処理の制御は、制御部２１により実行することも可能であるが、本実施の形態のプリンタ２は、制御部２１の処理負荷を小さくさせるため、印刷コントロール部２２により上記の各処理（コマンド解析処理やレンダリング処理など）を実行させるようにしている。たとえば、印刷コントロール部２２は、制御部２１が搭載されるメインボードとは別のオプションボードとして構成される。プリンタ２は、このオプションボードが搭載されることで、メインボード上の制御部２１の負荷を低減させ、プリンタ２のパフォーマンスを向上させることができる。
【００２１】
印刷コントロール部２２は、また、コマンド記憶部２２１と未対応コマンド記憶部２２２を備えている。コマンド記憶部２２１は、ＲＯＭで構成され、印刷コマンドテーブル４１を格納している。印刷コマンドテーブル４１には、このプリンタ２の仕様に適合した印刷コマンドが登録されている。上述したように、プリンタドライバ３１は、プリンタ２に対応した印刷制御ソフトウェアである。したがって、プリンタドライバ３１で生成される印刷コマンドは、全て印刷コマンドテーブル４１に登録されていることになる。
【００２２】
未対応コマンド記憶部２２２は、ＳＲＡＭで構成され、未対応コマンドテーブル４２を格納している。未対応コマンドテーブル４２には、このプリンタ２が入力した印刷コマンドであって、このプリンタ２が処理できなかった印刷コマンドが記録されている。つまり、印刷コントロール部２２は、印刷コマンドテーブル４１に登録されていない印刷コマンドを入力したときに、その印刷コマンドを未対応コマンドとして、未対応コマンドテーブル４２に追加する処理を行うのである。
【００２３】
印刷部２３は、印刷データを印刷用紙に印字出力する処理部である。印刷部２３は、制御部２１の制御により印刷処理を実行する。
【００２４】
以上のような構成のネットワークシステムにおいて実行される印刷処理の流れについて、図２のフローチャートを参照しながら説明する。
【００２５】
まず、プリンタ２における印刷処理を説明する前に、ＰＣ１における印刷データの生成処理を説明する。ユーザは、たとえば、ワープロソフト、表計算ソフトなどのアプリケーションソフトを利用して印刷対象のファイルを作成する。次に、ユーザは、作成した印刷対象のファイルの印刷指示を行う。
【００２６】
たとえば、ユーザが、操作部１２を操作し、アプリケーションソフトの操作メニューから印刷処理を選択すると、プリンタドライバ３１が呼び出される。プリンタドライバ３１は、モニタ１３に印刷ダイアログを表示する。ユーザは、この印刷ダイアログで各種の印刷設定を行い、印刷実行操作を行う。これにより、プリンタドライバ３１は、印刷対象のファイルを印刷データに変換して出力するのである。印刷データは、印刷記述言語で記述されたデータである。
【００２７】
プリンタドライバ３１により出力された印刷データは、通信部１５から送信され、ＬＡＮ３を介してプリンタ２の通信部２４により受信される。通信部２４により受信された印刷データは、制御部２１を介して印刷コントロール部２２に渡される。これにより、印刷コントロール部２２による印刷処理に遷移する。
【００２８】
まず、印刷コントロール部２２は、受信した印刷データに含まれる印刷コマンドの解析を行う（図２のステップＳ１）。
【００２９】
ここで、印刷コマンドは、ある程度の標準化が行われている。プリンタメーカによって、多少の仕様の違いがあるものの、基本的なフォーマットは共通的な仕様となっている。したがって、印刷コマンドの内容を解析することで、たとえその印刷データが他社製品のドライバで作成されているものであっても、印刷に関わるデータであるかどうかの判定を行うことはできる。
【００３０】
図３は、印刷コマンドの一例を示す図である。この印刷コマンドは、ＰＣＬ５ｅのコマンドフォーマットを示す。このコマンドは、“ＥＳＣ”という文字（Escape character）の後に、コマンドを特定する３つの文字（Parameterized character, Group character, Termination character）と、１つのパラメータ（Value Field）が記述されるフォーマットとなっている。このＰＣＬ５ｅのフォーマットのように、印刷コマンドのフォーマットはある程度の標準化が行われている。
【００３１】
コマンド解析の結果、処理対象のコマンドがコマンドフォーマットに一致していない場合（ステップＳ２でＮＯ）、つまり、標準化されている印刷コマンドフォーマットとは著しくフォーマットが異なる場合あるいは解読が不可能なような場合には、印刷コントロール部２２は、印刷データを破棄し（ステップＳ３）、エラーメッセージの印刷制御を行う（ステップＳ４）。これにより、印刷部２３から、エラーメッセージが印字出力され、エラー終了する。たとえば、「印刷データを処理することができませんでした。」といったメッセージが印字された用紙がトレイから出力される。
【００３２】
コマンド解析の結果、コマンドフォーマットに一致している場合（ステップＳ２でＹＥＳ）、つまり、印刷コマンドが解読可能な範囲にあり、標準化された印刷コマンドフォーマットに適合していると判定した場合、印刷コントロール部２２は、その印刷コマンドが処理可能なコマンドであるかどうかを判定する。具体的には、コマンド記憶部２２１に格納されている印刷コマンドテーブル４１を参照し、印刷コマンドテーブル４１に処理対象のコマンドと同じ印刷コマンドが登録されているかどうかを判定する（ステップＳ５）。
【００３３】
印刷コマンドテーブル４１に一致する印刷コマンドが存在する場合（ステップＳ５でＹＥＳ）、印刷コントロール部２２は、その印刷コマンドについてレンダリング処理を実行する（ステップＳ６）。
【００３４】
印刷コマンドテーブル４１に一致する印刷コマンドが存在しない場合（ステップＳ５でＮＯ）、印刷コントロール部２２は、未対応コマンドテーブル４２に、未対応コマンドが存在するかどうかを判定する（ステップＳ７）。つまり、初期状態や内容がクリアされた後は、未対応コマンドテーブル４２には、全く未対応コマンドが記録されていない状態となるが、そのような状態であるかどうかが判定される。
【００３５】
未対応コマンドテーブル４２に未対応コマンドが存在する場合（ステップＳ７でＹＥＳ）、処理対象の印刷コマンドが、未対応コマンドテーブル４２に記録されている未対応コマンドと一致するかどうかを判定する。そして、一致するものが存在する場合（ステップＳ８でＹＥＳ）、そのままステップＳ１０に遷移する。一致するものが存在しない場合には、処理対象のコマンドを未対応コマンドテーブル４２に追加する（ステップＳ９）。また、ステップＳ７において、未対応コマンドテーブル４２に未対応コマンドが存在しない場合にも、処理対象の印刷コマンドを未対応コマンドテーブル４２に追加する（ステップＳ９）。なお、未対応コマンドが検出されたことをプリンタ２が備える液晶表示部（図示せず）に表示させてもよい。あるいは、未対応コマンドが検出されたことを示すレポートを印刷出力するようにしてもよい。
【００３６】
このように、初めて入力した未対応コマンドについては、未対応コマンドテーブル４２に順次追加するようにしている。これにより、プリンタ２が、どのような未対応コマンドを入力しているかのＬＯＧが作成されるので、メンテナンス時に有効利用することができる。
【００３７】
解析したコマンドに対して、ステップＳ６でレンダリング処理が行われるか、あるいは、未対応コマンドとして処理された後（ステップＳ７〜Ｓ９）、印刷コントロール部２２は、１ページ分のレンダリングが完了したかどうかの判定を行う（ステップＳ１０）。１ページ分のレンダリングが完了していない場合には、ステップＳ１に戻り、次のコマンドの処理を実行する。１ページ分のレンダリングが完了した時点でステップＳ１１に移行する。
【００３８】
つまり、ステップＳ１〜Ｓ９の処理では、印刷コマンドテーブル４１に登録されている印刷コマンドについては、レンダリングを実行し、未対応コマンドについては、レンダリングは行わず、いずれの場合にもステップＳ１０に遷移する。そして、このような処理をコマンドごとに１ページ分繰り返し処理するのである。これにより、未対応コマンドを飛ばして、処理可能な印刷コマンドのみのレンダリングが１ページ分処理されることになる。
【００３９】
１ページ分の処理が完了すると（ステップＳ１０でＹＥＳ）、印刷コントロール部２２は、１ページ分の印刷処理を実行する（ステップＳ１１）。具体的には、印刷コントロール部２２は、レンダリングした印刷データを圧縮し、制御部２１に出力するのである。制御部２１は、印刷コントロール部２２から入力した１ページ部の印刷データを伸張し、印刷部２３に対する印刷制御を実行する。これにより、印刷部２３から１ページ分の印刷出力が行われる。なお、印刷コントロール部２２が、レンダリングした印刷データを圧縮することなく制御部２１に受け渡す処理形態であってもよい。
【００４０】
ここで、上記のように、この印刷データは、未対応コマンドを飛ばして処理されているので、処理可能な印刷コマンドのみが処理されている。したがって、ＰＣ１から受信した印刷データの中に未対応のコマンドが含まれている場合であっても、印刷エラーとすることなく、処理可能な部分だけが処理されるのである。従来であれば、ユーザは、「印刷できません」といったメッセージが表示された出力しか得ることができなかったが、このプリンタ２では、処理可能な部分については印刷結果を得ることができるのである。上述したように、印刷コマンドは多くの部分が標準化されている。したがって、ユーザは、仕様の異なるプリンタドライバを利用して印刷処理を実行した場合であっても、状況によっては、殆ど問題のない印刷結果を得ることもできるのである。
【００４１】
印刷コントロール部２２は、ステップＳ１１で１ページ分の印刷処理を終えると、印刷データに含まれる全てのコマンドについて処理が終了したかどうかを判定し（ステップＳ１２）、未処理のコマンドが残っている場合には、ステップＳ１に戻り上記の処理を繰り返すのである。全てのコマンドについて処理が終了すると、プリントジョブを終了する。
【００４２】
以上、説明したように、本実施の形態のプリンタ２を利用することで、ユーザは、他社製プリンタのプリンタドライバを利用しても、印刷結果を得ることができる。たとえば、プリンタに特有のコマンドが使用された場合には、一部その機能を利用できない場合などがあるが、描画に関するコマンドは、その多くが標準化されていることを考慮すると、ユーザにとって必要な印刷結果が充分に得られることが予想され、有効な機能である。
【００４３】
また、プリンタに多種のエミュレータ機能を持たせることなく、処理可能なコマンドだけを処理するという思想であるので、プリンタ自体のコストを高くすることなく、多種多様なプリンタドライバから出力された印刷データを処理可能である。
【００４４】
このように、本実施の形態のプリンタ２は、プリンタドライバとして他社製品を利用することが可能であるが、逆に言えば、プリンタ２を導入する際に、ユーザにプリンタドライバの変更を強制する必要がなくなるということである。従来であれば、オフィスに新しいプリンタが導入されれば、全てのＰＣに、対応プリンタドライバをインストールする必要があった。しかし、本実施の形態のプリンタ２では、その作業が絶対ではないため、新規プリンタの導入障壁を低減させることができるのである。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態に係るプリンタを含むネットワークシステムのブロック図である。
【図２】プリンタにおける印刷処理のフローチャートである。
【図３】印刷コマンドのフォーマット例を示す図である。
【符号の説明】
【００４６】
１      パーソナルコンピュータ（ＰＣ）
２      プリンタ
３      ＬＡＮ
２１    制御部
２２    印刷コントロール部
４１    印刷コマンドテーブル
４２    未対応コマンドテーブル
２２１  コマンド記憶部
２２２  未対応コマンド記憶部
【図１】
2008026930.tif 000003
【図２】
2008026930.tif 000004
【図３】
2008026930.tif 000005